大数据生态数据库技术 传统vs新型,我来为大家讲解一下关于大数据技术基础包括数据库?跟着小编一起来看一看吧!
大数据技术基础包括数据库
大数据生态
数据库技术 传统vs新型
从大的角度讲,可以简单的将数据库分为两类:
●传统SMP架构的数据库,主要指代的是传统的关系型数据库,例如DB2、Postgrel,MySQL等。
●新型数据库,主要指代为支持大规模数量集,高并发要求,高可扩展性等孕育而生的新型数据库。包括目前大数据生态当中主流MPP,NoSQL,NewSQL数据库等
在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴
传统数据库和新型数据库的一个主要区别是SMP架构VS分布式/并行
数据库理论基础
理论基础 - 服务器系统架构
●SMP(Symmetric Multi-Processor)
SMP是对称多处理器结构的简称,指代多个CPU对称工作,无主次或从属关系。各个CPU共享相同的物理内存,每个CPU访问内存中的任何地址的路径是相同的(访问的时间是相同的),因此SMP也被称为一致存储器访问结构(UMA: Uniform Memory Access)。
●NUMA(Non-Uniform Memory Access)
NUMA是非对称的多处理结构,刚好与SMP相对,多个CPU工作时,对内存的访问路径不同。NUMA架构的提出主要是解决SMP架构下多CPU扩展的问题。
●MPP(Massive Parallel Processing)
和NUMA不同,MPP提供了另一种进行系统扩展的方式。它由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。
SMP和NUMA都主要指向单一的计算机系统,而MPP则有点集群的意思了
理论基础 - ACID基本理论
●原子性(Atomic)
整个事务要么成功,要么失败,杜绝部分成功
●一致性(Consistent)
事务的运行并不改变数据库中数据的一致性。例如,完整约束了a b=10,一个事务改变了a,那么b也应该随之改变
●独立性(lsolated)
也称作隔离性,指两个以上的事务不会出现交错执行的状态,因为这样不可能会导致数据不一致
●持久性(Durable)
事务执行成功以后,该事务所对数据库做的更改便是持久的保存在数据库之中,不会无缘无故的回滚
传统基于关系模型的数据库遵从ACID基本理论,而新型分布式数据库则并不完全遵从该理论
理论基础 - 分布式CAP理论
●一致性(Consistent)
即数据的⼀一致性,简单的说就是数据复制到N台机器,如果有更新,要N台机器的数据一起更新
●可用性(Availability)
在集群中一部分节点故障后,集群整体还能响应客户端的读写请求
●分区容错性(Tolerance)
分区发生但不影响整个系统的运行
在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴
基于传统关系型模型数据库更关注CA,新型NoSQL数据库更关心CP,AP