提纲 51 NOSQL简介 52 NOSQL兴起的原因 ·53 NOSQL与关系数据库的比较 54 NOSQL的四大类型 55 NOSQL的三大基石 56从 NOSQL到 NewSQL数据库 57文档数据库 MongoDB 本章小结 本PPT是如下教材的配套讲义: 21世纪高等教育计算机规划教材 《大数据技术原理与应用 —概念、存储、处理、分析与应用》 (2015年8月第1版) 厦门大学林子雨编著,人民邮电出版社 SBN:978-7-11539287-9 欢迎访问《大数据技术原理与应用》教材官方网站: http://dblab.xmu.edu.cn/post/bigdata 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 xmu. edu. cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 提纲 • 5.1 NoSQL简介 • 5.2 NoSQL兴起的原因 • 5.3 NoSQL与关系数据库的比较 • 5.4 NoSQL的四大类型 • 5.5 NoSQL的三大基石 • 5.6 从NoSQL到NewSQL数据库 • 5.7 文档数据库MongoDB • 本章小结 欢迎访问《大数据技术原理与应用》教材官方网站: http://dblab.xmu.edu.cn/post/bigdata 本PPT是如下教材的配套讲义: 21世纪高等教育计算机规划教材 《大数据技术原理与应用 ——概念、存储、处理、分析与应用》 (2015年8月第1版) 厦门大学 林子雨 编著,人民邮电出版社 ISBN:978-7-115-39287-9
●5.1NsQL简介 概念演变 Not only sQl 最初表示“反SQL”运动 现在表示关系和非关系型数据库各有优缺点 用新型的非关系数据库取代关系数据库 彼此都无法互相取代 通常, NOSQL数据库具有以下几个特点: (1)灵活的可扩展性 (2)灵活的数据模型 (3)与云计算紧密融合 大数据技术原理与应用》 厦门大学计算机科学系 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1 NoSQL简介 通常,NoSQL数据库具有以下几个特点: (1)灵活的可扩展性 (2)灵活的数据模型 (3)与云计算紧密融合 最初表示“反SQL”运动 用新型的非关系数据库取代关系数据库 Not only SQL 现在表示关系和非关系型数据库各有优缺点 彼此都无法互相取代 概念演变
●5.1NsQL简介 现在已经有很多公司使用了 NOSQL数据库 . google ° facebook . mozilla . Adobe ° oursquare linkedin Digg .McGraw-Hill education vermont Public Radio ·百度、腾讯、阿里、新浪、华为 大数据技术原理与应用》 厦门大学计算机科学系 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1 NoSQL简介 现在已经有很多公司使用了NoSQL数据库: •Google •Facebook •Mozilla •Adobe •Foursquare •LinkedIn •Digg •McGraw-Hill Education •Vermont Public Radio •百度、腾讯、阿里、新浪、华为……
幽52NsQL兴起的原因 1、关系数据库已经无法满足Web20的需求。主要表现在以下几个方面: (1)无法满足海量数据的管理需求 (2)无法满足数据高并发的需求 (3)无法满足高可扩展性和高可用性的需求 1分钟时间: ●新浪可以发送2万条微博 ●苹果可以下载47万次应用 ●淘宝可以卖出6万件商品 ●人人网可以发生30万次访问 ●百度可以产生90万次搜索查询 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.2 NoSQL兴起的原因 1、关系数据库已经无法满足Web2.0的需求。主要表现在以下几个方面: (1)无法满足海量数据的管理需求 (2)无法满足数据高并发的需求 (3)无法满足高可扩展性和高可用性的需求
52 NOSQL兴起的原因 MySQL集群是否可以完全解决问题? 复杂性:部署、管理、配置很复杂 数据库复制: MySQL主备之间采用复 制方式,只能是异步复制,当主库压力 分库1 分库2 分库、 分库4 较大时可能产生较大延迟,主备切换可 能会丢失最后一部分更新事务,这时往 往需要人工介入,备份和恢复不方便 :M!S::::: M*S::M:S::::: M 扩容问题:如果系统压力过大需要增加 新的机器,这个过程涉及数据重新划分 ,整个过程比较复杂,且容易出错 动态数据迁移问题:如果某个数据库组 物理机 物理机物理机物理机 压力过大,需要将其中部分数据迁移出 去,迁移过程需要总控节点整体协调, 以及数据库节点的配合。这个过程很难 做到自动化 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.2 NoSQL兴起的原因 •复杂性:部署、管理、配置很复杂 •数据库复制:MySQL主备之间采用复 制方式,只能是异步复制,当主库压力 较大时可能产生较大延迟,主备切换可 能会丢失最后一部分更新事务,这时往 往需要人工介入,备份和恢复不方便 •扩容问题:如果系统压力过大需要增加 新的机器,这个过程涉及数据重新划分 ,整个过程比较复杂,且容易出错 •动态数据迁移问题:如果某个数据库组 压力过大,需要将其中部分数据迁移出 去,迁移过程需要总控节点整体协调, 以及数据库节点的配合。这个过程很难 做到自动化 MySQL集群是否可以完全解决问题?