《NoSQL数据库-介绍》.pdf

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《NoSQL数据库-介绍》.pdf

NoSQL Not Only SQL-非关系型数据库 Outline • NoSQL基本概念 • NoSQL数据库分类 • NoSQL在系统架构中的应用 • MongoDB 数据库 NoSQL是什么? • NoSQL概念在2009年被提了出来。NoSQL最 常见的解释是“non-relational”,“Not Only SQL”也被很多人接受。 • Wikipedia上定义 – NoSQL是一种打破了关系型数据库长久以来占 主导地位的快速成长起来的非关系松散数据存 储类型,这种数据存储不需要事先设计好的表 结构,它也不会出现表之间的连接操作和水平 分割,学术界称这种数据库为结构化存储[1]。 NoSQL诞生的原因 • 关系型数据库面临的问题 – 扩展困难:由于存在类似Join这样多表查询机制,使得数据库在扩 展方面很艰难; – 读写慢:这种情况主要发生在数据量达到一定规模时由于关系型 数据库的系统逻辑非常复杂,使得其非常容易发生死锁等的并发 问题,所以导致其读写速度下滑非常严重; – 成本高:企业级数据库的License价格很惊人,并且随着系统的规 模,而不断上升; – 有限的支撑容量:现有关系型解决方案还无法支撑Google这样海 量的数据存储; • 数据库访问的新需求 – 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度; – 支撑海量的数据和流量:对于搜索这样大型应用而言,需要利用 PB级别的数据和能应对百万级的流量; – 大规模集群的管理:系统管理员希望分布式应用能更简单的部署 和管理; – 庞大运营成本的考量:IT经理们希望在硬件成本、软件成本和人力 成本能够有大幅度地降低; NoSQL数据库的共有原则 • 假设失效是必然发生的 – NOSQL实现都建立在硬盘、机器和网络都会失效这些假设之上。 – 我们不能彻底阻止这些时效,我们需要让我们的系统能够在即使 非常极端的条件下也能应付这些失效。 • 对数据进行分区 – 最小化了失效带来的影响,也将读写操作的负载分布到了不同的 机器上。 • 保存同一数据的多个副本 – 大部分NOSQL 实现都基于数据副本的热备份来保证连续的高可用 性。 – 一些实现提供了API ,可以控制副本的复制,也就是说,当你存储 一个对象的时候,你可以在对象级指定你希望保存的副本数。 • 查询支持 – 在这个方面,不同的实现有相当本质的区别。不同实现的一个共 性在于哈希表中的key/value 匹配。 NoSQL数据库的共有原则 • 动态伸缩 – 要掌控不断增长的数据,大部分NOSQL 实现提供了不停机或完全重新分 区的扩展集群的方法。 • 一个已知的处理这个问题的算法称为一致哈希。有很多种不同算法可以实现一致哈 希。 • 另一个(简单很多)的算法使用逻辑分区。在逻辑分区中,分区的数量是固定的, 但分区在机器上的分布式动态的。 • 使用Map/Reduce 处理汇聚 – Map/Reduce 常常被看作是并行汇聚查询的一个模式。大部分NOSQL 实现 并不提供map/reduce 的内建支持,需要一个外部的框架来处理这些查询。 – 在质疑模型中,你可以将代码发送到数据所在地地方,并在该节点上直 接运行复杂的查询 • 基于磁盘的和内存中的实现 – NOSQL 实现分为基于文件的方法和内存中的方法。有些实现提供了混合 模型,将内存和磁盘结合使用。两类方法的最主要区别在于每GB 成本和 读写性能。 – 对于较低性能的实现,磁盘方案的成本远低于基于内存的方法,而对于 高性能需求的场合,内存方案则更加廉价。 设计理念:关系数据

文档评论(0)

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

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

1亿VIP精品文档

相关文档