为什么文件系统存储比SQL数据库更快

Thr*_*eaT 4 java mysql filesystems post storage

扩展这个线程 - 我只想知道为什么从文件系统而不是MySQL数据库中检索文件的速度更快.如果要对两者进行基准测试,看看哪个会在10分钟内检索到最多的数据(多种类型的数据) - 哪一个会赢?

如果文件系统真的更快,那么为什么不将所有内容存储在文件系统中并用csv或xml替换数据库?

编辑1:

为java的备用存储选项找到了一个很好的资源

编辑2:

我正在寻找一个Java API/Jar,它具有SQL数据库服务器引擎(或至少其中一些)的功能,它使用XML进行数据存储(最好).如果您知道某事,请在下面留言.

Ada*_*rth 13

在一天结束时,数据库将数据只存储在文件系统中.除了使您决定使用数据库的原始数据之外,它是所有有用的东西.

如果您可以使用CSV复制数据库系统的功能,可伸缩性,健壮性,完整性等,并且仍然使其比关系数据库执行得更快,那么我建议您按照自己的方式进行操作.

你需要几年才能到达那里.

当然,关系系统不是存储数据的唯一方法.有面向对象的数据库系统(db4o,InterSystems Cache)和基于文档的系统(RavenDB).

性能也与您正在使用的数据的样式和数量以及您打算用它做什么相关 - 我甚至不会尝试讨论它,它太开放了.

我也不会开始讨论如下:如果内存真的比文件系统快,为什么不把所有东西都存储在内存中呢?:-)

这似乎与我很久以前回答的另一个问题类似:

C#真的比说C++慢吗?

基本上并不总是为表现而做.

  • @ThreaT你混合了不同的层:SQL是一种非常抽象的方法来查询和构造数据.从理论上讲,它不仅可以被开发人员使用,还可以被分析师,数据库使用.存储是一个不同的层 - 这就是为什么有许多不同的数据库引擎都能理解SQL.对于单个数据点,只使用文件系统会更快,但数据库为您提供统一的方法来构建,优化和复制查询与数据 (2认同)