免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
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
51 [报告]
发表于 2005-04-15 11:24 |只看该作者

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

原帖由 "柳五随风" 发表:
:)

你能在DATABASE ENGINE里面测试?:),恐怕还是在应用级别上吧?:)

我说了,用DATABASE应用和本地文件系统相比较,不公平,即使要比较的话,也是要在海量数据级上比较.另外DATABASE是面向关系运算的,所以你也得在这..........


我不太理解,为什么不能在应用级别比较,而且为什么一定要比海量的.
测试两辆车那个跑的快当然去马路上跑,让我去比较发动机的好坏,我即没那能力,也没必要啊.

你肯定比我知道数据库存储数据的格式,大量数据的数据库和大量数据库的文件,比如文件格式,每行定长的,只要给一个类似数据库索引的信息,去第几行找,肯定也比数据库快得多

论坛徽章:
0
52 [报告]
发表于 2005-04-16 12:35 |只看该作者

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

文件系统和数据库文件这是两回事,数据库的文件可以建立在文件系统上也可以建立在RAW 设备上。如果建立在文件系统上,数据库的读写必然要经过文件系统,这样比没有可比性。

论坛徽章:
0
53 [报告]
发表于 2005-04-18 10:43 |只看该作者

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

[quote]原帖由 "fengwy"]文件系统和数据库文件这是两回事,数据库的文件可以建立在文件系统上也可以建立在RAW 设备上。如果建立在文件系统上,数据库的读写必然要经过文件系统,这样比没有可比性。[/quote 发表:


其实很多时候非常需要比较的.系统设计时候,很多时候需要选择信息是存储在数据库里面还是在文件里.

论坛徽章:
0
54 [报告]
发表于 2005-04-18 13:46 |只看该作者

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

原帖由 "北京野狼" 发表:


我不太理解,为什么不能在应用级别比较,而且为什么一定要比海量的.
测试两辆车那个跑的快当然去马路上跑,让我去比较发动机的好坏,我即没那能力,也没必要啊.

你肯定比我知道数据库存储数据的格式,大量?.........

个人支持这种观点,也对这位兄台的风格很欣赏。
这个问题争起来其实没有多大的意思,数据库也好,文件也好,说起都是一样的东西,数据库不也是文件吗?所以从应用的角度上来看,数据库读写相对直接文件读写来说要做许多额外的工作,所以看上去直接操作文件更快,我们的应用除非必要否则就不用数据库,效率确实低,我们的数据也不算多,一般不会过亿,
说数据库好的同志不要生气,这是肯定的因为数据库的锁很浪费资源,而且日至也占用资源,这里并不是说数据库慢,尽管它的确慢,但是慢是有原因的。
谁能举例说明数据库比操作文件快?有索引的情况下查询数据吗?还是别的?
楼上的楼上的楼上。。说什么本质了,本质是什么?还不是存储的读写速度?

论坛徽章:
0
55 [报告]
发表于 2005-04-18 17:15 |只看该作者

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

原帖由 "北京野狼" 发表:


你有什么理论就说出来,没话说就回家去睡觉。


我申明:恕我不与井蛙鼓噪。

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

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

首先,我希望大家搞清楚我们所讨论的本质:不是说数据库将系统I/O的速度提高,而是说其效率要高过文件系统,这两者是有区别的。对于一个特定的设备,譬如说一个硬盘,你是很难通过软件的手法来提高他的性能的。我们能作的就是通过适当的算法提高其效率,尽量减少读写不需要的资料,将设备的性能尽可能的利用到有效的系统IO上面。这也就是为什么你会看到尽管大家都采用一家的硬盘,其他的规格也都一样或者是接近,但是却发现不同的厂家的存储会有不同的性能表现。数据库跟文件系统也有这方面的区别。如果你可以认可并理解NTFS跟UFS或者VXFS有不同的效率的话,你就应该可以明白文件系统跟数据库之间的差别。

其次,我认为大家在讨论一个事情的时候,能够首先了解事物的本质,能够明白我们是在说什么事情,在把事物的什么特性做比较。其实如前面那位兄弟说的,可能你在读写操作一个记录的时候感觉文件系统更加快一些,但是你并没有将你所做的测试环境描述出来:你的数据库是用的裸设备还是文件系统?如果是文件系统的话,那这是很明确的,数据库一定不会快过文件操作。因为你在打开数据库的时候首先要打开文件,也就是说:你所说的数据库的操作时间其实是文件操作跟数据库操作的总和。还有,丢开这个不说,你设计的这个试验也是有问题的:打开与关闭一个文件并不是数据库的全部,当然也不是文件系统的全部,还有很多其他的事情要做,譬如插入、检索,删除。对于一个事物的好坏应该全面的分析其每一个特性之后作出全面的判断,而不是断章取义的进行极端情况下的诡辩。我可以以我得名誉断言,在规划合理的状况下,数据库系统的总体效率是必然的超过文件系统的(即使他的IO可能会慢一些,这个没有做过测试,不得而知),要不然的话既然已经有了文件系统为什么还要发展数据库系统?!用户好象也没有都那么傻,花几十万去买一个无用的东西。我知道你要问的问题,裸设备,既然裸设备快,为什么不用裸设备?!因为裸设备的管理太麻烦,或者是因为用户的问题:他根本就没有管理裸设备的能力,或者是因为人的问题:即使是能管理裸设备,但他不想那么麻烦,或者是其他的原因:譬如用户要求利用文件系统进行数据库系统的备份,等等。不用裸设备是有理由的。

再次,其实文件系统跟数据库之间也是有一些相似的东西的,他们之间虽然有很大的区别,但也会有很多关系。不管是使用文件系统,还是使用裸设备。跟文件系统一样,数据库也是对其上层(下层)的设备(裸设备或者是文件系统)的一个抽象,是在其上层(下层)设备上建立的一个数据结构。只是他的组织比我们在具体的语言中学习到的结构更加复杂一些。

最后,我还是建议大家在分析这个问题之前,把数据库跟文件系统的本质的东西了解一下。我相信一旦你真正的理解了他们的本质,你就会认同我的这句话:数据库实质上也是一个特殊的文件系统,只是其重点不在跟人交互,而是在跟数据库管理系统交互。


注:其一我是搞系统的,不是搞数据库的,所以我不通晓数据库的管理知识。所以不要跟我讨论如何管理数据库系统。其二我这里提到的效率就是指数据库系统在操纵数据方面的效率,请大家不要再做引深,任何引深恕我不作回应。其三,我愿跟任何愿意理性的考虑问题,文明交流的朋友进行真诚的交流,但对于无礼的冒犯恕我将...。

论坛徽章:
0
57 [报告]
发表于 2005-04-18 17:31 |只看该作者

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

请教各位一个基础问题
linux下怎样创建一个direct I/O的文件系统?

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

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

原帖由 "sunsroad" 发表:
首先,我希望大家搞清楚我们所讨论的本质:不是说数据库将系统I/O的速度提高,而是说其效率要高过文件系统,这两者是有区别的。对于一个特定的设备,譬如说一个硬盘,你是很难通过软件的手法来提高他的性能的。我们能作的就是通过适当的算法提高其效率,尽量减少读写不需要的资料,将设备的性能尽可能的利用到有效的系统IO上面。这也就是为什么你会看到尽管大家都采用一家的硬盘,其他的规格也都一样或者是接近,但是却发现不同的厂家的存储会有不同的性能表现。数据库跟文件系统也有这方面的区别。如果你可以认可并理解NTFS跟UFS或者VXFS有不同的效率的话,你就应该可以明白文件系统跟数据库之间的差别。

其次,我认为大家在讨论一个事情的时候,能够首先了解事物的本质,能够明白我们是在说什么事情,在把事物的什么特性做比较。其实如前面那位兄弟说的,可能你在读写操作一个记录的时候感觉文件系统更加快一些,但是你并没有将你所做的测试环境描述出来:你的数据库是用的裸设备还是文件系统?如果是文件系统的话,那这是很明确的,数据库一定不会快过文件操作。因为你在打开数据库的时候首先要打开文件,也就是说:你所说的数据库的操作时间其实是文件操作跟数据库操作的总和。还有,丢开这个不说,你设计的这个试验也是有问题的:打开与关闭一个文件并不是数据库的全部,当然也不是文件系统的全部,还有很多其他的事情要做,譬如插入、检索,删除。对于一个事物的好坏应该全面的分析其每一个特性之后作出全面的判断,而不是断章取义的进行极端情况下的诡辩。我可以以我得名誉断言,在规划合理的状况下,数据库系统的总体效率是必然的超过文件系统的(即使他的IO可能会慢一些,这个没有做过测试,不得而知),要不然的话既然已经有了文件系统为什么还要发展数据库系统?!用户好象也没有都那么傻,花几十万去买一个无用的东西。我知道你要问的问题,裸设备,既然裸设备快,为什么不用裸设备?!因为裸设备的管理太麻烦,或者是因为用户的问题:他根本就没有管理裸设备的能力,或者是因为人的问题:即使是能管理裸设备,但他不想那么麻烦,或者是其他的原因:譬如用户要求利用文件系统进行数据库系统的备份,等等。不用裸设备是有理由的。

再次,其实文件系统跟数据库之间也是有一些相似的东西的,他们之间虽然有很大的区别,但也会有很多关系。不管是使用文件系统,还是使用裸设备。跟文件系统一样,数据库也是对其上层(下层)的设备(裸设备或者是文件系统)的一个抽象,是在其上层(下层)设备上建立的一个数据结构。只是他的组织比我们在具体的语言中学习到的结构更加复杂一些。

最后,我还是建议大家在分析这个问题之前,把数据库跟文件系统的本质的东西了解一下。我相信一旦你真正的理解了他们的本质,你就会认同我的这句话:数据库实质上也是一个特殊的文件系统,只是其重点不在跟人交互,而是在跟数据库管理系统交互。


注:其一我是搞系统的,不是搞数据库的,所以我不通晓数据库的管理知识。所以不要跟我讨论如何管理数据库系统。其二我这里提到的效率就是指数据库系统在操纵数据方面的效率,请大家不要再做引深,任何引深恕我不作回应。其三,我愿跟任何愿意理性的考虑问题,文明交流的朋友进行真诚的交流,但对于无礼的冒犯恕我将...。


除了发表了一个观点实在不知道,打这么多字干吗。
没看出说出什么本质啊。

但你这句话是完全错误的理解。你见过邮件系统采用数据库存储邮件的吗?

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

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

原帖由 "wangyih" 发表:


除了发表了一个观点实在不知道,打这么多字干吗。
没看出说出什么本质啊。

但你这句话是完全错误的理解。你见过邮件系统采用数据库存储邮件的吗?


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

其二我告诉你,邮件系统也不是一个文件系统的概念?它有它自个的格式!附件是没有办法从文件中提取出来的!!我并没有告诉你什么都要用数据库系统,因为数据库系统对人的交互并不友好,它所擅长的是数据的操纵?我可以告诉你邮件系统对数据操纵的要求是很低的!!

希望你在回复的时候能够看清楚帖子的意思,为一个意识形态争吵是短视的,更是可悲的。


其次,我怕你根本就不了解什么是文件系统,跟你的讨论不会有什么结果的:对牛弹琴而已。所以我后面拒绝跟你讨论,这个观念我已经在我发表的第二贴表达了,自重!!

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

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

原帖由 "wangyih" 发表:


除了发表了一个观点实在不知道,打这么多字干吗。
没看出说出什么本质啊。

但你这句话是完全错误的理解。你见过邮件系统采用数据库存储邮件的吗?


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

其二我告诉你,邮件系统也不是一个文件系统的概念,不选用数据库系统不是因为效率的问题,它有它自个的格式!附件是没有办法从文件中提取出来的,从数据库中提取有成本的考量!!我也并没有告诉你什么都要用数据库系统,因为数据库系统对人的交互并不友好,它所擅长的是数据的操纵?我可以告诉你邮件系统对数据操纵的要求是很低的!!既然数据库系统不能给它带来什么好处,又要增加费用,为什么一定要选用数据库系统?!!

希望你在回复的时候能够看清楚帖子的意思,怕是你根本就没有看完我的帖子。为一个意识形态争吵是短视的,更是可悲的。我拒绝这种争吵。


其次,我怕你根本就不了解什么是文件系统,既然如此跟你的讨论也不会有什么结果:对牛弹琴而已。所以我后面拒绝跟你讨论,这个观念我已经在我发表的第二贴表达了,自重!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP