免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: eye_onme
打印 上一主题 下一主题

读写文件不是效率很低的嘛,那么数据库为何效率高呢 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2005-04-18 20:58 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

原帖由 "sunsroad" 发表:


其一你见过的邮件系统有多大?你以为他在这个级别上可以跟数据库系统来比较吗?!

其二我告诉你,邮件系统也不是一个文件系统的概念,不选用数据库系统不是因为效率的问题,它有它自个的格式!附件是没有办法?.........


无论多大的邮件系统都不采用数据库存储邮件。国内有比sina更大的吗。
邮件系统就是是一堆文件组成的系统
邮件不选用数据库系统就是因为效率的问题。
邮件系统对数据操纵的要求非常高,你知道sina一天有上亿封邮件吗?
邮件系统的格式就是存文本,附件就是从文件中提取出来的。
数据库系统对人的交互比文件系统友好的多

真是难为你一个帖子能说出这么多错误,没一句对的。
而且你是不是脑子有问题,什么都不懂上来和谁都想吵架

论坛徽章:
0
62 [报告]
发表于 2005-04-18 23:48 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

[quote]原帖由 "sunsroad"]对于一个特定的设备,譬如说一个硬盘,你是很难通过软件的手法来提高他的性能的。我们能作的就是通过适当的算法提高其效率,尽量减少读写不需要的资料,将设备的性能尽可能的利用到有效的系统IO上面。这也就是为什么你会看到尽管大家都采用一家的硬盘,其他的规格也都一样或者是接近,但是却发现不同的厂家的存储会有不同的性能表现。[/quote 发表:

我很赞同这位兄台的这种观点,但是不敢苟同下面这种观点
[quote]原帖由 "sunsroad"]我可以以我得名誉断言,在规划合理的状况下,数据库系统的总体效率是必然的超过文件系统的(即使他的IO可能会慢一些,这个没有做过测试,不得而知),要不然的话既然已经有了文件系统为什么还要发展数据库系统?[/quote 发表:

我觉得用户选择数据库而不是文件,是因为易操作性,并发处理,安全,开发成本等方面的考虑,而不是效率高。

论坛徽章:
0
63 [报告]
发表于 2005-04-19 12:34 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

[quote]原帖由 "sunsroad" 发表:


其一你见过的邮件系统有多大?你以为他在这个级别上可以跟数据库系统来比较吗?!

其二我告诉你,邮件系统也不是一个文件系统的概念,不选用数据库系统不是因为效率的问题,它有它自个的格式!附件是没有办法

论坛徽章:
0
64 [报告]
发表于 2005-04-19 13:16 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

这样实验是合理的吧,

有一个100M数据库文件F1(足够大),
REBOOT系统确保它没有任何部分在OS BUFFER中,和在DATABASE BUFFER中。

1)然后有数据库将它打开,做一个复制操作,产生另一个内容相同的文件F2

重复REBOOT
2)用fread, fwrite, 或cp做一个复制操作。

看哪个快?DB速度和OS速度应该在一个级别上,或许还慢些。

至于你比较复制第10000个记录,那DB有索引,OS无,这不是IO的问题,而是应用程序设计问题。

论坛徽章:
0
65 [报告]
发表于 2005-04-19 20:58 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

好啊,开眼界,不过据我所知:
1、lotus notes就是利用数据库存放邮件的哦!
2、在海量数据处理时,无论谁快,都必须使用数据库!谁见过有人用系统文件存放海量数据并处理数据的?别说海量,超过几M的数据不用数据库就够你忙的!君不见光在桌面环境下就有许多数据库的使用吗?

  所以啊,在应用的角度来看,不必讨论谁的速度快了,系统的作用就是系统,数据库的作用就是数据处理!
  处理少量数据,你可以用系统文件,处理大量的数据,你不用数据库,那是你牛B!

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
66 [报告]
发表于 2005-04-20 00:19 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

notes不是利用数据库存放邮件的,所谓notes邮件数据库,类似outlook的邮件,就是一个文件非叫数据库也成,但和oracle完全不同。notes会有多少用户一般几十几百而已。yahoo,sina的几十T的邮件都是完全存文本储存,这个问思一克 版主。

建议版主把这个帖子置定大家讲些笑话解闷算了。
一个说要给做本质的比较,但是却说不懂数据库,那本质在哪里?
再一个2003-09-19注册,2005-04-19 发第一个帖子就是这个。但是这几天CU出问题,正常的上下页可是很难找出这个帖子的。这么准,真是T MD的太牛了。

论坛徽章:
0
67 [报告]
发表于 2005-04-20 02:24 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

单单比较速度是没有意义的,关键是什么才是数据库,什么是文件系统,两者之间本来就有不少灰色的区域,什么都不懂,也没有前提讨论这种问题实在是可笑

数据库要有事务?文件系统也有日志,也可以回滚,而且也有不支持事务的数据库。
数据库有索引?文件系统没有么?大家用的索引技术其实也没有本质区别,按照某种方式组织的树而已
数据库可以读裸设备?不少数据库只能基于文件,而且文件系统本身就是读写裸设备,搞不好比数据库更加底层,呵呵
数据库有SQL,方便查询?这个文件系统倒没有,不过不支持SQL的数据库倒有不少,尤其是SQL还没有出现以前,哈哈,那时候的所有数据库都不支持SQL
cache?什么没有cache?文件系统本身也是层层cache。。。

嘿嘿,要吵架的人先搞懂了自己想问什么,是什么数据库和什么文件系统,储存什么数据,主要是什么操作,然后再慢慢吵吧  

论坛徽章:
0
68 [报告]
发表于 2005-04-20 02:28 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

[quote]原帖由 "wangyih" 发表:


无论多大的邮件系统都不采用数据库存储邮件。国内有比sina更大的吗。
邮件系统就是是一堆文件组成的系统
邮件不选用数据库系统就是因为效率的问题。
邮件系统对数据操纵的要求非常高,你知道sina一天有上亿封

论坛徽章:
0
69 [报告]
发表于 2005-04-20 09:48 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

所以----有结论

1)DB的文件I/O不可能比OS快。
2)DB适合处理大量由记录构成的有关系的数据,文件系统不适合。

关于邮件系统---北京野狼 和PLAYMUD等说的对,

LOTUS NOTES存邮件其实不是DB,仅仅是MAILBOX的一种,就是将邮件存入一个大文件,他本质上不是数据库,仅仅名字而已。OUTLOOK EXPRESS, MS OUTLOOK都是如此做的。在邮件系统中,人们早以认识到,这是不好的办法,所以后来MAIL SERVER的格式大都由MAILBOX变为MAILDIR(直接用单独文件存放每个MESSAGE)。MAILDIR非常稳定,不怕掉电。MS为什么用MAILBOX? 因为邮件都比较小,如果用MAILDIR,硬盘90%空间会浪费。

还有MAIL系统的可靠性,和抗XXX性是DB无法比的。比如一个配置的好的MAIL系统,可以多少年不用人工干预,其可靠性和CISCO的路由器相同。DB系统,你胡乱关电开电可以吗。

至于丢邮件等问题,是有其他原因的,不是MAIL SERVER的文件系统引起。

论坛徽章:
0
70 [报告]
发表于 2005-04-20 11:41 |只看该作者

读写文件不是效率很低的嘛,那么数据库为何效率高呢

原帖由 "abcdfq" 发表:
好啊,开眼界,不过据我所知:
1、lotus notes就是利用数据库存放邮件的哦!
2、在海量数据处理时,无论谁快,都必须使用数据库!谁见过有人用系统文件存放海量数据并处理数据的?别说海量,超过几M的数据不用数..........


lotus notes最多算一个小型邮件服务,作为邮件服务放不上台面。

很多程序运行的时候都有临时文件会产生,没人会把这些信息往数据库里写作为为临时记录?因为慢!
操作系统的磁盘缓存有用文件的,有用裸设备的,为什么不用数据库?因为慢!

其实我们说数据库和文件系统的时候本身就有可能存在定义问题
干脆具体化,数据库中的oralce、mysql、mssql、db2等随便挑一个和文件系统中jfs、xfs、ufs、ext3、ntfs等相比,在相同的硬件环境中和操作系统环境中,往写数据库中读写10G的数据和文件系统中读写10G数据谁更快,数据随便组织。

最后为了重申不是说数据库不好,是数据库和文件系统都有自己适合的方面,作为单纯的读写效率来说,就是文件系统好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP