扩展this thread - 我只想知道为什么从文件系统而不是 MySQL 数据库检索文件更快。如果一个人要对两者进行基准测试,看看哪个能在 10 分钟内检索到最多的数据(多种类型的数据)- 哪个会获胜?
如果文件系统确实更快,那么为什么不将所有内容都存储在文件系统中并用 csv 或 xml 替换数据库?
编辑 1:
我为 alternate storage options for java 找到了一个很好的资源
编辑 2:
我正在寻找一个 Java API/Jar,它具有使用 XML 进行数据存储(最好)的 SQL 数据库服务器引擎(或至少其中的一部分)的功能。如果你知道什么,请在下面发表评论。
最佳答案
归根结底,数据库确实只是将数据存储在文件系统中。让您决定使用数据库的是原始数据之上的所有有用内容。
如果您可以使用 CSV 复制数据库系统的功能、可伸缩性、稳健性、完整性等,并且仍然使其比关系数据库执行得更快,那么是的,我建议您这样做你的方式。
虽然你需要几年时间才能到达那里。
当然,关系系统并不是存储数据的唯一方式。有面向对象的数据库系统( db4o 、 InterSystems Cache )和基于文档的系统( RavenDB )。
性能还与您正在处理的数据的类型和数量以及您打算用它做什么有关 - 我什至不打算尝试讨论这个问题,它太开放了。
我也不会开始后续讨论:如果内存真的比文件系统快,为什么不把所有东西都存储在内存中呢? :-)
这似乎也类似于我很久以前回答的另一个问题:
Is C# really slower than say C++?
基本上,事情并不总是只是为了性能。
关于java - 为什么文件系统存储比 SQL 数据库更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816681/