用于缓存二进制数据的键/值分布式数据库 [英] Key/Value distributed database for caching binary data

查看:79
本文介绍了用于缓存二进制数据的键/值分布式数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找分布式 kv 数据库来缓存小的二进制对象,比如带有 TTL 的图像.大小限制不是问题,因为我打算无论如何拆分每个对象,以最大限度地减少延迟.我需要 C# 和 Java 驱动程序,在不久的将来我还需要 C++ 驱动程序.像 CouchDb 和 Redis 这样的数据库似乎是基于文档的.Mongo 支持二进制数据并且有据可查,但它是持久的,我不确定它在吞吐量方面是否可扩展,Cassandra 也是持久的,我不确定 C++/C# 驱动程序的质量 + 由于删除而需要不断修复.

I am looking for distributed kv database for caching small binary objects, like images with TTL. Size limitation is not a problem, as I am planning to split each object anyway, to minimize latency. I need C# and Java drivers, and in very near future I will also need C++ driver. The databases like CouchDb and Redis seems to be document based. Mongo supports binary data and well documented, but it is persistent and I am not sure it is scalable in terms of throughput , Cassandra is also persistent and I am not sure about C++/C# drivers quality + need for constantly repair because of deletions.

Aerospike 是商业的,也是基于文档的.也许 Riak 带有内存或 leveldb 后端(有人使用过它的 C++ 客户端吗?)

Aerospike is commercial and also document based. Maybe Riak with memory or leveldb backend (anyone worked with its C++ client?)

推荐答案

Aerospike 将是一个完美的解决方案您因为以下原因:

Aerospike would be a perfect solution for you because of below reasons:

为您的所有用例提供服务

  1. 基于键值.
  2. 从 3.0 版本开始开源.早些时候,最多 2 个节点的 Aerospike 集群是开源的,并且支付了 3 个或更多节点的集群.
  3. 可以在没有持久性的缓存模式下使用.
  4. 支持 LRU 和 TTL.
  5. 可以保存二进制数据.

选择 Aerospike 的原因

  1. 吞吐量:优于 Mongo/Couchbase 或任何其他 NoSQL 解决方案.请参阅此 http://www.aerospike.com/benchmark/.亲眼看到它在超过 300k 读取 TPS 和 100k 写入 TPS 的同时运行良好.
  2. 使用 RIPEMD160 自动高效地进行数据分片、数据重新平衡和数据分配.
  3. 发生故障转移和/或网络分区时的高可用性系统.
  1. Throughput: Better than Mongo/Couchbase or any other NoSQL solution. See this http://www.aerospike.com/benchmark/. Have personally seen it work fine with more than 300k read TPS and 100k Write TPS concurrently.
  2. Automatic and efficient data sharding, data re-balancing and data distribution using RIPEMD160.
  3. Highly Available system in case of Failover and/or Network Partitions.

这篇关于用于缓存二进制数据的键/值分布式数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆