最新的Apache Cassandra 4.0版本中的创新和改进显著的提升了性能和可靠性,降低了使用成本,也极大的优化了用户体验。本文将分别从三种不同类型的企业级Cassandra用户画像的角度展开看看4.0版本的优化与提升。
01
Apache Cassandra 简介
Apache Cassandra是一个开源的分布式实时数据库。凭借着优秀的可扩展性,高可用性和性能表现,Cassandra已经成为越来越多企业用户的数据库产品首选,也成为处理许多关键任务数据的完美平台。
02
针对企业CTO的改进
简化了改进版变更数据捕获(Change Data Capture)集成
变更数据捕获(CDC)允许数据库轻松的集成到更广阔的数据生态系统。这些集成通过在孤岛之间共享数据来推动企业中的数据移动。Cassandra 4.0通过在commit log日志写入的同时索引日志,从而创建了实时的CDC。这样既提高了性能,又从核心日志实现中抽象出来,极大的便利了CDC工具和用户。
对恶意客户端限流以减少“嘈杂的邻居(Noisy Neighbor)”问题
一直以来,行为不端的客户端其实是数据库面临的严峻问题。Cassandra以往都是平等对待所有的客户端请求,且都默认为是善意和均衡的。Cassandra 4.0则引入了客户端的限制作为反压(Backpressure)功能的一部分。每一个IP用来执行命令的内存都得到了管理和限制。所以当一个客户端的内存到达上限,Cassandra 4.0会用反压机制减速执行命令或者使集群向该客户端报错。
扩展具备合规性审计日志的用例
将审计日志添加到Cassandra使高度合规的工作负载部署成为可能。本着高性能,高精度,高可用性和可延展性的目的,Netflix贡献了审计日志相关的代码。Cassandra 4.0的高度可配置的审计日志可以从文件大小、位置、格式、乃至命令类型等方面达到公司内部的合规性需求以及一些例如SOX,PCI和GDPR等的规定。
更低的计算资源总体拥有成本(TCO)与更高吞吐量
Cassandra 4.0在延迟和吞吐量上的提升可以使同类型硬件的性能提升25%至70%,从而显著减少计算节点或服务器之类的计算资源的总体拥有成本。企业级用户便可以用更少的硬件部署升级版的集群。
长期支持Java 11
Java 11早在2018年便已面世,但之前Cassandra一直没有利用Java 11的优越性。4.0版本可以极大的得益于Java 11的垃圾回收的改进,并在Java 17发布之前会长期支持Java 11。
03
针对程序开发人员的改进
吞吐量提升25%-70%
相比3.11版本,4.0版本的Cassandra提高了25%-70%的吞吐量,从而处理相同工作负载的硬件数量要求得以下降。在压实操作时降低高达50%的内存分配和Java 11带来的新垃圾回收算法是两大主要的驱动因素。
对尾部延迟有高达7倍的改善
尾部延迟指的是处理小分比请求的延迟,与创建“快速数据”的用户体验息息相关。数据证明,尾部延迟是影响企业用户收入的重要因素。相比3.11版本,4.0版本可以达到原来1/7的尾部延迟。这是Cassandra的重要突破,也是提高企业用户面向客户的产品体验的绝佳机会。
反压机制(Backpressure)下可验证的峰值性能
除了防止恶意客户端,来自 Cassandra 集群的反压消息还允许客户端动态且可验证地将集群推至峰值性能。Cassandra 4.0 增加了一个反压系统,当单个客户端使系统过载或整个节点过载时,该系统将回推(pushback)给客户端。数据证明,这里反压系统的改进可以提高80%的数据吞吐量。
04
针对运维/SRE工程师的改进
更优的稳定性与更高效的压实操作
通过将压实操作期间的内存分配减少多达 80%,Cassandra 节点的稳定性得到了极大的提高。与压实相关的不稳定的主要原因是过多的内存分配导致 Java 垃圾收集增加,从而导致更高的延迟和降低的吞吐量。Cassandra 4.0 中的压实增强可以处理大量小分区的工作负载,从而减少了Java暂停的进程时间,提高了节点的稳定性。
通过增量修复实现可靠的快速修复
修复是指Cassandra检查集群中所有数据来消除集群中的不一致性。增量修复可以显著缩短硬盘和CPU用来修复的时间。Cassandra 4.0解决了增量修复中一些故障模式,使操作人员进一步降低了对硬盘和CPU的要求。
通过虚拟表(Virtual Table)得到更优的可观测性
扩展了的虚拟表包含了数据模式,配置和指标,创建了一种与Cassandra交互与管理的一站式解决方案,使得对Java管理扩展(JMX)的访问需求不再是必须的。有了对虚拟表和CQL的访问权限,用户能够更轻易观察集群,查找数据模式以及执行查询,达到更轻松管理集群的目的。
通过完整查询日志(Full Query Logging)的负载重放
工作负载捕捉是排查产品问题,复杂迁移和测试新系统的重要工具。Cassandra 4.0加入了完整查询日志(FQL),确保了整个产品的工作负载可以被捕捉以及被流畅的重放。
05
更多内容
如果您在升级过程中需要帮助,请考虑 DataStax 专业服务。如果您需要为您的 Cassandra 操作员和开发人员提供持续技术支持方面的帮助,请订阅 DataStax Luna。
点击蓝字 关注我们
DataStax 为寻求现代化数据平台的组织和寻求开发现代应用程序的开发人员开发 Cassandra OSS 的商业版本并为其提供技术支持。
DataStax Astra 是旨在简化云原生应用程序开发的 Cassandra 托管服务。非常适合想要开发现代应用程序但不想运维自己的数据库的组织。开发人员可以免费使用。
DataStax Enterprise 是适用于需要从 RDBMS 实现数据现代化或将其无序生长的各种 NoSQL 数据库统一到一个平台的企业。非常适合喜欢负责自己的数据库运维的组织。
本文内容版权归DataStax所有
未经书面允许禁止转载
本文图片均来自网络,版权归原作者所有
推荐阅读
K8ssandra——专为Kubernetes云原生数据而生
DataStax Astra –- 云端的Cassandra
存储附带索引(SAI)全新上线
Stargate入门
Cassandra 4.0新特性介绍
Apache Cassandra使用报告2020

DataStax在中国
技术资讯 | 行业动态 | 活动信息
阅读这篇文章有收获?
请通过点赞、分享和在看告诉我们






