ApacheCon 2019 Cassandra分会各大议题深度剖析,解读cassandra前沿工作

简介: NGCC 2019摘要 下一代Cassandra会议(NGCC)是ApacheCon 2019大会中的一场分会。 它是由开发人员,贡献者,提交者,驱动程序作者以及对Apache Cassandra开发感兴趣的人组成的年度会议,他们可以聚在一起讨论Cassandra项目的技术和社区发展方向。

NGCC 2019摘要

下一代Cassandra会议(NGCC)是ApacheCon 2019大会中的一场分会。 它是由开发人员,贡献者,提交者,驱动程序作者以及对Apache Cassandra开发感兴趣的人组成的年度会议,他们可以聚在一起讨论Cassandra项目的技术和社区发展方向。NGCC今年在德克萨斯州圣安东尼奥举行。

这次讨论和讨论很大程度上是由大型运营商推动的,这些运营商也为Cassandra代码库做出了巨大贡献,与往年相比,我们发现在Cassandra的可管理性,稳定性和性能方面进行了大量工作。

自从Datastax宣布退出该项目以来,这个NGCC是第一个社区大会。尽管如此,很高兴看到许多Datastax受雇的贡献者以私人身份来到NGCC。

以下是本人为各位带来每个演讲主题的播报,全量的演讲稿下载地址:https://github.com/ngcc/ngcc2019

RocksDB的可插拔存储可显著提高性能

头条是可插拔存储和RocksDB存储引擎。使用RocksDB会将大量存储引擎代码移入C实现中,这将大大降低GC压力,这将能达到Scylla级别的p95延迟低。我不确定性能会提高多少(Instagram仅以20mbps的恒定磁盘I / O负载为基准),但我可能会猜测会有明显的改善。可插拔存储的优点在于,它为集成许多不同和新的存储技术(例如内存存储)开辟了道路。

目前进展

以支持的功能

  • Most of non-nested data types
  • Table schema
  • Point query
  • Range query
  • Mutations
  • Timestamp
  • TTL
  • Deletions/Cell tombstones
  • Streaming
  • Multi-partition query
  • Snapshot
  • Cleanup
  • Truncate
  • Partition deteltion
  • SSTableloader
  • Secondary indexes

将要支持的功能

  • Nested data types
  • Counters
  • Range tombstone
  • Materialized views
  • SASI
  • Row level tombstone
  • Anti-entropy repair

可以看到截至目前为止,还有大量的工作需要做,离真正release还会有一段时间

cassandra sidecar

sidecar主要想解决系统可运维问题,cassandra运维都是通过内核加上待外工具支持,sidecar目标是一站式运维平台,提供如下监控或运维能力

  • Bootstrap and data movement
  • Maintenance
  • Configuration (files, jmx)
  • Monitoring/Metrics
  • Backup/Restore
  • Repair

这方面商业公司做的比较出名的有datastax OpsCenter, 奈飞的CDE self service。开源市场方面方案很多,但互有优缺点,这方面sidecar想做到事实上的统一。如果急需运维平台,可以了解下当前一些开源方案对比
image

sidecar是一个web一站式平台,核心的做法还是通过cassandra内核的jmx接口操作数据库。

CASSANDRA AT INSTAGRAM 2019

该talk先介绍cassandra在INSTAGRAM 怎么使用的,然后着重介绍了改进
我们先来看第一部分怎么使用的,cassandra在instagram大规模部署,拥有

  • 1000个实例
  • 数千万QPS
  • 数百个产品在使用
  • PB级别数据
  • 5个以上数据中心
  • 3.0版本
  • RocksDB 引擎

主要的使用场景有

  • metadata存储中心,类似分布式版mysql
  • 时序数据
  • counter计数器,我们知道instagram有很多点赞,转发数等。

改进可分为这几个部分

  • Pluggable Storage Engine
    instagram把wal,sstable,memtable,compation部分抽象出一个存储引擎层,这样,这个引擎可以被各种实现替代,如我们所知的,有部分rocksdb引擎,将来还可以抽象出一个纯内存版,做一个内存数据库。

  • Global Data Partition
  1. 数据中心全球分布,同样cassandra集群数据也是分布全球的,INSTAGRAM验证了cassandra作为在线数据库很合格。
  • Large scale Cassandra cluster
    大集群下gossip协议很容易产生网络风暴,造成消息堵塞,IG对gossip协议做了大量优化,尽可能的减少gossip消息包,使得大集群成为可能
  • Gateway
    拆解了cordinate角色能力,在社区版cordinate要承担一致性协调角色,还有本地存储节点,IG做法分别拆成独立进程,这样可分开部署,如cpu使用的比较满的节点就不部署cordinate了。
  • Manageability
    主要讲的是IG大范围使用cassandra多dc容灾方式,说明多dc容灾是非常成熟靠谱的。

Row level repair

repair是cassandra比较重要的运维操作,用于探测各副本数据不一致,并修复这种不一致。
这次scylla为我们带来的了行级别的修复改进,当前开源版repair有着各种不足,比如时下稳定版本仍不建议使用增量修复,repair是一个比较重的操作,要以partition粒度,构建出整个merkle tree进行比较,用户使用场景中单partition往往过大,数G,scylla的talk说单partition数据不一致概率很大,并且修复过程需要先找到不一致(checksum),然后streaming阶段修复,需要两次读操作。这个过程效率很低。他们重新设计了行级别的repair,完全摈弃掉了merkle tree方案。
整体思想:
行是在每个节点里是全局有序的,scylla思想就是按行粒度分页顺序scan,先数据对齐,把对齐的行数据加载到内存buffer里面,然后为每行数据计算md5值,在多副本之间由主节点进行数据校正,得出一个全集。再将各副本数据子集推往各副本的working buffer。通过合理的使用内存,即使行数据不一致,也可保证只读一次。

How Netflix Debugs and Fixes Apache Cassandra ... when it breaks

Netflix带来了如何运维,诊断集群,作为该系统的管理员或者运维同学可以重点看看,讲的是如何诊断系统,找出问题的rootcause,里面很多知识点其实都是需要多年系统知识积累,非常推荐相关从业同学看看,能大大提升问题诊断的准确率。但不太适合在本文中展开,不多过阐述了。

How Netflix manages petabyte scale Apache Cassandra in the cloud

Netflix 有自己的一站式运维平台,可以做到很好的监控报警,在sidecar那章节也提到CDE self service,本讲讲的是cassandra如何基于cde自助平台运维PB级别数据,可惜cde做的再好,也没面向大众用户开放,还是静静等待sidecar release吧。对于志在自研运维平台的客户,到时可以了解下哪些是急需解决的痛点。

Next Generation Cassandra Compaction, Going beyond LCS

对于LSM引擎我们知道compaction一直是个痛点,有读写放大问题。该talk主要阐述了主流的size Tiered,Leveled compaction两大策略一些优缺点,谁更优。一般而言leveled要比size有更好的读性能,以及有更好磁盘使用率。
该talk后半程讲述如何设计出下一代compaction,整个设计目标会变成一个目标函数求最优解问题,有一些数学功底的同学可以看看

结语

整个大会为我们展示了当前cassandra社区一些前沿工作,以及cassandra未来一些改进方向。期待这些改进能够尽快落地,造福我们这些终端用户,同时也欢迎个人开发者及各大公司回馈社区,积极参与构建繁荣的社区生态。

入群邀约

为了营造一个开放的 Cassandra 技术交流环境,社区建立了微信群公众号和钉钉群,为广大用户提供专业的技术分享及问答,定期开展专家技术直播,欢迎大家加入。另外阿里云提供免费Cassandra试用:https://www.aliyun.com/product/cds
8a55f5a99463a7276265074b1079d74f4ab3d164

相关文章
|
11天前
|
缓存 人工智能 数据可视化
GLM 5.2自托管完整实操指南:硬件选型、vLLM/SGLang部署与成本测算全解
GLM 5.2作为国产标杆级开源大模型,采用753B MoE混合专家架构,单次推理仅激活8个专家模块,原生支持百万Token超长上下文,在代码生成、复杂数学推理、长篇文档分析等场景综合能力突出。企业选择GLM 5.2本地/私有云自托管,核心收益在于数据完全不出域、模型可深度定制、长期算力成本可控,但落地需要解决硬件匹配、推理框架适配、性能调优、成本核算四大核心难题。同时,搭配OpenClaw、Hermes两类主流AI智能体,可搭建完整本地自动化工作流,结合阿里云百炼Token Plan云端订阅方案,形成本地私有化+云端弹性混合使用架构。本文完整覆盖GLM 5.2硬件分级方案、两大主流推理框架部
296 1
|
12天前
|
人工智能 并行计算 物联网
2026年Stable Diffusion下载+安装+使用教程(超详细版本)收藏这一篇就够了!
本文详解Windows平台Stable Diffusion秋葉整合包(v4.11.1)的本地安装与使用,含Cuda/AMD HIP双支持、ControlNet及LoRA模型配置,无需Python基础,仅需100–200GB空间,新手也能快速上手AI绘画。
|
8月前
|
机器学习/深度学习 人工智能 搜索推荐
数据中台的进化之路:从“管数据”到“懂业务”
数据中台的进化之路:从“管数据”到“懂业务”
467 3
|
4月前
|
人工智能 安全 Java
给“氛围编程”系上安全带:阿里集团 AI 代码评审实践与 Benchmark 开源
阿里集团历时一年半、经数万亿Token真实场景打磨,推出AI代码评审助手,实现人机协作新范式:AI接管基础评审,人类聚焦核心风险。联合南京大学开源业界首个支持10语言、具备仓库级上下文感知的CodeReview Benchmark(AACR-Bench),由80+资深工程师多轮交叉标注,显著提升隐性缺陷检出率。
给“氛围编程”系上安全带:阿里集团 AI 代码评审实践与 Benchmark 开源
|
5月前
|
缓存 JSON 算法
懂车帝item_get - 获取详情数据接口对接全攻略:从入门到精通
懂车帝`item_get`接口是获取车辆全维度数据的核心API,支持实时、结构化返回参数、配置、图片、价格、评测及用户评价等信息,提供Python/Java/PHP多语言SDK与缓存、异步、批量等高级功能,助力汽车类应用高效集成。
|
4月前
|
人工智能 机器人 Linux
小龙虾 OpenClaw 一人团队搭建指南:阿里云/本地部署+集成钉钉+Seedance2.0 打造全自动AI漫剧工作室
“一个人如何日更3条漫剧视频?”——这是2026年内容创作者的核心诉求。参考文章作者“刀哥”通过实战验证,用OpenClaw联动钉钉AI表格与Seedance2.0,搭建起全自动化漫剧生产流水线:每天8:30自动抓取爆款榜单、分析热门要素、生成分镜脚本、产出视频成片,全程无需人工干预,真正实现“一人即团队”。
3081 3
|
10月前
|
机器学习/深度学习 算法 物联网
面向能效和低延迟的语音控制智能家居:离线语音识别与物联网集成方案——论文阅读
本文提出一种面向能效与低延迟的离线语音控制智能家居方案,通过将关键词识别(KWS)集成至终端设备,结合去中心化Mesh网络与CoAP协议,实现本地化语音处理。相较云端方案,系统能耗降低98%,延迟减少75%以上,显著提升响应速度与能源效率,为绿色智能家居提供可行路径。(236字)
929 17
面向能效和低延迟的语音控制智能家居:离线语音识别与物联网集成方案——论文阅读
|
5月前
|
人工智能 JavaScript API
OpenClaw(Clawdbot)1分钟云上及本地Windows部署:配置阿里云百炼Coding Plan,实现算力自由
2026年,OpenClaw(原Clawdbot)作为开源AI代理框架的领军者,凭借自然语言驱动、多任务自动化的核心优势,成为个人提效与开发者工作流优化的必备工具。但用户普遍面临一个痛点:Token消耗过快,算力成本居高不下。有用户反馈,仅用OpenClaw搭配Obsidian运行一小时创作工作流,账单就高达78元;复杂Agent任务的Token消耗量更是直线飙升,让不少用户陷入“想用又不敢多用”的困境。
1475 4
|
机器学习/深度学习 人工智能 自然语言处理
原来AI也能“读心术”?——聊聊AI在心理学研究中的那些突破
原来AI也能“读心术”?——聊聊AI在心理学研究中的那些突破
541 1
|
缓存 Windows
电脑小白必看:C 盘满了怎么清理?软件搬到 D 盘的超简单步骤
C盘空间不足导致电脑卡顿?试试这些方法优化!首推FreeMove工具,不到1MB,简单两步搬软件,解放C盘空间。此外,清理临时文件、转移用户文件夹至D盘、调整虚拟内存位置、使用符号链接等技巧也能有效缓解压力。注意:系统核心目录不可移动,操作前请备份重要数据,确保安全!
2125 5