Nosql 用于缓存二进制数据的键/值分布式数据库

Nosql 用于缓存二进制数据的键/值分布式数据库,nosql,key-value-store,aerospike,Nosql,Key Value Store,Aerospike,我正在寻找用于缓存小型二进制对象的分布式kv数据库,如带有TTL的图像。大小限制不是问题,因为我计划分割每个对象,以最小化延迟。我需要C++和java驱动程序,而且在不久的将来我也需要C++驱动程序。像CouchDb和Redis这样的数据库似乎是基于文档的。Mongo支持二进制数据并有很好的文档记录,但它是持久性的,我不确定它在吞吐量方面是否可扩展,Cassandra也是持久性的,我不确定C++/C#drivers quality+是否需要因为删除而不断修复 Aerospike是商业化的,也是基

我正在寻找用于缓存小型二进制对象的分布式kv数据库,如带有TTL的图像。大小限制不是问题,因为我计划分割每个对象,以最小化延迟。我需要C++和java驱动程序,而且在不久的将来我也需要C++驱动程序。像CouchDb和Redis这样的数据库似乎是基于文档的。Mongo支持二进制数据并有很好的文档记录,但它是持久性的,我不确定它在吞吐量方面是否可扩展,Cassandra也是持久性的,我不确定C++/C#drivers quality+是否需要因为删除而不断修复

Aerospike是商业化的,也是基于文档的。也许有内存或LealDB后端的Riak(任何人都用它的C++客户端)

(不是CouCHDB)对你来说是一个很好的选择。高度可扩展、易于理解、使用和扩展。这是一个从memcached演变而来的KV文档数据库,它还通过Map/Reduce提供了二级索引,并且很快就会有很多新的东西出现。您仍然可以使用memcached协议/库,或者使用Couchbase SDK来加速它。

(而不是CouchDB)是一个很好的选择。高度可扩展、易于理解、使用和扩展。这是一个从memcached演变而来的KV文档数据库,它还通过Map/Reduce提供了二级索引,并且很快就会有很多新的东西出现。您仍然可以使用memcached协议/库,或者使用Couchbase SDK来加速它。

您是否了解Pivotal GemFire是一个分布式数据管理平台,提供动态可扩展性、高性能和类似数据库的持久性

Pivotal GemFire在C++、C和java中也有客户端驱动程序,P>您已经看到了关键的GEMFILE是一个分布式数据管理平台,提供动态可扩展性、高性能和数据库持久性。

Pivotal GemFire在C++中有客户端驱动程序,C语言和java < /p> 将是一个完美的解决方案,原因如下:

服务于您的所有用例

  • 基于键值
  • 从3.0版本开源。之前,多达2个节点的Aerospike集群是开源的,3个或更多节点的集群是付费的
  • 可以在无持久性的缓存模式下使用
  • 支持LRU和TTL
  • 可以保存二进制数据 选择Aerospike的原因

  • 吞吐量:优于Mongo/Couchbase或任何其他NoSQL解决方案。看这个。 我个人认为,它可以同时处理超过300k的读TPS和100k的写TPS
  • 使用RIPEMD160自动高效地进行数据分片、数据重新平衡和数据分发
  • 故障切换和/或网络分区情况下的高可用系统 由于以下原因,这将是一个完美的解决方案:

    服务于您的所有用例

  • 基于键值
  • 从3.0版本开源。之前,多达2个节点的Aerospike集群是开源的,3个或更多节点的集群是付费的
  • 可以在无持久性的缓存模式下使用
  • 支持LRU和TTL
  • 可以保存二进制数据 选择Aerospike的原因

  • 吞吐量:优于Mongo/Couchbase或任何其他NoSQL解决方案。看这个。 我个人认为,它可以同时处理超过300k的读TPS和100k的写TPS
  • 使用RIPEMD160自动高效地进行数据分片、数据重新平衡和数据分发
  • 故障切换和/或网络分区情况下的高可用系统
    但在容量和网络方面,将二进制数据存储为文档不是有很大的开销吗?Couchbase允许您存储任何类型的值,您可以存储二进制内容、字符串。。。或JSON文档。唯一的限制是20Mb的大小。Couchbase是一个键值和一个文档数据库。但是从容量和网络的角度来看,将二进制数据存储为文档不是有很大的开销吗?Couchbase允许您存储任何类型的值,您可以存储二进制内容、字符串等。。。或JSON文档。唯一的限制是20Mb的大小。Couchbase是一个键值和文档数据库。Redis不是真正基于文档的,但它支持丰富的数据类型。Aerospike不是基于文档的。它支持用于存储二进制数据的blob数据类型。它有Java/C#/C驱动程序。Redis不是真正基于文档的,但它支持丰富的数据类型。Aerospike不是基于文档的。它支持用于存储二进制数据的blob数据类型。它有Java/C#/C驱动程序。