大数据生态 说起大数据生态,不得不提大数据生态系统图,而大数据行业却不断的发生着巨变,目前的这张图应该还算比较新了。 ![]() 创业者们蜂拥至这个行业,这个行业正变得越来越拥挤。Hadoop似乎已经奠定了其作为整个大数据生态系统的关键部分,Spark是另一个基于内存计算的开源分布式计算框架,它试图填补Hadoop的弱项,提供更快的数据分析和良好的编程接口。 分析工具领域变得异常活跃,数据应用领域正如预测一样逐渐成为重心。一些类别如数据库无论是NoSQL还是NewSQL和社交数据分析正日趋成熟。 今天就先让我们从众多内容当中,先挑选一块和大家探讨探讨,先从数据库说起吧。 数据库技术 传统vs新型 从大的角度讲,可以简单的将数据库分为两类: ●传统SMP架构的数据库,主要指代的是传统的关系型数据库,例如DB2、Postgrel,MySQL等。 ●新型数据库,主要指代为支持大规模数量集,高并发要求,高可扩展性等孕育而生的新型数据库。包括目前大数据生态当中主流MPP,NoSQL,NewSQL数据库等 传统数据库和新型数据库的一个主要区别是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) 分区发生但不影响整个系统的运行 ![]()
在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来! |