Cassandra - A Decentralized Structured Storage System——论文阅读

SIGOPS 2010 Paper 分布式元数据论文阅读笔记整理

问题

Facebook生产环境中,在大量基础设施(数千个组件)上运行的分布式存储系统可能面临各种故障,因此,软件系统需要以一种将故障视为规范而非例外的方式进行构建,如何在这种情况下保证可靠性和可扩展性,同时保证不牺牲读性能下保证高写入吞吐量。

背景

在生产环境中运行的存储系统的体系结构非常复杂,除了实际的数据持久性组件外,该系统还需要具有以下特性;负载平衡、成员身份和故障检测、故障恢复、副本同步、过载处理、状态转移、并发和作业调度、请求编组、请求路由、系统监控和报警、配置管理的可扩展和稳健的解决方案。

本文重点关注Cassandra中使用的核心分布式系统技术:分区、复制、成员身份、故障处理和扩展。所有这些模块同步工作以处理读/写请求。通常,对密钥的读/写请求会被路由到Cassandra集群中的任何节点,节点确定该密钥的副本。对于写入,系统将请求路由到副本,并等待仲裁的副本来确认写入的完成。对于读取,基于客户端所需的一致性保证,系统将请求路由到最近的副本,或者将请求路由至所有副本,并等待仲裁响应。

本文方法

提出Cassandra,一种分布式存储系统,用于管理分布在许多商品服务器上的大量结构化数据,提供无单点故障的高可用性服务。

  • 管理持久状态,提高了依赖该服务的软件系统的可靠性和可扩展性。

  • 不支持完整的关系数据模型,为客户端提供了一个简单的数据模型,支持对数据布局和格式的动态控制。

划分

使用一致性哈希和环划分数据到不同节点。为了负载均衡,分析环上信息,并让轻负载节点在环上移动,以减轻重负载节点。

复制

每个数据都在N个主机上复制,包括多种复制策略:Rack Unaware、Rack Aware(在数据中心内)、datacenter Aware。

成员

成员基于Scuttletter[19],一种基于反熵Gossip的机制,具有非常高的CPU利用率和gossip频道利用率。

故障检测

通过故障检测,节点可以本地确认其他节点的接入和离开, 同时避免与无法访问的节点通信。通过节点的故障检测块发送值来判断,不发出值则节点处于接入或离开状态,发出的值表示节点的网络和负载状态。

自举

节点首次启动时会在环中选择随机位置,并获得令牌,随后令牌在集群中传播以通知其他节点。

集群缩放

新节点加入后会从旧节点分取部分数据,并通过内存复制技术传到新节点。

本地持久化

依赖本地文件系统实现数据持久性,利用顺序写入的提交日志实现。

查找时首先查询布隆过滤器,随后查询索引,最后查找磁盘上的文件。

实现细节

单机上主要包含以下进程:分区模块、成员身份和故障检测模块、存储引擎模块。系统控制消息利用UDP传输,用于复制和请求路由的应用程序消息利用TCP传输。

数据请求流程:(1)识别拥有数据的节点(2)将请求路由到节点并等待响应到达(3)如果响应没有在配置的超时值内到达,则使请求失败并返回到客户端(4)基于时间戳计算出最新响应(5)如果它们没有最新的数据,则在任何副本处安排数据修复。

清除提交日志项的机制:滚动提交日志,在旧的提交日志超过特定的、可配置的大小后,将滚动新的提交日志。默认用128MB。

基于主键对所有数据进行索引,磁盘上的数据文件分解为一系列块,每个块最多包含128个键,并且由块索引来划分。

总结

对Facebook中分布式存储系统Cassandra进行介绍,介绍各种实现的大概思路,包括:数据划分、复制、成员身份和故障检测、集群缩放、本地持久化、数据请求流程。

相关推荐
m0_6501082431 分钟前
RTO-LLI:低重叠大尺寸无人机影像的鲁棒实时定向方法
论文阅读·三维建模·应急响应·无人机slam·低重叠大尺寸·影像实时处理·无人机高效测绘
程途拾光1582 小时前
工业管道水流量示意图设计
论文阅读·人工智能·信息可视化·流程图·课程设计
程途拾光1583 小时前
化工工艺流程图绘制教程_在线制作食品/制药/机械工艺流程模板
论文阅读·信息可视化·流程图·课程设计·论文笔记
觉醒大王15 小时前
如何让综述自然引出你的理论框架?
论文阅读·深度学习·学习·自然语言处理·学习方法
觉醒大王21 小时前
医学好投的普刊分享
前端·论文阅读·深度学习·学习·自然语言处理·学习方法
c0d1ng1 天前
一月第四周周报(论文阅读)
论文阅读
m0_650108241 天前
FeatureSLAM:实时特征增强的 3D 高斯溅射 SLAM 技术
论文阅读·智能机器人·语义理解·featureslam·高斯实时建图·多尺度特征嵌入
何如千泷2 天前
【论文阅读】Invasive carcinoma segmentation in whole slide images usingMS-ResMTUNet
论文阅读·wsi·病理图像分割
狐572 天前
2026-01-20-论文阅读-Can-1B-LLM-Surpass-405B-LLM?
论文阅读·笔记
静听松涛1332 天前
信息系统规划到上线全流程指南
论文阅读·面试·职场和发展·流程图