Cassandra分布存储系统简介.PDFVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cassandra分布存储系统简介

中国月期刊咨询网 Cassandra 分布存储系统简介 库的数据结构,并且简要分析了其分区技术在分布存储系统中的应用,同时,介绍了基于数据的复制机制来达到数据 。 【关键词】:分布存储,网络,数据库。 前言 写操作,与此同时不会牺牲读操作的效率,因而确保具有这种特性的商业网站能够为客户提高高效便捷的服务。 简介 向数亿的用户提供服务,而Facebook数万台的服务器也遍布了全世界的各个数据中心。基于以上对海量数据处理的需 求,Facebook想要为用户提供优质的、可靠的和高效的服务,一个必要的条件在于其系统平台应具有高度的扩展性以 应对不断增长的用户数量和数据处理需求数量。因此,处理一个包含大量组件的系统可能出现的各种异常现象是Face book系统平台维护人员的常规工作:在任意时间点上,总会有少量却很关键的服务器和网络组件出现错误。在这种 情形下,软件系统应该以某种容错的机制处理错误,而不是将错误当作异常来处理。因此,为了达到以上指出的系统 的可靠性和扩展性,Facebook开发了Cassandra。 数据结构 在Cassandra这种分布存储系统中,类似于关系数据库中的表结构是一个多维分布映射图,并且以一个主键作为索引。 在这种映射图中,一个对象的值是高度结构化的,其中,行主键是一个没有长度限制的字符串——通常情况下为16-3 6个字节。需要注意的是,在数据的任一副本中,针对任何一个行主键的操作都是原子的,即使多个列被同时读或者 ColumnFamily。下面详细介绍Cassandra的列结构。 Column 一个Column是一个包含名称、值和时间戳的元组。它是最小的数据容器,其中,名称和值通常没有长度限制。Colu mn相当于关系数据库中的字段,不同的是,每一行中的Column内容可以不同,而关系数据库中一张表内每行所对应 的列字段都是相同的。这种方式相对比较灵活,对于具有少量字段,并且访问时通常只需要通过Key/Value配对的数 据非常适用。 SuperColumn ColumFamily 名称(类似于关系数据库表的名称),和若干行。在每一行中,分别包含各自的key(类似于行主键)和值(value) ——包含多个Column的映射表,其结构与之前介绍的SuperColumn一致。 API Cassandra的API提供如下三种方法:  insert(table;key;rowMutation) 中国月期刊咨询网  get(table;key;columnName)  delete(table;key;columnName) 的名称。 系统架构 一个存储系统的结构通常比较复杂,除去保证真实数据持久性的必要组件,存储系统还应该具有如下特性和功能:扩 过程中,所应用的核心分布存储技术主要包括:存储空间分区,数据复制,伙伴关系管理,错误处理和系统扩展增容 ,所有的这些模块协同工作,一起处理用户的读写请求。以下分别介绍在Cassandra中应用的各种分布存储技术。 1. 分区(partition) 定量的数据。新加入的数据以某种方式被分配到系统中的任一节点中。当数据量不断增多时,可以通过增加节点的书 只会改变一个局部的存储状况。以上存储方式的实现是通过动态分区的方式达到的,下面详细介绍这一技术。 为了达到以上目标,存储系统应该可以将数据动态的分配给集群中的不同的节点,或者说能够动态的对存储空间进行 分区,并将节点存入。Cassandra使用一致性哈希函数对数据进行分区:哈希函数的输出范围是一个固定的圆环空间, 称为“ring”。在这个圆环中,最大的哈希输出值与最小的哈希输出值相毗邻。系统中的任一节点被分配一个随机的 值,这个随机的值代表了其在圆环空间上的位置。同时,对任一的数据的Key值做哈希运算,输出的结果代表这个数 据在圆环空间上的位置。与此同时,从任一数据在圆环上的位置为起点,沿着圆环顺时针移动找到第一个节点,那么 这个节点即为负责这个数据的存储容器。因此,圆环空间上的任一节点都负责存储其前一个节点和它之间的所有数据 。这样的好处是增加或者删除一个节点只会影响其周围的小范围空间,而对圆环空间上的绝大多数其他节点没有任何 问题的方法是分析圆环空间上的各节点的负载情况,并且使信息负荷量比较小的节点向负荷量比较大的节点移动,以 缓解其存储压力。 2. 复制 行复制,每个Key值,k,会被指定给集群中的一个节点。如前所述,每个节点负责

文档评论(0)

tangtianxu1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档