Greenplum:从大数据战略到实现 (40):建立基于大数据的高阶数字化战略 3.4.1

阅读数:20 2019 年 12 月 21 日 17:54

Greenplum:从大数据战略到实现(40):建立基于大数据的高阶数字化战略 3.4.1

(NoSQL 出现的背景)

内容简介
这是一本系统剖析 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。

在新千年的第一个十年,数据处理领域最令人瞩目的变化是各种 NoSQL 数据库如雨后春笋般涌现,呈现出百花齐放、百家争鸣的局面。根据 nosql-database.org 在 2018 年的统计数据,共有超过 225 个 NoSQL 产品,这种情况的出现有鲜明的时代背景。

始于 1969 年的互联网(Internet)改变了人类的方方面面,其影响仍然在进一步深化,甚至可以说其影响才刚刚开始。互联网出现不久,电子邮件就成为深受人们喜爱的高效、便捷的沟通方式之一,电子布告板(BBS)成为便捷的信息发布平台。1989 诞生的万维网(WWW)则彻底改变了信息的链接方式。随后海量网站出现,信息呈爆炸式增长,获取数据变得非常容易,而从大量网络数据中找到需要的信息变得越来越困难,这催生了互联网巨头。Yahoo 从黄页起步快速成为流行的门户网站,Google 开始提供高质量搜索服务。1999 年出现、2004 年开始流行的 Web 2.0 标志着互联网进入新时代:用户生成内容提高了服务的粘性,更好的交互性大大提高了用户体验,粘性和体验的提升又进一步带来更多的访问量和更长的访问时间。这个时期常用的服务包括社交平台、电商平台、网络社区、博客等。

快速增长的数据量给年轻的互联网巨头带来了巨大的技术挑战:现有的数据处理技术无法适应数据量的快速增长。传统的企业(如银行)也有大量的数据,但由于其核心业务是交易,因此他们可以通过控制数据量(特别是历史数据量)使现有的数据处理技术能够满足其业务需求。对于互联网公司,数据是核心资产,因此只能努力前进,解决这些他人还未遇到的难题,而不能退缩。互联网公司面临两种选择:垂直扩展(Scale Up)或者水平扩展(Scale Out)。垂直扩展指采购功能更强大的机器解决问题,这也意味着要有更大的资金投入,且这种投入增长不是线性的,另外,垂直扩展总是有上限的。所以,很多互联网公司采用水平扩展的方案,通过购买更多的商用硬件组建集群来解决扩展问题。

水平扩展方案也带来了一个新的问题:虽然从 20 世纪 80 年代开始,学术界和企业界就对分布式数据库进行研究和开发,但当时还没有可以很好地支持集群的商用事务型关系数据库。Oracle RAC 和微软的 SQL Server 虽然支持集群,但仍然基于共享磁盘,扩展能力有限。这种关系数据库和分布式集群的不匹配,使得互联网巨头和大企业不得不考虑其他存储方案。早期的尝试之一是使用基于中间件的方案,包括 eBay 的基于 Oracle 的集群和谷歌的基于 MySQL 的集群。中间件方案的底层大多使用某种关系数据库,而关系数据库自身的特性(如 ACID)限制了性能和可用性,使用关系数据库做底层存储代价过高。于是,某些公司开始尝试改变这一状况,很多新技术和产品应运而生。这些新产品放弃了 ACID、模式(Schema)和跨节点关联等关键 SQL 特性,以获得对海量数据的高速处理能力、高扩展性和高可用性等。谷歌于 2003 年发表了 GFS 论文、2004 年发表了 MapReduce 论文、2006 年发表了 BigTable 论文;亚马逊于 2007 年发表了 Dynamo 论文;雅虎于 2006 年开源了 Hadoop;Facebook 于 2008 年开源了 Cassandra。这些研究和技术为 NoSQL 的发展奠定了良好的基础。其他很多知名 NoSQL 产品也是在这一时期开始研发或者发布的,包括 CouchDB(2005)、MongoDB(2007)、Hypertable(2008)、Cassandra(2008)、Redis(2009)、MongoDB(2009)、ElasticSearch(2010)等。

NoSQL 是一次由开发人员主导的技术趋势。大型互联网公司在发展过程中吸引了大量优秀人才,积蓄了强大的技术实力,具备开发新型系统的能力。同时,来自业务的需求给他们带来了开发新型系统的动力。开发全新系统是机遇也是挑战。很多系统的开发者希望借此机会解决长期困扰开发效率的某些问题,其中之一就是数据处理领域自关系模型出现以来就存在的对象和关系模型不匹配(Object Relational Impedance Mismatch)问题。存储和处理数据的关系模型本质上是一个扁平的二维数据结构,不支持灵活的嵌套,而编程语言在内存中的数据结构通常是具有多级嵌套的结构体或者对象。这种内存和外存数据模型的不匹配使得开发人员不得不实现大量烦琐的代码进行转换,不但影响开发效率,而且容易出错。另一个问题是修改应用数据结构之前通常需要修改数据库的模式,这在需要频繁更新数据结构的场景下非常不方便。

图 3-11 显示了这种内外存数据模型不匹配的问题,左边是内存中的数据结构,右边是数据库中的存储结构,内存中的数据结构是嵌套型,而关系数据库的数据模型是扁平的。很多 NoSQL 产品解决或避免了这个问题,如文档数据库使用支持嵌套的 JSON 格式存储数据,而键值数据库则忽略数据的内部格式,把内存中的数据序列化为二进制串存储,读取的时候再进行反序列化。

Greenplum:从大数据战略到实现(40):建立基于大数据的高阶数字化战略 3.4.1

图 3-11 内外存数据模型不匹配

(来源: https://www.thoughtworks.com/insights/blog/nosql-databases-overview

Greenplum:从大数据战略到实现(40):建立基于大数据的高阶数字化战略 3.4.1

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

评论

发布