Instagram 开源降低 Cassandra 延迟的 Rocksandra

栏目: IT资讯 · 发布时间: 8年前

内容简介:Instagram 开源了降低 Apache Cassandra 数据库延迟的改进版 Rocksandra 。Instagram 于 2012 年开始使用 Cassandra 来取代 Redis ,并将其广泛用于 fraud detection(反欺诈)、Feed 和 Direct inbox 等产品和...

Instagram 开源了降低 Apache Cassandra 数据库延迟的改进版 Rocksandra 。Instagram 于 2012 年开始使用 Cassandra 来取代 Redis ,并将其广泛用于 fraud detection(反欺诈)、Feed 和 Direct inbox 等产品和服务中。在使用过程中,他们十分认可 Cassandra 的可靠性和可用性,但在读取延迟方面看到了改进空间。

去年,Instagram Cassandra 团队开始研究开发一个名为 “Rocksandra” 的项目,用以减少 Cassandra 的P99 读取延迟(具体细节和过程可查阅博文)。

下面的图表显示的是一个 Cassandra 集群的客户端延迟。蓝线代表的是平均读取延迟(5毫秒),橙线是 P99 读取延迟(在 25-60 毫秒的范围内,基于客户端流量出现大幅变动)。

Instagram 开源降低 Cassandra 延迟的 Rocksandra

Instagram 开源降低 Cassandra 延迟的 Rocksandra

调查发现,Cassandra P99 的延迟来自于 Java 的 Full GC ,而其原因主要是 Java 写的存储引擎。作为优化,Instagram Cassandra 团队往Cassandra 里加了一层存储层的 API ,并把存储引擎换成了 C++ 写的 RocksDB 。

优化后的 Rocksandra 提供了更低也更稳定(一致)的读写延迟:

Instagram 开源降低 Cassandra 延迟的 Rocksandra

Instagram 开源降低 Cassandra 延迟的 Rocksandra

只读工作负载(read-only workload)方面,在相似的 P99 读取延迟(2ms)下,Rocksandra 可提供 10 倍的读取吞吐量(Rocksandra 为 300K / s,Cassandra 3.0.X 为 30K / s)。

Instagram 开源降低 Cassandra 延迟的 Rocksandra

Instagram 开源降低 Cassandra 延迟的 Rocksandra

Instagram Cassandra 团队表示后续还将开发更多的 Cassandra 功能支持,如二级索引(secondary indexes)、修复等,并继续研究  Cassandra 的可插拔存储引擎体系结构以回馈 Apache Cassandra 社区。 


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Operating Systems

Operating Systems

Remzi Arpaci-Dusseau、Andrea Arpaci-Dusseau / Arpaci-Dusseau Books / 2012-8-19 / USD 21.00

A book about modern operating systems. Topics are broken down into three major conceptual pieces: Virtualization, Concurrency, and Persistence. Includes all major components of modern systems includin......一起来看看 《Operating Systems》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具