存储和查询简单结构化数据的最简单,最快捷的方法是什么?

时间:2015-06-04 22:39:04

标签: sql json key-value-store data-access nosql

为简单的任务管理应用程序(例如)存储和查询数据的最佳方法是什么?目标是以最小的资源消耗(CPU,磁盘,RAM)为单个EC2实例提供最高性能。

1 个答案:

答案 0 :(得分:1)

这还取决于用例 - 它是具有多次读取还是多次写入的数据库?当您谈论任务管理时,您必须知道您期望的记录数量,以及是否需要更多INSERT或更多SELECT等。

关于SQL数据库,可以在此处找到interresting benchmark:

基准测试显示SQLite在很多情况下可能非常快,但在某些情况下也无效。 (不幸的是,基准不是最新的,但仍然可能有帮助)

SQLite在磁盘上只包含整个数据库的单个文件的方式也很好,你可以使用SQL语言访问数据库。

可以找到No-SQL的很长时间和耗尽的基准,即:

了解数据库引擎也很好,即在使用MySQL时,请在MyISAM和InnoDB之间仔细选择(好的答案在这里What's the difference between MyISAM and InnoDB?)。

如果您只想优化性能,可以考虑使用硬件资源进行优化(如果您从数据库中读取很多内容并且没有那么多写入,则可以缓存数据库(innodb_cache_size) - 如果您有足够的RAM,你可以从RAM读取整个数据库。

所以长话短说 - 如果你选择一个非常简单和小型数据库的引擎,SQLite可能是你想要使用的简约方法。如果你想建立更大的东西,首先要明确你的需求。