5.2.2大数据存储技术-NOSQL数据库_第1页
5.2.2大数据存储技术-NOSQL数据库_第2页
5.2.2大数据存储技术-NOSQL数据库_第3页
5.2.2大数据存储技术-NOSQL数据库_第4页
5.2.2大数据存储技术-NOSQL数据库_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《大数据导论》NOSQL数据库NoSQL数据库无模式的数据模型数据可以以它的原始形式存在横向扩展而不是纵向扩展NoSQL可以增加更多的节点高可用性NoSQL建立在提供开箱即用的容错性的基于集群的技术之上较低的运营成本开源最终一致性跨节点的数据读取可能在写入后短时间内不一致。但是,最终所有的节点会处于一致的状态BASE兼容而不是ACID兼容数据库可以处于不一致状态直到最后获得一致性NoSQL(Not-onlySQL)特征:NoSQL数据库API驱动的数据访问数据的访问通常支持基于API的查询,包括REST(RepresentationalStateTransfer,表述性状态转移)类型的API自动分片和复制运用分片和复制技术集成缓存没有必要加入第三方分布式缓存层分布式查询支持NoSQL存储设备通过多重分片来维持一致性查询不同类型设备同时使用NoSQL存储的使用并没有淘汰传统的RDBMS,支持不同类型的存储设备可以同时使用注重聚集数据NoSQL存储设备存储非规范化的聚集数据(一个实体为一个对象)NoSQL(Not-onlySQL)特征:NoSQL数据库NoSQL出现的原因容量速度多样性NoSQL数据库键-值存储文档存储列簇存储图存储NoSQL类型:NoSQL数据库键-值存储:键-值存储设备适用于:·需要存储非结构化数据。·需要具有高效的读写性能。·值可以完全由键确定。·值是不依赖其他值的独立实体。·值有着相当简单的结果或是二进制的。·查询模式简单,只包括插入、查找和删除操作。·存储的值在应用层被操作。键-值存储设备的实例包括:Riak、Redis和AmazonDynamoDB键-值存储设备不适用于:·应用需要通过值的属性来查找或者过滤数据。·不同的键-值项之间存在关联。·一组键的值需要在单个事务中被更新。·在单个操作中需要操控多个键。·在不同值中需要有模式一致性。·需要更新值的单个属性。NoSQL数据库文档存储:NoSQL数据库文档存储和键-值存储设备之间的区别文档存储设备是值可感知的存储的值是自描述的选择操作可以引用集合值内的一个字段选择操作可以检索集合的部分值支持部分更新,所以集合的子集可以被更新通常支持用于加速查找的索引NoSQL数据库文档存储(JSON):文档存储设备适用于:·存储包含平面或嵌套模式的面向文档的半结构化数据。·模式的进化由于文档结构的未知性或者易变性而成为必然。·应用需要对存储的文档进行部分更新。·需要在文档的不同属性上进行查找。·以序列化对象的形式存储应用领域中的对象,例如顾客。·查询模式包含插入、选择、更新和删除操作。文档存储设备不适用于:·单个事务中需要更新多个文档。·需要对归一化后的多个数据或文档之间执行连接操作。·由于文档结构在连续的查询操作之后会发生改变,为了实现一致的查询设计需要使用强制模式来重构查询语句。·存储的值不是自描述的,并且不包含对模式的引用。·需要存储二进制值。文档存储设备的例子包括MongoDB、CouchDB和TerrastoreNoSQL数据库列簇存储:列簇存储设备适用于:·需要实时的随机读写能力,并且数据以已定义的结构存储。·数据表示的是表的结构,每行包含着大量列,并且存在着相互关联的数据形成的嵌套组。·需要对模式的进化提供支持,因为列簇的增加或者删除不需要在系统停机时间进行。·某些字段大多数情况下可以一起访问,并且搜索需要利用字段的值。·当数据包含稀疏的行而需要有效地使用存储空间时,因为列簇数据库只为存在列的行分配存储空间。如果没有列,将不会分配任何空间。·查询模式包含插入、选择、更新和删除操作。列簇不适用于:·需要对数据进行关系型操作,例如连接操作。·需要支持ACID事务。·需要存储二进制数据。·需要执行SQL兼容查询。·查询模式经常改变,因为这样将会重构列簇的组织。列簇存储设备包括Cassandra、HBase和AmazonSimpleDBNoSQL数据库图存储:图存储设备适用于:·需要存储互联的实体。·需要根据关系的类型查询实体,而不是实体的属性。·查找互联的实体组。·就节点遍历距离来查找实体之间的距离。·为了寻找模式而进行的数据挖掘。图存储设备不适用于:·需要更新大量的节点属性或边属性,这包括对节点或边的查询,相对于节点的遍历是非常费时的操作。·实体拥有大量的属性或嵌套数据,最好在图存储设备中存储轻量实体,而在另外的非图NoSQL存储设备中存储额外的属性数据。·需要存储二进制数据。·基于节点或边的属性的查询操作占据大部分的节点遍历查询。NoSQL与RDBMS的主要区别

RDBMSNoSQL数据类型结构化数据主要是非结构化数据数据库结构需要事先定义,是固定的不需要事先定义,并可以灵活改变数据一致性通过ACIO特性保持严密的一致性存在临时的不保持严密一致性的状态(结果匹配性)扩展性基本是向上扩展。由于需要保持数据的一致性,因此性能下降明显通过横向扩展可以在不降低性能的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论