- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cassandra架构与应用For Cassandra 0.7.0淘宝网 文茂Agenda基础知识数据模型数据分布策略存储机制数据读写删最终一致性Gossiper面向未来NoSql背景 随着互联网大规模的Web2.0应用的兴起,随着云计算需要的大规模分布式服务和分布式存储的发展,传统的关系数据库面临着诸多全新的挑战,特别是在那些超大规模和高并发的SNS类型的应用场景下,使用关系数据库来存储和查询用户动态数据已经显得力不从心,暴露了很多难以克服的问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询检索速度;需要将数据存储无缝扩展到整个群集环境下,并且能够在线扩展等等。在这样的背景下,NoSQL数据库就应运而生了。 NOSQL is simply Not Only SQL!NOSQL特点不要叫它们数据库它们可以处理超大量的数据它们运行在便宜的PC服务器集群上它们击碎了性能瓶颈Bootstrap支持CAPACID/BASEBASEBasically Available(基本可用)Soft state(柔性状态) 状态可以有一段时间不同步,异步Eventually consistent(最终一致) 最终数据是一致的就可以了,而不是时时一致ACID原子性(Atomicity). 事务中的所有操作,要么全部成功,要么全部不做.一致性(Consistency) 在事务开始与结束时,数据库处于一致状态.隔离性(Isolation). 事务如同只有这一个操作在被数据库所执行一样.持久性(Durability). 在事务结束时,此操作将不可逆转.(也就是只要事务提交,系统将保证数据不会丢失,即使出现系统Crash,译者补充).最终一致性场景介绍(1)存储系统 存储系统可以理解为一个黑盒子,它为我们提供了可用性和持久性的保证。 (2)Process A ProcessA主要实现从存储系统write和read操作 (3)Process B 和ProcessC ProcessB和C是独立于A,并且B和C也相互独立的,它们同时也实现对存储系统的write和read操作。强一致性 强一致性(即时一致性) 假如A先写入了一个值到存储系统,存储系统保证后续A,B,C的读取操作都将返回最新值 弱一致性 假如A先写入了一个值到存储系统,存储系统不能保证后续A,B,C的读取操作能读取到最新值。此种情况下有一个“不一致性窗口”的概念,它特指从A写入值,到后续操作A,B,C读取到最新值这一段时间。 最终一致性 最终一致性是弱一致性的一种特例。假如A首先write了一个值到存储系统,存储系统保证如果在A,B,C后续读取之前没有其它写操作更新同样的值的话,最终所有的读取操作都会读取到最A写入的最新值。此种情况下,如果没有失败发生的话,“不一致性窗口”的大小依赖于以下的几个因素:交互延迟,系统的负载,以及复制技术中replica的个数(这个可以理解为master/salve模式中,salve的个数)。 Casandra是什么?Cassandra是一个高可靠的大规模分布式存储系统。高度可伸缩的、一致的、分布式的结构化key-value存储方案。2007由facebook开发已经在生产环境中使用,比如email index search2009年成为Apache的孵化项目Cassandra有什么特点?列表数据结构 在混合模式可以将超级列添加到5维的分布式Key-Value存储系统。模式灵活 使用Cassandra,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。 真正的可扩展性 Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以增加动态添加节点即可。你不必重启任何进程,改变应用查询,或手动迁移任何数据。 多数据中心识别? 你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。范围查询 如果你不喜欢全部的键值查询,则可以设置键的范围来查询。 分布式写操作 有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。 Agenda基础知识数据模型数据分布策略存储机制数据读写删最终一致性Gossiper面向未来数据模型ColumnSuperColumnColumnFamilyKeyspacesRowColumnColumn name value timestamp User_id182848051270073054 Column Family{Columns}ColumnFamily key Columnsame value timestamp user_id 182848051270073054 nickhz079912
文档评论(0)