大数据技术原理与应用学习笔记(五)
大数据技术原理与应用学习笔记(五)
- 本系列历史文章
- NoSQL数据库
- NoSQL概述(Not Only SQL)
- NoSQL特点
- MySQL集群方式的缺陷
- 传统关系型数据库缺陷
- NoSQL兴起的原因
- NoSQL与关系型数据库的比较
- NoSQL的四大类型
- 键值数据库——键值对
- 列族数据库——列族
- 文档数据库——文档
- 图数据库——图
- NoSQL的理论基石
- CAP理论
- 从NoSQL到NewSQL数据库
- MongoDB——(C++、分布式、开源)
- 补充
本系列历史文章
大数据技术原理与应用学习笔记(一)
大数据技术原理与应用学习笔记(二)
大数据技术原理与应用学习笔记(三)
大数据技术原理与应用学习笔记(四)
NoSQL数据库
NoSQL概述(Not Only SQL)
NoSQL特点
- 灵活的扩展性
- 灵活的数据模型
- 和云计算紧密结合
MySQL集群方式的缺陷
- 复杂性
- 延迟性
- 扩容问题
传统关系型数据库缺陷
- 无法满足海量数据的管理要求
- 无法满足数据高并发需求
- 无法满足高扩展性和高可用性要求
NoSQL兴起的原因
- 关系型数据库无法满足Web 2.0需求
- 数据模型的局限性
- Web 2.0关系型数据库中许多特性没有发挥
NoSQL与关系型数据库的比较
- 数据库原理方面,关系数据库有完备的关系代数理论作为基础,而NoSQL缺乏统一的理论基础;
- 数据规模方面,关系型数据库很难实现横向扩展,纵向扩展非常有限,而NoSQL具有非常好的水平可扩展性;
- 数据库模式方面,关系型数据库定义了严格的数据库模式,而且要严格遵守,而NoSQL的数据模型非常灵活;
- 在查询效率方面,关系型数据库适当量级查询效率较高,当量级较大时,效率会下降,而NoSQL在未构建面向复杂查询的索引查询性能差;
- 在事务一致性方面,关系型数据库遵循ACID事务模型可以保证事务强一致性;
- 在数据完整性方面,关系型数据库具有保证完整性的完备机制,而NoSQL不能实现完整性约束;
- 在可用性方面,关系型数据库保证了严格的一致性,所以其可用性就削弱,而NoSQL具有非常好的可用性,响应快;
- 在标准化方面,关系型数据库遵循SQL标准,而NoSQL暂未形成通用的行业标准;
- 在技术支持方面,关系型数据库已有商业版关系数据库,拥有强大的技术支持,而NoSQL仍处于初期阶段,大多为开源产品;
- 在可维护性方面,关系型数据库需要管理员维护,而NoSQL还没有成熟的基础,且实践维护较为复杂。
NoSQL的四大类型
NoSQL典型数据库通常包括键值数据库、列族数据库、文档数据库和图数据库。
键值数据库——键值对
列族数据库——列族
文档数据库——文档
图数据库——图
NoSQL的理论基石
CAP理论
C: 一致性(任意读操作总能读到之前写操作的结果)
A: 可用性(快速获取数据,在确定时间内返回结果)
P: 分区容忍性(当出现网络分区(一部分节点无法与其他节点通信时)也能正常运行)
(注:3个条件实现时最多实现2个。)
如:
CA(放弃P): 把所有与事务相关的放到同一台机上。(如:MySQL)
CP(放弃A): 受影响服务器需等待数据一致。(如:Neo4j,HBase)
AP(放弃C): 允许系统返回不一致的数据。(如:CouchDB,Cassandra)
BASE与ACID
BASE的意义:
- Basically Available:基本可用(允许分区失败)
- Soft-State: 软状态(可有一段时间不同步(滞后性))
- Eventual consistency:最终一致性(可有不一致,但最终一定一致)
与BASE对应的ACID
ACID的意义: - Atomicity:原子性(事物必须是原子工作单元)
- Consistency: 一致性(所有数据保持一致)
- Isolation:隔离性(并发事务间修改隔离)
- Durability:持久性(事务完成后,对系统的影响是永久性的)
设数据冗余份数为N,更新数据时需保证写完成的节点数W,读取时要读的节点数R,
满足强一致性的要求:W + R > N;
满足弱一致性的要求:W + R ≤ N;
从NoSQL到NewSQL数据库
最主要的是了解应用场景:
分析型应用:NewSQL
事务型应用:OldSQL
互联网应用:NoSQL
MongoDB——(C++、分布式、开源)
这部分请参考厦大数据库博客:Ubuntu下MongoDB安装与使用教程
补充
关系型数据库与NoSQL数据库都起着不同的作用,彼此不可互相取代
项目 | 优势 | 劣势 |
---|---|---|
关系型数据库 | 以完善的关系代数理论作为基础,有严格标准,支持事务ACID四性,借助索引机制可实现高效查询,技术成熟,有专业公司的技术支持。 | 可扩展性交差,无法较好支持海量数据存储,数据模型过于死板,事务机制影响了系统性能等。 |
NoSQL数据库 | 支持超大规模数据存储,数据模型灵活,强大的横向扩展能力 | 缺乏数学理论基础,复杂查询性能不高,大都不能实现事务一致性,很难实现数据完整性,技术尚不成熟,缺缺乏专业团队技术支持,维护较困难等。 |
大数据技术原理与应用学习笔记(五)相关推荐
- 《大数据技术原理与应用》笔记
一.大数据概述 大数据的特征(4V): 1.Volume,数据量大 2.Variety,数据类型多 大数据由结构化和非结构化数据组成: 10%的结构化数据,存储在数据库中: 90%的非结构化数据,与人 ...
- 大数据技术原理与应用(第五章 NoSQL数据库)
目录 5.1 NoSQL数据库 Not only SQL特点 传统的关系型数据库特点 MySQL集群方式的缺陷 5.2 NoSQL与关系型数据库的比较 数据库原理 数据规模 数据库模式 查询效率 事务 ...
- 关于大数据技术原理与应用的学习(6)
学习目标: 大数据技术原理与应用 学习内容: 6云数据库 6.1概述 6.2产品 6.3UMP系统 6.4Amazon云数据库 6.5微软云数据库SQL Azure 学习时间: 2022/03/31 ...
- 关于大数据技术原理与应用的学习(1)
学习目标: 大数据技术原理与应用 学习内容: 大数据概述 1.1大数据时代 1.2大数据的概念和影响 1.3大数据的应用 1.4大数据的关键技术 1.5大数据与云计算.物联网的关系 学习时间: 202 ...
- 关于大数据技术原理与应用的学习(4)
学习目标: 大数据技术原理与应用 学习内容: 分布式数据库HBase 4.1HBase简介 4.2HBase数据模型 4.3HBase实现原理 4.4HBase运行机制 4.5HBase应用方案 4. ...
- 关于大数据技术原理与应用的学习(3)
学习目标: 大数据技术原理与应用 学习内容: 分布式文件系统HDFS 3.1HDFS简介 3.2HDFS相关概念 3.3HTFS体系结构 3.4HTFS存储元原理 3.5HDFS数据读写 3.6HDF ...
- 关于大数据技术原理与应用的学习(5)
学习目标: 大数据技术原理与应用 学习内容: 5.NoSQL数据库 例如: 5.1NoSQL数据库 5.2与关系数据库的比较 5.3四大类型 5.4理论基石 5.5从NoSQL到NewSQL 5.6文 ...
- 大数据第二阶段Python基础编程学习笔记(待完善)
大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...
- [渝粤教育] 厦门大学 大数据技术原理与应用 参考 资料
教育 -大数据技术原理与应用-章节资料考试资料-厦门大学[] 第1章 大数据概述 单元测验 1.[单选题]第三次信息化浪潮的标志是: A.个人电脑的普及 B.互联网的普及 C.云计算.大数据.物联网技 ...
- 大数据技术原理与应用课后题(林子雨)
大数据技术原理与应用(林子雨) 第1章 大数据概述 1单选(2分) 第三次信息化浪潮的标志是: A.个人电脑的普及 B.云计算.大数据.物联网技术的普及 C.虚拟现实技术的普及 D.互联网的普及 正确 ...
最新文章
- php接收表单图片,如何在PHP中获取表单图片数据
- 把企业分“三只鸟”的发展好比“三个策略”
- springboot中使用lua脚本+aop作限流访问案例代码
- 移动端(H5)弹框组件--简单--实用--不依赖jQuery
- bzoj1966 [AHOI2005]病毒检测 结论+暴力
- HDU2020 绝对值排序【排序】
- 德鲁克:终生难忘的7堂课
- C语言的实现的程序算法,算法:C语言实现(Algorithms In C)的学习
- 微软亚洲研究院20年20人
- 2016.11.03回顾 more excel交换两列
- 【Unity 框架】QFramework v1.0 使用指南 架构篇:05. 引入 Utility | Unity 游戏框架 | Unity 游戏开发 | Unity 独立游戏
- rocketdock皮肤_使用RocketDock皮肤获取Windows 7,Vista和XP中的Windows 8魅力栏
- VOLTE_协议栈架构
- 《禅与摩托车维修艺术》读后感第一篇
- win10 内存清理
- 【C语言】将十进制数转化为二进制并输出
- 隐形的翅膀怎么用计算机弹出来,《隐形的翅膀》原版吉他谱分享,用音阶指法弹简谱其实很简单 ... ......
- [THUWC2017]在美妙的数学王国中畅游 LCT+泰勒展开+求导
- 图形学基础 | 基于物理的渲染理论(PBR)
- 达梦数据库DM8安装ODBC驱动无法正常连接