厦门大学林子雨开设的《大数据技术原理与应用》第五章NoSQL数据库笔记

时间:2020-05-17 20:32:11   收藏:0   阅读:58

传统的关系型数据库性能上的缺陷:

主从实现读写负载服务器分离(MySQL集群)

分库:复杂,延迟,扩容问题(增加新机器,对整个数据集重新分区),重新负载均衡

 

Web2.0通常是不要求严格数据库事务

Web2.0不要求严格的读写实时性

Web2.0不包含复杂的SQL查询

 

关系型数据库:很难实现横向扩展,纵向扩展也很难,大数据量大效率下降,ACID事务,数据完整性,强大的技术和商业支持,管理员维护
NoSQL:扩展容易,复杂查询能力差,没有完整性,数据模型非常灵活,水平扩展好,具有非常好的可用性,能够在短时间内迅速返回所需的结果,未形成统一的标准,无基础维护较复杂


NoSQL四大类型:

 

 


NoSQL数据库的三大理论基石:

1、CAP理论:(只能三者取其二,不可能都实现)

  放弃P,选择CA 一般的关系型数据库
  放弃A,选择CP NoSQL数据库
  放弃C,选择AP Dynamo,Cassandra,Voldemort数据库


2、BASE:ACID是关系数据库中的事务的四个性质,在NoSQL数据库中BASE(碱)和ACID(酸)是对应关系

3、最终一致性(弱一致性的特例):强一致性(总能读到最新的数据)和弱一致性,主要区别在于高并发的数据访问操作下,后续操作是否能够获取最新的数据,最后总能读到正确的数据

如何实现各种类型的一致性:
N 数据冗余的份数
W 更新数据时需要保证写完成的节点数
R 读取数据的时候需要读取的节点数

W+R>N : 写节点和读节点重叠,一主一备同步复制的关系型数据库,当N=2,W=2,R=1,则不管读的是主库还是备库的数据,都是一致。至少要 W + R = N + 1

W+R<=N : 对于一主一备异步复制的关系型数据库,N =2 ,W = 1,R = 1 ,则如果读的是备份的数据库,就可能无法读取主库已经更新过的数据。

对于HBase,HBase是借助底层的HDFS来实现其数据冗余备份,HDFS采用强一致性保证,在数据未完全同步到N个节点前,写操作不会成功返回也就是说当W=N,而读操作只需要读到一个值即可也就说R=1.


NewSQL数据库(关系型)-- SQL Azure(底层仍然是SQL server一些的基础) ,Amazon RDS
NewSQL 分析型应用(非常好的水平可扩展性,强一致性,事务一致性,支持SQL查询,支持海量的数据存储)
NoSQL 互联网应用

技术分享图片

 

原文:https://www.cnblogs.com/zxgCoding/p/12906461.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!