- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
专题讲座-NoSQL
* * * * Books: - CouchDB (O’Reilly) - Hadoop (O’Reilly) - MongoDB (O’Reilly Forthcoming) - Hadoop in Action (Manning Forthcoming) - CouchDB in Action (Manning Forthcoming) * 说起来很有趣,BASE的英文意义是碱,而ACID是酸。真的是水火不容啊。 Basically Availble --基本可用 Soft-state --软状态/柔性事务 Soft state 可以理解为无连接的, 而 Hard state 是面向连接的 Eventual Consistency --最终一致性 最终一致性, 也是是 ACID 的最终目的。 BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性: Basically Available基本可用。支持分区失败(e.g. sharding碎片划分数据库) Soft state软状态 状态可以有一段时间不同步,异步。 Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时一致。BASE思想的主要实现有1.按功能划分数据库2.sharding碎片?BASE思想主要强调基本的可用性,如果你需要高可用性,也就是纯粹的高性能,那么就要以一致性或容错性为牺牲,BASE思想的方案在性能上还是有潜力可 挖的 * * * * * * * * * * * * * Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。 * * * * * * * * * * * * * * * * * * MongoDB是什么 三.MongoDB数据库是什么? 取自“humongous”(海量的),是由10gen开发并维护的一种开源,高性 能,可扩展,无模式,面向文档(document-oriented)的数据库,其内存储 的是一种 JSON-like结构化数据。 它介于关系数据库和非关系数据库之间,是非关系数据库中最像关系数 据库的。 官网:/ 下载:/downloads 必威体育精装版版本:1.6.3(2010-09-23) 支持操作系统:Os X Linux Windows Solaris MongoDB的特性 一.JSON格式文档数据库 MongoDB的特性 document!=row 文档 { _id : ObjectId(4cae36fcdb2b59), uid : 11909, uname : bird007 , address : { province : 湖北, city : 武汉“, … }, … } { _id : ObjectId(4cae36fc9306f4), uid : 11910, uname : magicman , “sex : 0 … } MongoDB的特性 二.自由数据模式 支持在对象和数组内嵌入其它的对象和数组 Mongo模式设计中的一个关键问题就是“是值得为这个对象新建一个集合呢,还是把这个对象嵌入到其它的集合中”。 MongoDB的特性 三.全面索引支持 基本索引:db.t_user.ensureIndex({uname:1}) 唯一索引:db.t_user.ensureIndex({uname:1},{unique:true}) 内嵌文档中的key:db.t_user.ensureIndex({address.city:1}) 文档本身:db.t_user.ensureIndex({address:1}) 复合索引: db.t_user.ensureIndex({vince:1
文档评论(0)