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

What is the simplest and fastest way of storing and querying simply-structured data?

为简单的任务管理应用程序(例如)存储和查询数据的最佳方式是什么?目标是为单个 EC2 实例以最少的资源消耗(CPU、磁盘、RAM)获得最大的性能。

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

关于 SQL 数据库,可以在这里找到有趣的基准:

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

SQLite 也很好,因为它只是磁盘上包含整个数据库的单个文件,您可以使用 SQL 语言访问数据库。

可以找到 No-SQL 的非常长且令人筋疲力尽的基准,即在这里:

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

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

长话短说 - 如果您为非常简单的小型数据库选择引擎,SQLite 可能是您想要使用的简约方法。如果你想建造更大的东西,首先要清楚你的需求。