一个低延迟、基于云的 KVS
Anna 是一种低延迟、自动扩展的键值存储系统,由 UC Berkeley 的 RISE Lab 开发。
Anna 的核心设计目标是避免昂贵的锁定和无锁原子指令,这些指令最近被证明是极其低效的(http://www.jmfaleiro.com/pubs/latch-free-cidr2017.pdf)。Anna 采用了一种无等待、共享式的架构,系统中的每个线程都拥有一个私有内存缓冲区,并且可以不受协调的限制地处理请求。为了解决潜在的冲突更新,Anna 将所有用户数据封装到 格子 数据结构中,这些数据结构具有关联、交换和等值的合并函数。因此,对于能容忍稍微过时的数据的工作负载,Anna 提供了出色的性能。更详细的系统设计和无协调一致性机制描述,以及与其他先进系统的评估和比较,可以在我们的 ICDE 2018 论文 中找到。
Anna 还设计为一个云原生的自动扩展系统。在集群中部署时,Anna 附带一个监控子系统,用于跟踪工作负载量,并通过三个关键策略决策做出响应: (1) 水平弹性,可在集群中添加或删除资源; (2) 热键的选择性复制; (3) 在两个存储层(基于内存和磁盘)之间移动数据,以实现成本效率。这使 Anna 能够保持极低的延迟,同时比 AWS DynamoDB 等系统节省了数量级的成本。有关系统的云原生设计的更详细描述,请参阅我们的 VLDB 2019 论文。
要在本地运行 Anna KVS,您首先需要安装其依赖项,可以使用 hydro-project/common 仓库中的 install-dependencies*.sh 脚本,该仓库是本仓库的子模块。您可以使用 `scripts/bui
暂无开放 Issues,或尚未同步最近议题。