Greenplum:从大数据战略到实现 (9):ABC:人工智能、大数据和云计算 1.2.3

阅读数:4 2019 年 12 月 18 日 21:09

Greenplum:从大数据战略到实现(9):ABC:人工智能、大数据和云计算 1.2.3

(大数据系统)

内容简介
这是一本系统剖析 Greenplum 开源大数据平台的书籍,也是大数据战略制定与落地的实战型指导书!
本书围绕数字原生和云计算、大数据、人工智能驱动的企业数字化转型的核心诉求,从商业和技术实战视角分享了业界领先企业大数据战略的深刻思考,并提供了大数据战略从制定到落地的全面指导。既有高阶数字化战略高度对大数据的解读,又有技术实战角度对使用 Greenplum 大数据和机器学习平台实现大数据战略的实践指南。
本书作者来自 Greenplum 核心研发团队,致力于以开源、开放的理念和先进的技术推进大数据产业生态,助力企业以更低的成本、更高的效率实现数字化转型,并基于 Greenplum 开源社区培养大数据产业更多人才。
本书分为四个部分。

  • 第一部分介绍大数据战略。其中,第 1 章将分享作者对于人工智能、大数据和云计算之间关系的理解以及对人和人工智能的思考。第 2 章将介绍进取型企业为什么需要大数据战略以及如何建立大数据战略。
  • 第二部分介绍大数据平台。其中,第 3 章将以数据平台演进历史和未来趋势为主题,描述三次整合的背景及影响,介绍选择大数据平台需要考虑的因素,以及为什么 Greenplum 是理想的大数据平台。第 4 章将介绍 Greenplum 数据库快速入门指南。第 5 章将介绍 Greenplum 架构的主要特点和核心引擎。第 6 章将介绍数据加载、数据联邦和数据虚拟化。第 7 章将介绍 Greenplum 的资源管理以及对混合负载的支持。
  • 第三部分介绍机器学习。其中,第 8 章介绍 Greenplum 的各种过程化编程语言(用户自定义函数),用户可以使用 Python、R、Java 等实现用户自定义函数,还可以通过容器化技术实现自定义函数的安全性和隔离性。第 9 章将介绍 Greenplum 内建的机器学习库 MADlib,数据科学家可以使用内建的 50 多种机器学习算法用 SQL 对数据进行高级分析,并介绍如何扩展 MADlib 以实现新算法。第 10 章和第 11 章将分别介绍 Greenplum 如何对文本数据和时空数据(GIS)进行存储、计算和分析。第 12 章将介绍 Greenplum 丰富的图计算能力。
  • 第四部分介绍运维管理和数据迁移。其中,第 13 章会介绍各种监控和管理工具及相关企业级产品。第 14 章介绍数据库备份和恢复。第 15 章和第 16 章将分别介绍如何从 Oracle 和 Teradta 迁移到 Greenplum。

在 Greenplum 和 Hadoop 出现之前,数据仓库和 BI 有两大局限性:一是系统的成本太高;二是 BI 需要结合人为判断才能产生商业意义。

首先来说成本的问题。假设一个四年制高校每年有 8 万名在校生(即每年有 2 万名新生),那么事务系统只要存储 8 万个学生相关的记录。但是,为了保留过去 20 年间所有学生的记录,数据仓库系统需要保留过去 16 年毕业生的 32 万个记录。在存储价格昂贵的 PC 时代(读者可以回忆一下,当时容量为 32MB 的可以下载 8 首 MP3 的 U 盘要卖 200 多元),成本数倍于业务系统但又不是刚需的数据仓库系统对于大部分企业来说是高阶玩家的装备。更为糟糕的是,不少早期的数据产品建立在封闭的硬件和软件之上。硬件方面,数据仓库都有专用存储系统,这些存储的价格是通用磁盘或者快闪存储价格的数倍到十余倍。同时,软件系统也是封闭的,围绕软件系统开发更多 BI 工具或者高阶的 AI 算法非常困难。加上当时 BI 应用普遍被认为非刚需应用,使得大部分企业很难看到投入产出比(ROI),导致进一步禁锢了大数据的价值。

其次来看 BI 需要人为判断的问题。BI 生成了很多报表,但是这些报表要靠公司的决策者来解读。依靠直觉的人为判断会浪费决策者大量时间。尽管决策者擅长分析解读数据并工作勤奋1,但 BI 的真正问题在于只有在决策者提出一个问题后才会生成报表。例如,一名校董提出希望了解学生的 GRE 成绩和就业薪水的关系,数据仓库工程部门才会生成相应的报表。但是,决策者们更希望计算机的数据系统能够覆盖他们的盲点。如果一个计算机系统能够自动发现 GRE 分数高和就业起薪高的人群在二维空间分布图上聚集度高的规律并能自动提醒决策者,那么这样的数据仓库系统才能真正帮助到决策者(实际上,这里隐含了一个叫作聚类的非监督学习的人工智能算法)。所以,产业界开始由 BI 向 AI 迁移,但是 AI 比起 BI 需要更多的算力、更多的廉价数据存储和更开放的软件系统。

1 过去,不少商业评论认为决策者的决策错误是他们的傲慢和未尽全职造成的,但在作者看来,决策者们比起普通职员不仅擅长解读数据而且勤奋。比如,在周末给一个公司决策者和一个普通员工各发一个有关公司产品重大质量故障的邮件,通常先回复的是决策者。可能是勤奋和数量分析能力的优秀习惯造就了决策者而不是反过来。事实上,他们的失误更多是由于缺乏工具支撑来覆盖盲点。BI 并没有成为这样的工具,所以 AI 在这方面的意义远胜于 BI。

开源 Hadoop 和 Greenplum 解决了这两个进入大数据时代的绊脚石。首先,Hadoop 和 Greenplum 是开放源代码的,这使得专用的数据仓库可以接受更多高阶算法的改进。例如,技术人员在 Greenplum 上面建立了一套叫作 MADLib2的人工智能和机器学习的库函数,企业可以在自己的数据上面应用很多高阶的机器学习算法,其中包括我们上面提到的非监督学习的算法,这意味着大数据系统可以找出更多靠人类直觉无法发现的智能和关联关系。MADLib 最早是由 Greenplum 和加州伯克利大学联合开发的,Pivotal 成立以后,将 MADLib 完全开源给 Apache,使其于 2017 年成为 Apache 的顶级开源项目。同样,Hadoop 也建立了一套机器学习的库函数 Spark ML3,它的逻辑和 MADLib 几乎是平行的。

2 详情可参考 http://madlib.apache.org/

3 详情可参考 https://spark.apache.org/mllib/

其次,Hadoop 和 Greenplum 都建立在通用的服务器存储上,也就是说,大数据系统的存储和读者家用电脑的存储是一样的。那么,Hadoop 和 Greenplum 是如何利用普通硬盘达到专用存储的可靠性和性能的?无论是普通硬盘还是专用存储设备,其本质都是通过相关的软件和硬件冗余来实现存储的性能和可靠性的。Hadoop 和 Greenplum 只是把这些软件的逻辑上移到服务器层次(Tier)。因为大数据系统需要对数据整遍整遍地读取,硬盘很容易损坏,所以 Hadoop 和 Greenplum 采用冗余方式解决这个问题,即把一个数据块同时拷贝在 2~3 台服务器上(有些没有安全感的公司甚至拷贝到 5~7 台服务器上)。如图 1-2 所示,文件块 1、2、3 同时在三台服务器上存有两个拷贝。服务器 A 上有文件块 1 和 3,服务器 B 上有文件块 2 和 3,服务器 C 上有文件块 1 和 2。这样做的好处是,任何一台服务器损坏时都不必担心,因为它上面的文件块必然在其他两台服务器上有备份。假设服务器 C 损坏,其硬盘上的文件块 1 和 2 丢失,此时插入一台新的服务器 D,就可以从服务器 A 上恢复文件块 1,从服务器 B 上恢复文件块 2,最终服务器 D 重构了文件块 1 和文件块 2,从而完美取代了原来的服务器 C。

Greenplum:从大数据战略到实现(9):ABC:人工智能、大数据和云计算 1.2.3

图 1-2 数据冗余和数据本地性

数据冗余的另一个好处就是可以实现数据本地性(Data Locality)。并行计算的一个关键瓶颈是数据移动,而通过数据冗余可以实现在本地移动数据的效果。仍以图 1-2 为例,如果一个计算任务需要扫描文件块 1,而服务器 A 正忙于其他任务。这时候因为服务器 C 上有文件块 1 的冗余,就可以把这个计算任务分派到服务器 C。假设没有服务器 C 上的冗余备份,那么只能从服务器 A 上拷贝数据块 1,在这种情况下,有大量时间不是用于计算文件块 1,而是等待数据块 1 从服务器 A 拷贝 C,造成大量的时间浪费。

因为 Hadoop 系统和 Greenplum 系统的开源和开放以及使用通用硬件构建大数据系统,从而极大降低了大数据系统建设和使用的门槛。加之很多学术机构和顶级公司已经用它们的专用系统通过大数据在机器学习和人工智能上取得成功,强烈的示范效应使大数据风靡全球。大部分中大型企业都开始考虑通过大数据系统增强自己的竞争力。

Greenplum:从大数据战略到实现(9):ABC:人工智能、大数据和云计算 1.2.3

购书地址 https://item.jd.com/12668618.html?dist=jd

评论

发布