深圳PHP培训
达内深圳罗湖中心

185-8886-4961

热门课程

大数据背景下的程序员生存法则(1)

  • 时间:2016-03-09
  • 发布:深圳PHP培训班
  • 来源:达内新闻

大数据时代的第三类催化剂,我们称之为物联网,有人也管它叫工业互联网,它其实是在移动互联网的基础之上的一次延伸。据IDC和Gartner的统计,预计2020年全球范围内有大概300亿,甚至有人预测大概有2000亿 种联网的设备,也就是平均每个人有几十个不同的设备,包括各种各样可穿戴的设备、包括原来移动互联网的一些设备,它们会生成更多类型的数据,而且数据的生成通常以流数据,或者快数据的形式产生。所以,这三大催化剂其实要求我们要有新的大数据的设计的架构,包括设计的理念,然后它要能去对这种丰富的数据类型进行处理。

我们现在来看一看大数据在过去的十年到二十年间整个技术架构的发展趋势。“大数据”这个名词最早被准确地提出是1998年在硅谷SGI公司的首席科学家。在20世纪90年代,我们见证了整个关系型数据库,包括数据仓库的高速发展,幻灯片2的最左边所示的产品,包括IBM的DB2、Oracle、SAP、开源的MySQL、PostgreSQL,它们是这个时代赫赫有名的关系型数据库,当然也有一些MPP的,后面我们会提到所谓大规模并行处理的数据库架构。

我们知道,Hadoop非常适合对海量的数据进行批处理,NoSQL非常适合对数据进行交互性处理。当然,这两个阵营之间也会有一些交叉。但是,通常来说,它们并不擅长实时处理,至少这不是它们最初的设计目标之一。当然我们知道后来Hadoop向前发展,有基于内存的Spark,到后来发展成流数据 Spark Streaming等等,NoSQL也是向那个方向发展。还有一点,在20年前早期的关系型数据库当中,很多都符合这种交易处理的一些原则。我们换另外一个纬度看,就是OLAP跟OLTP,即在线分析系统跟在线的事务处理,或者交易处理系统。通常来说,在NoSQL跟Hadoop设计的早期原则当中,它们或者是做OLTP,或者做OLAP,把它们兼而有之也是业界的一个发展趋势,这个时候我们引入了表中的NewSQL,无独有偶,它最早也是由谷歌公司推出的。业界最早把它叫做谷歌Spanner,它在全球范围内,可以在多个数据中心之间实现一个跨数据中心的、能保证数据的可用性、分区容忍性、强一致性,ACID的效果。

大数据背景下的程序员生存法则(1)

之后就是NewSQL的出现,NewSQL可以简单理解为它支持事务和交易处理的强一致性。在这个基础之上,它其实又满足了数据的可用性和分区容忍度。根据CAP理论,一致性、可用性、分区容忍度不能同时满足,但是NewSQL在很大程度上已经颠覆了这一点,最典型的就是谷歌的Spanner,在全球的数据中心之间,可以保证跨数据的可用性、一致性跟高度的分区容忍度。

不过NewSQL这个阵营当中,开源的选择非常少,不论是谷歌Spanner、SAP HANA,还是VoltDB,我们现在已知的是Pivotal GemFire是非常有可能开源的。GemFire大家可能感到陌生,大家熟知的12306订票网站的性能改进很大程度上来自于GemFire。2013 年的春节之后,12306整个系统从IBM的DB2(跑在小型机上的DB2系统),改为GemFire,用了十对PC服务器,把车票查询的速度提高了大概上千倍左右,也就是所有的查询都会变成秒出,这对业界是非常具有影响力的一件事情,但是很可惜,知道的人非常少。

准确地说,GemFire是一种键值数据库,当然它能处理的数据类型也非常复杂,跟Redis非常类似。Redis早期也被认为是键值数据库,其实它可以处理的东西变得相当相当的复杂。比如,Redis可以根据图片、多媒体的文件来作为它的主键进行哈希搜索,大家知道哈希的运算速度。简单来说,大数据架构技术的发展趋势出现了这几个不同的阵营,Hadoop、NoSQL跟NewSQL,原来老的关系型数据库也并没有死掉,都是在齐头并进。我们常说分久必合、合久必分,它们这些阵营之间其实都有一些向对方去靠拢和融合的一个趋势。换一个纬度说就是OLAP跟OLTP的这些功能在一个系统之间都会出现。

云存储其实没有一个真正意义上的行业标准,只是有既定的标准。这就是亚马逊的S3的 标准,它是一种对象存储。我们说存储的三大形式,文件类型的存储、块存储,第三大类型就是对象存储,也是最后出现的。存储再往下一步发展是什么样的形式 呢?就是软件定义的存储,大家都听说过一个概念,叫做软件定义的数据中心。在软件定义的数据中心当中,第一部分是虚拟化,包括后来的容器技术,以及容器化,这都是对计算的一种虚拟化,带来速度的提高。

软件定义数据中心当中的第二块技术是网络的虚拟化。我们说它三大要素,计算、网络与存储,最后其实被虚拟化,或者被软件来定义的,通过对存储进行虚拟化与 软件的定义以获得更高的灵活性,其实这是一个多层抽象的概念。目的是为了能让上层的应用,或用户以更低廉的成本去使用存储,然后更方便地对要存储的数据进行定义。

希望以上对你将你有所帮助!达内深圳PHP培训有着国内首家完整的移动PHP课程体系,高度专注PHP前沿技术。深圳PHP培训项目全部来自于真实的企业项目,单独项目代码量超过 6万行。为了让学员尽快的进入到企业开发的项目中,达内使用自主开发的产品和为客户定制的企业产品为案例,大批深圳PHP培训开发学员都从中收益。

我们是 一群热爱IT的年轻人,如果你也爱IT、爱PHP开发,欢迎前来达内深圳PHP培训中心参观学习,让我们共同为梦想发声。

上一篇:程序员的职业生涯如何规划
下一篇:大数据背景下的程序员生存法则(2)

达内因材施教才,进行完美的PHP培训课程

PHP Win 环境包Qampp 2.5.3 正式发布

【PHP短讯】php 7.0 对应版本phpems 发布

非科班程序员该如何提升技能

选择城市和中心
贵州省

广西省

海南省