NoSQ的L_综述.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据模型 一个存储Web网页的例子的表的片断 行名:”n.www” contents列族:存放的是网页的内容 anchor列族:存放引用该网页的锚链接文本。 “anchor:”列表示被引用 “anchhor:my.look.ca”列表示被my.look.ca引用 (”n.www”,” anchor: my.look.ca”,t8)-”CNN.com” 六、几种主流NoSQL数据库——BigTable 技术要点 基础:GFS, Chubby, SSTable。 —BigTable使用Google的分布式文件系统(GFS)存储日志文件和数据文件 —Chubby是一个高可用的、序列化的分布式锁服务组件 —BigTable内部存储数据的文件是Google SSTable格式的。 元数据组织:chubby-metadata-tablet。 —元数据与数据都保存在 Google FS 中,客户端通过 Chubby 服务获得表格元数据的位置。 六、几种主流NoSQL数据库——BigTable 技术要点 数据维护与访问:master server 将每个 tablet 的管理责任分配给各个 tablet server,tablet 的分布信息都保存在元数据中,所以客户端无须通过 master 来访问数据,只需要直接跟 tablet server 通信。 六、几种主流NoSQL数据库——BigTable 技术要点 Log-structured 数据组织:写操作不直接修改原有的数据,而只是将一条记录添加到 commit log 的末尾,读操作需要从 log 中 merge 出当前的数据版本。具体实现:SSTable, Memtable。 六、几种主流NoSQL数据库——BigTable 特点   1、适合大规模海量数据,PB级数据;   2、分布式、并发数据处理,效率极高;   3、易于扩展,支持动态伸缩;   4、适用于廉价设备;   5、适合于读操作,不适合写操作。   6、不适用于传统关系数据库; 六、几种主流NoSQL数据库——BigTable Dynamo简介 Dynamo 最初是 Amazon 所使用的一个私有的分布式存储系统。 设计要点 P2P 的架构:这区别于 Google FS 的 Single Master 架构,无须一个中 心服务器来记录系统的元数据。 ? 六、几种主流NoSQL数据库——Dynamo 设计要点 Performance(性能), Availability(可用性), Durability(数据持久性) 三者的折衷,可以根据应用的需求自由调整三者比例。 ? 六、几种主流NoSQL数据库——Dynamo 技术要点 数据定位使用一致性哈希; Vector lock,允许数据的多个备份存在多个版本,提高写操作的可用性(用弱一致性来换取高的可用性) 容错:Sloppy Quorum, hinted handoff, Merkle tree Sloppy Quorum马虎仲裁,并非采用严格的数据一致性检查,用于实现最终一致性 hinted handoff,节点故障会恢复时,可动态维护系统可用性,使系统的写入成功大大提升。 使用Merkle tree为数据建立索引,只要任意数据有变动,都将快速反馈出来。 网络互联: Gossip-based membership protocol ,一种通讯协议,目标是让节点与节点之间通信,实现去中心化。 Storage load balancing Client-driven Coordination 六、几种主流NoSQL数据库——Dynamo 特点 高可用:设计上天然没有单点,每个实例由一组节点组成,从应用的角度看,实例提供 IO 能力。一个实例上的节点可能位于不同的数据中心内, 这样一个数据中心出问题也不会导致数据丢失。 总是可写:hinted handoff确保在系统节点出现故障或节点恢复时,能灵活处理 可根据应用类型优化可用性、容错性和高效性配置 去中心化,人工管理工作少 可扩展性较差:由于增加机器需要给机器分配DHT(分布式hash table)算法所需的编号,操作复杂度较高,且每台机器存储了整个集群的机器信息及数据文件的Merkle Tree信息,机器最大规模只能到几千台。 六、几种主流NoSQL数据库——Dynamo Cassandra简介 Apache Cassandra 是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google B

文档评论(0)

xiaofei2001127 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档