Instagram 开源了降低 Apache Cassandra 数据库延迟的改进版 Rocksandra 。Instagram 于 2012 年开始使用 Cassandra 来取代 Redis ,并将其广泛用于 fraud detection(反欺诈)、Feed 和 Direct inbox 等产品和服务中。在使用过程中,他们十分认可 Cassandra 的可靠性和可用性,但在读取延迟方面看到了改进空间。
去年,Instagram Cassandra 团队开始研究开发一个名为 “Rocksandra” 的项目,用以减少 Cassandra 的P99 读取延迟( 具体细节和过程可查阅博文 )。
下面的图表显示的是一个 Cassandra 集群的客户端延迟。蓝线代表的是平均读取延迟(5毫秒),橙线是 P99 读取延迟(在 25-60 毫秒的范围内,基于客户端流量出现大幅变动)。
调查发现,Cassandra P99 的延迟来自于 Java 的 Full GC ,而其原因主要是 Java 写的存储引擎。作为优化,Instagram Cassandra 团队往Cassandra 里加了一层存储层的 API ,并把存储引擎换成了 C++ 写的 RocksDB 。
优化后的 Rocksandra 提供了更低也更稳定(一致)的读写延迟:
只读工作负载(read-only workload)方面,在相似的 P99 读取延迟(2ms)下,Rocksandra 可提供 10 倍的读取吞吐量(Rocksandra 为 300K / s,Cassandra 3.0.X 为 30K / s)。
Instagram Cassandra 团队表示后续还将开发更多的 Cassandra 功能支持,如二级索引(secondary indexes)、修复等,并继续研究 Cassandra 的可插拔存储引擎体系结构 , 以回馈 Apache Cassandra 社区。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Instagram 开源降低 Cassandra 延迟的 Rocksandra
- [译] 让 Apache Cassandra 尾部延迟减小 10 倍,已开源
- 开源智能手机 Librem 5 的开发板延迟至8月份出货
- Dgraph v0.9.2 发布,低延迟的开源图数据库
- Dgraph v1.0.5 发布,低延迟的开源图数据库
- Dgraph v1.0.0 正式发布,低延迟的开源图数据库
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程语言实现模式
Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元
《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!