大数据技术原理与应用学习笔记(五)

本系列历史文章

大数据技术原理与应用学习笔记(一)
大数据技术原理与应用学习笔记(二)
大数据技术原理与应用学习笔记(三)
大数据技术原理与应用学习笔记(四)

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数据库支持超大规模数据存储,数据模型灵活,强大的横向扩展能力缺乏数学理论基础,复杂查询性能不高,大都不能实现事务一致性,很难实现数据完整性,技术尚不成熟,缺缺乏专业团队技术支持,维护较困难等。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值