我正在开发一个包含大型科学数据集的数据库。典型的使用场景是每天大约有 5GB 的新数据被写入数据库;每天还会删除 5GB。数据库总大小约为 50GB。我正在运行的服务器将无法将整个数据集存储在内存中。
我已经构建了数据库,使得主数据表只是一个键/值存储,由一个唯一的 ID 和一个值组成。
查询通常针对大约 100 个连续值,例如。SELECT Value WHERE ID BETWEEN 7000000 AND 7000100;
我目前正在使用 MySQL / MyISAM,这些查询大约需要 0.1 - 0.3 秒,但最近我开始意识到 MySQL 可能不是大型键/值存储的最佳解决方案。
在我开始安装新软件和重写整个数据库之前,我想大致了解一下在使用 NoSQL DB(例如 Tokyo Tyrant、Cassandra、MongoDB)而不是MySQL 用于这些类型的检索。
谢谢