Anna超高性能键值存储数据库
Anna 是伯克利 RISE 实验室推出的键值存储数据库,也是一个具备惊人的存取速度、超强的伸缩性和优秀的一致性的 KVS。
Anna 的性能和伸缩性主要归功于它的完全无协调机制,节点工作进程有 90% 的工作负载是在处理请求,而其他大部分系统(如 Masstree 和英特尔的 TBB)只有不到 10% 的时间在处理请求,它们其余的 90% 时间花在了等待协调上。不仅如此,其他系统因为使用了共享内存,还会出现处理器缓存击穿问题。
Anna 不仅速度快,在一致性方面也达到了很高的水准。多年前,他们发布的事务协议 HATs 就已表明,无协调的分布式一致性和事务隔离性存在很大的提升空间,包括级联一致性和读提交事务级别。Anna 将 Bloom 的单格子组合设计模式移植到了 C++ 中,是第一个实现了上述所有级别一致性的系统。当然,也是因为设计上的简洁,才能达到如此快的速度。
Anna 架构
上图是 Anna 单节点的架构图。Anna 服务器由一系列独立的线程组成,每个线程运行无协调的 actor。每个线程对应一个 CPU 核心,线程数量不超过 CPU 的总核数。客户端代理负责将远程请求分发给 actor,每个 actor 都有一个私有的哈希表,这些哈希表存放在共享内存中。线程间的变更通过内存广播进行交换,而服务器间的变更则通过 protobuf 进行交换。
参考:https://mp.weixin.qq.com/s/3WmGpZkEuSz-ox_2CPCsqg
论文原文:http://db.cs.berkeley.edu/jmh/papers/anna_ieee18.pdf
评论
Redis超高性能 key-value 数据库
Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,
Redis超高性能 key-value 数据库
0
ZXKVStoreiOS 键值存储
ZXKVStore是一个简单易用的键值数据存储。 使用:println(ZXKV["homepage"]) //nil ZXKV["homepage"] = "http://www.z
ZXKVStoreiOS 键值存储
0
IonDB键值数据库
IonDB专为Arduino和IoT提供开箱即用的,基于磁盘的快速存储功能,为受限系统提供键值存储功能,速度非常快,可以充分提升Arduino的性能。这个项目是英国哥伦比亚的奥肯那根大学RamonLa
IonDB键值数据库
0
Storehaus异步键值存储
Storehaus是一个能够让异步键值存储更加方便的开发工具。Storehaus是基于Twitter'sFuture所建立的。Storehaus的核心模块定义了三个特征:只读ReadableStore
Storehaus异步键值存储
0