ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:84.92KB ,
资源ID:15174279      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15174279.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(nosql数据库比较大全文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

nosql数据库比较大全文档格式.docx

1、1. Gossip (State Transfer Model) 2. Gossip (Operation Transfer Model) 6. Merkle tree 7. Paxos 1. 背景 8. DHT 9. Map Reduce Execution 10. Handling Deletes 11. 存储实现 12. 节点变化 13. 列存 1. 描述 2. 特点 4. 软件篇 1. 亚数据库 1. MemCached 1. 特点 2. 内存分配 3. 缓存策略 4. 缓存数据库查询 5. 数据冗余与故障预防 6. Memcached客户端(mc) 7. 缓存式的Web应用程序架构

2、8. 性能测试 2. dbcached 1. Memcached 和 dbcached 在功能上一样吗? 2. 列存系列 1. Hadoop之Hbase 2. 耶鲁大学之HadoopDB 3. GreenPlum 4. FaceBook之Cassandra 1. Cassandra特点 2. Keyspace 3. Column family(CF) 4. Key 5. Column 6. Super column 7. Sorting 8. 存储 9. API 5. Google之BigTable 6. Yahoo之PNUTS 2. PNUTS实现 1. Record-level maste

3、ring 记录级别主节点 2. PNUTS的结构 3. Tablets寻址与切分 4. Write调用示意图 3. PNUTS感悟 7. 微软之SQL数据服务 3. 非云服务竞争者 4. 文档存储 1. CouchDB 1. 特性 2. Riak 3. MongoDB 4. Terrastore 5. ThruDB 5. Key Value / Tuple 存储 1. Amazon之SimpleDB 2. Chordless 3. Redis 4. Scalaris 5. Tokyo cabinet / Tyrant 6. CT.M 7. Scalien 8. Berkley DB 9. Me

4、mcacheDB 10. Mnesia 11. LightCloud 12. HamsterDB 13. Flare 6. 最终一致性Key Value存储 1. Amazon之Dynamo 1. 功能特色 2. 架构特色 2. BeansDB 1. 简介 2. 更新 3. 特性 4. 性能 3. Nuclear 1. 两个设计上的Tips 4. Voldemort 5. Dynomite 6. Kai 7. 未分类 1. Skynet 2. Drizzle 8. 比较 1. 可扩展性 2. 数据和查询模型 3. 持久化设计 5. 应用篇 1. eBay 架构经验 2. 淘宝架构经验 3. F

5、lickr架构经验 4. Twitter运维经验 1. 运维经验 1. Metrics 2. 配置管理 3. Darkmode 4. 进程管理 5. 硬件 2. 代码协同经验 1. Review制度 2. 部署管理 3. 团队沟通 3. Cache 5. 云计算架构 6. 反模式 1. 单点失败(Single Point of Failure) 2. 同步调用 3. 不具备回滚能力 4. 不记录日志 5. 无切分的数据库 6. 无切分的应用 7. 将伸缩性依赖于第三方厂商 7. OLAP 1. OLAP报表产品最大的难点在哪里?8. NOSQL们背后的共有原则 1. 假设失效是必然发生的 2.

6、 对数据进行分区 3. 保存同一数据的多个副本 4. 动态伸缩 5. 查询支持 6. 使用 Map/Reduce 处理汇聚 7. 基于磁盘的和内存中的实现 8. 仅仅是炒作?6. 附 1. 感谢 2. 版本志 3. 引用 序 日前国内没有一套比较完整的NoSQL数据库资料,有很多先驱整理发表了很多,但不是很系统。不材尝试着将各家的资料整合一下,并书写了一些自己的见解。本书写了一些目前的NoSql的一些主要技术,算法和思想。同时列举了大量的现有的数据库实例。读完全篇,相信读者会对NoSQL数据库了解个大概。另外我还准备开发一个开源内存数据库galaxydb.本书也是为这个数据库提供一些架构资料。

7、思想篇 CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。而五分钟法则是内存数据存储了理论依据。这个是一切的源头。CAP C:Consistency 一致性 A:Availability 可用性(指的是快速获取数据) P: Tolerance of networkPartition 分区容忍性(分布式) 10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。CAP理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。熊掌与鱼不可兼得也。关注的是一致

8、性,那么您就需要处理因为系统不可用而导致的写操作失败的情况,而如果您关注的是可用性,那么您应该知道系统的read操作可能不能精确的读取到write操作写入的最新值。因此系统的关注点不同,相应的采用的策略也是不一样的,只有真正的理解了系统的需求,才有可能利用好CAP理论。作为架构师,一般有两个方向来利用CAP理论 1. key-value存储,如Amaze Dynamo等,可根据CAP三原则灵活选择不同倾向的数据库产品。2. 领域模型 + 分布式缓存 + 存储 (Qi4j和NoSql运动),可根据CAP三原则结合自己项目定制灵活的分布式方案,难度高。我准备提供第三种方案:实现可以配置CAP的数据

9、库,动态调配CAP。 CA:传统关系数据库 AP:key-value数据库 而对大型网站,可用性与分区容忍性优先级要高于数据一致性,一般会尽量朝着 A、P 的方向设计,然后通过其它手段保证对于一致性的商务需求。架构设计师不要精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。不同数据对于一致性的要求是不同的。举例来讲,用户评论对不一致是不敏感的,可以容忍相对较长时间的不一致,这种不一致并不会影响交易和用户体验。而产品价格数据则是非常敏感的,通常不能容忍超过10秒的价格不一致。CAP理论的证明:Brewers CAP Theorem 最终一致性 一言以蔽之:过程松,结果紧,最终结果必

10、须保持一致性 为了更好的描述客户端一致性,我们通过以下的场景来进行,这个场景中包括三个组成部分: 存储系统 存储系统可以理解为一个黑盒子,它为我们提供了可用性和持久性的保证。 Process A ProcessA主要实现从存储系统write和read操作 Process B 和ProcessCProcessB和C是独立于A,并且B和C也相互独立的,它们同时也实现对存储系统的write和read操作。下面以上面的场景来描述下不同程度的一致性: 强一致性 强一致性(即时一致性) 假如A先写入了一个值到存储系统,存储系统保证后续A,B,C的读取操作都将返回最新值 弱一致性 假如A先写入了一个值到存储

11、系统,存储系统不能保证后续A,B,C的读取操作能读取到最新值。此种情况下有一个“不一致性窗口”的概念,它特指从A写入值,到后续操作A,B,C读取到最新值这一段时间。 最终一致性 最终一致性是弱一致性的一种特例。假如A首先write了一个值到存储系统,存储系统保证如果在A,B,C后续读取之前没有其它写操作更新同样的值的话,最终所有的读取操作都会读取到最A写入的最新值。此种情况下,如果没有失败发生的话,“不一致性窗口”的大小依赖于以下的几个因素:交互延迟,系统的负载,以及复制技术中replica的个数(这个可以理解为master/salve模式中,salve的个数),最终一致性方面最出名的系统可以

12、说是DNS系统,当更新一个域名的IP以后,根据配置策略以及缓存控制策略的不同,最终所有的客户都会看到最新的值。变体 Causal consistency(因果一致性) 如果Process A通知Process B它已经更新了数据,那么Process B的后续读取操作则读取A写入的最新值,而与A没有因果关系的C则可以最终一致性。 Read-your-writes consistency 如果Process A写入了最新的值,那么Process A的后续操作都会读取到最新值。但是其它用户可能要过一会才可以看到。 Session consistency 此种一致性要求客户端和存储系统交互的整个会话阶

13、段保证Read-your-writes consistency.Hibernate的session提供的一致性保证就属于此种一致性。 Monotonic read consistency 此种一致性要求如果Process A已经读取了对象的某个值,那么后续操作将不会读取到更早的值。 Monotonic write consistency 此种一致性保证系统会序列化执行一个Process中的所有写操作。BASE 说起来很有趣,BASE的英文意义是碱,而ACID是酸。真的是水火不容啊。 Basically Availble -基本可用 Soft-state -软状态/柔性事务 Soft state

14、 可以理解为无连接的, 而 Hard state 是面向连接的 Eventual Consistency -最终一致性 最终一致性, 也是是 ACID 的最终目的。BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性: Basically Available基本可用。支持分区失败(e.g. sharding碎片划分数据库) Soft state软状态 状态可以有一段时间不同步,异步。 Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时一致。BASE思想的主要实现有1.按功能划分数据库2.sharding碎片BASE思想主要强调基本的可用性,如果你需要高可用性,也就是纯粹的高性能,那么就要以一致性或容错性为

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1