我们有一个具有以下参数的数据库:
- 30k 条记录,7mb 大小
- 20 次插入/秒
- 1000 次更新/秒
- 1000 个范围选择/秒,按二级索引,每个大约 10 行
- 至少需要一个二级索引
- 如果 key 在 75 秒内没有更新,则需要一些机制使 key 过期(可以通过编程垃圾收集器完成,但需要额外的“last_update”索引并增加一些负载)
- 不需要一致性
- 不需要耐用性
- db应该存储在内存中
目前我们使用 Redis,但它没有二级索引,而且 keys index:foo:*
太慢了。 Membase 也没有二级索引(据我所知)。 MongoDB 和 MySQL 内存引擎具有表级锁。什么引擎适合我们的用例?
最佳答案
尝试使用http://tarantool.org/ 它有二级索引并且完全在内存中。 它还使用快速异步 IProto 协议(protocol)。
事实证明,它稳定且速度极快。
关于mongodb - NoSQL数据库引擎如何选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976327/