- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式系统 Distributed Systems 第 12 讲 “大型”网站架 ….ppt
分布式系统 Distributed Systems第 13 讲 NoSQLLecture 13 NoSQL 王晓阳、张 奇 复旦大学 计算机科学技术学院 1 目录 13.1 为什么使用NoSQL 13.2 数据模型 13.3 分布与一致性 13.4 实例 13.4.1 键值数据库 13.4.2 文档数据库 13.4.3 列族数据库 13.4.4 图数据库 2 3 13.1 为什么使用NoSQL 13.1 为什么使用NoSQL 从名字说开去 20世纪90年代末,Strozzi NoSQL项目 ASCII文件存储数据表 每个元组占一行,字段以制表符分隔 不以SQL为其查询语言 2009.6.11 Johan Oskarsson 在旧金山举办的一个Meetup Eric Evans 提出了使用 NoSQL Meetup 开源分布式的非关系型数据库 Voldemort, Cassandra, Dynomite, Hbase, Hypertable, Couch DB, MongoDB 4 13.1 为什么使用NoSQL “SQL” = 传统的 DBMS 最近一些年我们逐渐认识到,不是所有的数据管理和分析问题都适合用传统DBMS解决 “NoSQL” = “No SQL” = 不使用传统 DBMS “No SQL” Don’t use SQL language “NoSQL” = “Not Only SQL” 5 13.1 为什么使用NoSQL 关系型数据库的价值 6 Database Management System (DBMS) provides…. … efficient, reliable, convenient, and safe multi-user storage of and access to massive amounts of persistent data. 13.1 为什么使用NoSQL 阻抗失协问题 关系模型和内存中的数据结构之间存在差异 关系模型把数据组织成“表”和“行” 关系型数据库不能包含嵌套记录或列表结构 7 13.1 为什么使用NoSQL 解决阻抗失协问题 内存数据------硬盘映射数据库 面向对象数据库 对象---关系映射框架(object-relational mapping framework) 8 13.1 为什么使用NoSQL “集成数据库” Integration Database 不同团队开发的多个应用程序,将数据存储在一个公共的数据库中 应用程序之间通讯由操作内容一致的持久数据完成 “应用数据库”Application Database 一个数据库只能由一个应用程序的代码访问 应用程序间交互用接口完成 9 13.1 为什么使用NoSQL 采用集成数据库模式,必须使用SQL交互,就必须使用关系型数据库结构 采用应用数据库模式 可以使用包含嵌套、列表等格式数据结构 XML,JSON 内部数据库与外部通信服务解耦合 10 13.1 为什么使用NoSQL 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心 纵向扩展(Scale UP)---- 小型机 横向扩展(Scale Out)---- 集群 关系型数据库通常无法应用于集群 分片机制应用受限 许可费高 11 13.1 为什么使用NoSQL NoSQL主要特征 不使用SQL 通常是开源项目 大多数是为了在集群环境运行开发 数据模型与关系型数据库不同 不需要使用“模式” 12 13 13.2 数据模型 13.2 数据模型 数据模型----数据库组织数据的方式 元模型(metamodel) 关系型数据库 每张表包含若干行(元组) 每行包含相关实体,实体通过列来描述,行列交汇处有单一值 NoSQL 抛弃了原有的关系模型 四大类:键值、文档、列族、图 14 面向聚合(aggregate orientation) 13.2 数据模型 15 聚合 一组相关联的对象视为一个整体单元进行操作 与数据存储通信时也以聚合为单位 程序员通过聚合结构来操作数据 13.2 数据模型 16 13.2 数据模型 17 13.2 数据模型 18 13.2 数据模型 如何划分聚合边界没有标准答案 一次性访问客户全部订单 每次只处理一笔订单 关系型数据库中没有“聚合”这一概念-----“聚合无知”(aggregate-ignorant) 聚合的边界一般都很难划分 可以按照不同的方式来查看数据 聚合模型适用于集群环境 集群环境运行时,需要把采集数据时所需的节点数降至最小 19 13.2 数据模型 键值数据库 包含大量聚合 每个聚合
有哪些信誉好的足球投注网站
文档评论(0)