Instagram 开源降低 Cassandra 延迟的 Rocksandra

栏目: 数据库 · 发布时间: 6年前

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 社区。 


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

查看所有标签

猜你喜欢:

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

史蒂夫·乔布斯传

史蒂夫·乔布斯传

[美] 沃尔特·艾萨克森 / 管延圻、魏群、余倩、赵萌萌、汤崧 / 中信出版社 / 2011-10-24 / 68.00元

这本乔布斯唯一授权的官方传记,在2011年上半年由美国出版商西蒙舒斯特对外发布出版消息以来,备受全球媒体和业界瞩目,这本书的全球出版日期最终确定为2011年11月21日,简体中文版也将同步上市。 两年多的时间,与乔布斯40多次的面对面倾谈,以及与乔布斯一百多个家庭成员、 朋友、竞争对手、同事的不受限的采访,造就了这本独家传记。 尽管乔布斯给予本书的采访和创作全面的配合,但他对内容从不干......一起来看看 《史蒂夫·乔布斯传》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试