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 超高性能键值存储数据库]相关推荐

Exposed Kotlin 的轻量级 ORM

Exposed 是 Kotlin 实现的轻量级 ORM,也是 JetBrains 和 Kotlin 官方倾力推荐的 ORM。 该 ORM 十分轻量……...

GRR 远程现场取证系统

GRR 远程现场取证系统

GRR 是 Google 开发的远程现场事件取证系统。GRR 由一个代理(客户端)和服务器端组成,客户端可以部署在……...

今日开源
  1. rage 加密工具

    rage 是一个简单、现代、安全的文件加密工具,使用 age 格式。它的特点是小的显式密钥,没有配置选项,以及UNIX风格的可组合性。 Usage: rage [--encrypt] -r RECIPIENT [-i IDENTITY] [-a] [-o OUTPUT] [INPUT] ……

    开源软件 2024-05-17

  2. Yac PHP 内容缓存

    Yac 是为PHP实现的一个基于共享内存, 无锁的内容CacheYac的两个应用场景:1.让PHP进程之间共享一些简单的数据2.高效地缓存一些页面结果假设PHP以PHP-FPM运行,Yac和Pcache缓存的用户内容User Cache就像Opcache一样,……

    开源软件 2024-05-17

  3. MRM MariaDB 和 MySQL 复制拓扑管理

    MRM,即 MariaDB and MySQL Replication Management ,是管理 MariaDB 10.x 和 MySQL&Percona Server 5.7 GTID 复制拓扑的高可用解决方案。 主要特性 复制监视 拓扑检测 从属掌控升级(切换) 主从选举故障检……

    开源软件 2024-05-17

返回顶部小火箭