【发布时间】:2012-05-04 06:28:09
【问题描述】:
我们有用于 RDBMS 的 SQLite,但是否有任何基于磁盘的、轻内存使用的键值数据库?换句话说,可以在少量内存和较大数据量上运行的键值对存储。我想在可用内存不多的低功耗机器上使用它。
看来BerkeleyDB 和LevelDB 都是选项。
【问题讨论】:
我们有用于 RDBMS 的 SQLite,但是否有任何基于磁盘的、轻内存使用的键值数据库?换句话说,可以在少量内存和较大数据量上运行的键值对存储。我想在可用内存不多的低功耗机器上使用它。
看来BerkeleyDB 和LevelDB 都是选项。
【问题讨论】:
看看MemcacheDB。
【讨论】:
听起来您正在寻找一种基于磁盘的键值对存储,即使数据无法放入内存也能保持高性能。
就像@Ofer Zelig 提到的,快是相对的。但我认为查看给定数据库的性能基准和操作指南会有所帮助。许多,包括Redis,都指定您应该提供足够的内存,以便所有数据(或所有索引)都可以放入内存中。对于某些应用程序而言,这可能会导致成本过高。
我建议看看 FoundationDB。其默认的storage engine 'ssd' 是为不适合内存的大型数据库设计的。 performance benchmarks 都使用了一个不适合 RAM 的大型数据集,因此您可以查看它是否足够快。
作为奖励,FoundationDB 旨在作为分布式集群运行并支持多种数据模型。
全面披露:我是 FoundationDB 的工程师。
【讨论】: