Anna 超高性能键值存储数据库

开源网站开源项目 24-04-05 10:12:01

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

[Anna 超高性能键值存储数据库]相关推荐

WizNote 为知笔记跨平台客户端

WizNote,为知笔记跨平台客户端。是一款免费软件:您可对它进行重新分配,或根据免费软件基金会(Free So……...

FileCentipede开源下载软件

FileCentipede开源下载软件

FileCentipede 是一个多功能的文件上传/下载管理器,支持多种协议,包括 BitTorrent、WebDAV、FTP 和 SS……...

Barbican OpenStack 的 REST API

Barbican 是为安全储存、配置和隐私管理而设计的REST API,它主要目的是使用于所有环境,包括大规模临时……...

今日开源
  1. AppCan 移动应用引擎

    AppCan 移动应用引擎

    AppCan一站式移动开发服务平台,自主研发 国内首创 混合开发 跨平台适配,具有UI快速开发框架、本地功能调用API接口、应用打包系统、IDE集成开发环境和本地应用调试模拟器,预置数百套界面模板和数十种应用插件……

    开源软件 2024-05-13

  2. Paladin Web游戏技术平台

    Paladin 是 Mozilla 社区推出的一个开源的 Web 游戏引擎技术。 Paladin sits at the intersection of 3D gaming, JavaScript framework and library development, and the browser. We're tied into the bits of t……

    开源软件 2024-05-12

  3. VUX 移动端 UI 组件库

    VUX 移动端 UI 组件库

    Vux(读音 [v'ju:z],同views)是基于 WeUI 和 Vue(2.x) 开发的移动端UI组件库,主要服务于微信页面。 基于webpack+vue-loader+vux可以快速开发移动端页面,配合vux-loader方便你在WeUI的基础上定制需要的样……

    开源软件 2024-05-12

返回顶部小火箭