我正在寻找用于缓存小二进制对象的分布式kv数据库,例如使用TTL的图像。大小限制不是问题,因为我计划分割每个对象,以最小化延迟。我需要C#和Java驱动程序,在不久的将来我还需要C ++驱动程序。像CouchDb和Redis这样的数据库似乎是基于文档的。 Mongo支持二进制数据并且有很好的文档记录,但它是持久性的,我不确定它在吞吐量方面是否可扩展,Cassandra也是持久的,我不确定C ++ / C#驱动程序的质量+由于删除而需要不断修复。
Aerospike是商业的,也是基于文件的。也许Riak有内存或leveldb后端(任何人都在使用它的C ++客户端?)
答案 0 :(得分:4)
Aerospike对您来说是完美的解决方案:
提供所有用例
选择Aerospike的原因
答案 1 :(得分:2)
Couchbase(不是CouchDB)对你来说是个不错的选择。高度可扩展,易于理解,使用和扩展。它是一个从memcached发展而来的KV文档数据库,它还通过Map / Reduce提供二级索引,很快就会有很多新东西。您仍然可以使用memcached协议/库或使用Couchbase SDK加速它。
答案 2 :(得分:0)
你看过Pivotal GemFire Pivotal GemFire是一个分布式数据管理平台,提供动态可扩展性,高性能和类似数据库的持久性。
Pivotal GemFire还有C ++,C#和Java
的客户端驱动程序