004:AWS数据湖解决方案
数据湖作为当前的一个风口,各大云厂商纷纷推出自己的数据湖解决方案及相关产品。本节将分析AWS推出的数据湖解决方案,并将其映射到数据湖参考架构上,帮助大家理解其方案的优缺点。
一. 方案架构
亚马逊AWS算是“数据湖”技术的鼻祖了,早在2006年3月,亚马逊就推出了全球首款公有云服务Amazon S3,其强大的数据存储能力,奠定了AWS数据湖领导地位的基础。
上图是AWS数据湖的一个典型架构,我们看到数据湖并不是一个产品、也不是一项技术,而是由多个大数据组件、云服务组成的一个解决方案。
当然,最核心的组件是Amazon S3,它可以存储二进位为基础的任何信息,包含结构化和非结构化的数据,例如:企业信息系统ERP、CRM等系统中的关系型数据,从手机、摄像机来的照片、音视频文件,从汽车上、风力发电机等各种设备来的数据文件等等。
数据源连接,AWS 提供了一个叫AWS Glue产品,Glue是胶水的意思,支持不同的数据库服务之间的连接。Glue主要有两个功能,一个是ETL,即,数据的抽取、转换和加载。另一个功能,是数据目录服务的功能,因为把这些数据都存在数据湖里面,在这个过程中,要对这些数据打上标签,把它做分类的工作。Glue就像爬虫一样对数据湖里的海量数据,进行自动爬取,生成数据目录的功能。
大数据处理,AWS数据湖可以分为三个阶段对数据进行处理。
数据服务:AWS数据湖可为不同角色的用户提供不同的数据服务,数据科学家可以基于数据湖进行数据探索和数据挖掘,数据分析师可以基于数据进行数据建模、数据分析等;业务人员可以查询、浏览数据分析师的分析结果,也基于数据目录自助式进行数据分析。基于数据湖可以开发各类SaaS应用,同时数据湖提供数据开放能力,支持将数据以API接口的形式开放出去以供外部应用调用。
安全与运维:由于AWS数据湖运行在云端,数据安全人们关注的重点。亚马逊的Amazon VPC为云端数据湖提供了管理和监控功能,VPC 支持指定 IP 地址范围、添加子网、关联安全组以及配置路由表亚马逊 公有云,AWS IAM、AWS KMS为数据湖的安全保驾护航,为构建出一个安全的云数据湖提供支撑。
二. 如何构建数据湖
数据湖从技术层面也是一个大数据平台亚马逊 公有云,传统上搭建一个集数据存储、数据处理、机器学习、数据分析等应用为一体的大数据平台需要十几个甚至几十个大数据组件,同时还需要为相关组件构建集群,以满足大批量数据处理、计算和存储的需要。这个过程往往是非常复杂的,可能需要数月才能完成。
2018年,AWS 推出了,摘自AWS网站:
AWS Lake 是一项服务,可以在几天内轻松建立安全的数据湖。数据湖是一个安全的集中式经策管存储库,它以数据原始形式和可用于分析的形式存储所有数据。利用数据湖,您可以分解数据孤岛并组合不同类型的分析,从而获得洞察并指导作出更好的业务决策。
设置和管理数据湖涉及大量极为耗时的复杂手动任务。这项工作包括加载来自不同来源的数据、监控这些数据流、设置分区、打开加密和管理密钥、定义转换任务并监控其操作、将数据重新组织成列格式、删除冗余数据重复数据以及匹配链接记录。数据加载至数据湖后,您需要授权对数据集的精细访问权,并对各种分析和机器学习 (ML) 工具和服务的长期访问权进行审核。
使用 Lake 创建数据湖很简单,只需定义数据源,制定要应用的访问和安全策略就行。然后,Lake 会帮助您从数据库和对象存储中收集并按目录分类数据,将数据移动到新的 Amazon Simple Storage Service (S3) 数据湖,使用机器学习 (ML) 算法清理和分类数据,并对列、行和单元格进行精细控制以安全访问敏感数据。您的用户可以访问那些描述了可用数据集及其适当用法的集中数据目录。然后004:AWS数据湖解决方案,用户可以将所选分析和机器学习 (ML) 服务与这些数据集配合使用,例如 Amazon 、Amazon Athena、Amazon EMR for Apache Spark 和 Amazon 。Lake 建立在 AWS Glue 中可用的功能之上。
那么基于AWS数据服务组件,到底该如何构建出一个“数据湖”?AWS官网中给出“数据湖”从创建到应用的五个步骤,如下图所示:
笔者将这五个步骤归纳为“建湖、聚数、治数、用数”八个字:建湖即初始化存储,聚数即迁移数据,治数即数据清洗、数据准备、元数据管理、数据安全和合规性管理,用数即数据分析、数据服务。
2.1 建湖--闲庭信步筑数湖
首先,基于AWS 、IAM服务创建数据湖运行工作流的所需的管理员和权限策略所需的角色,即:为数据湖创建管理员和指定用户组。
然后,注册数据湖,指定数据湖存储中心Amazon S3的路径,并设置“数据湖”权限发发库Sitemaps,以允许其他人管理“数据目录”和数据湖中的数据。
最后,设置Amazon Athena以便查询导入到Amazon S3数据湖中的数据。
至此,一个简单的数据湖就构建完成了。当然不同的应用场景下我们还需要设置不同服务,对于希望把存放在数据湖和数据仓库中的数据做交叉融合分析的用户,可以通过设置Amazon ,使得可以查询存储在Amazon S3中的数据,从而实现数据仓库与数据湖的数据融合分析。
2.2 聚数--百条大川终归海
随着大数据时代的到来,企业数据量的明显激增,各种各样的数据铺天盖地而来。有来自企业内部信息系统的数据,例如:ERP系统、CRM系统等,经过多年的沉淀,企业积累的大量的历史数据,是企业数据分析的主要来源。有来自于各种IoT设备产生的实时数据,而且这些数据常以混合数据格式生成的,包括结构化数据、半结构化数据和非结构化数据。有来自企业的互联网数据,包括互联网业务产生的数据,以及通过网页爬虫采集的其他网站的数据……,这些新的大规模的海量的数据,不仅量大、种类繁多,而且来的又非常猛,犹如“洪水猛兽”。
AWS为实现不同数据类型数据的数据采集、处理提供了多种工具,例如:AWS Glue、 、Kinesis、 of Things等,支持将各种类型的数据轻松迁移至Amazon S3中进行统一管理。这个过程,就正好像就像“数据湖”字面含义,我们就找一大片湿地(S3),然后这些像洪水一样来自“四面八方”的数据先蓄在这个湖里面,形成数据“百川归海”之势,然后在利用一些工具来对它进行治理、查询和分析。
2.3 治数--疏川导滞按需流
数据湖有着卓越的数据存储能力,支持大量的、多种类型的大数据统一存储。然而,企业的业务是实时在变化的,这代表着沉积在数据湖中的数据定义、数据格式实时都在发生着转变,如果不加以治理,企业的“数据湖”就有可能变成“垃圾”堆积的“数据沼泽”,而无法支撑企业的数据分析和使用。
“流水不腐,户枢不蠹”,我们只有让“数据湖”中的“水”流动起来,才可以让“数据湖”不变成“数据沼泽”。AWS Glue提供ETL和数据目录能力,让数据从数据源迁移过来的时候就能做一定的数据转换,并形成清晰的数据目录。Amazon EMR、Amazon Glue支持对数据湖中的数据分区域、分阶段的进行清洗和处理,进一步净化湖中的“水源”。之后,数据通过 Amazon Machine 、Amazon Lex、Amazon 进行深度加工,形成可利用的数据服务,这样循环往复,持续提升数据湖中的“水质”。
同时,Amazon S3、、具备很好的数据安全机制,数据的传输和存储都是加密的,加密密钥只有客户自己掌握,防止数据泄露带来的风险。另外,还有Amazon VPC安全策略、AWS IAM、AWS KMS等安全组件为AWS数据湖保驾护航,为企业数据的存储、处理、使用提供一个安全、合规的数据环境。
总之,通过在数据湖的设计、加载和维护过程中加入强大的数据处理、元数据管理、数据质量检核和数据安全的相关组件,并由所有这些领域的经验丰富的专业人员积极参与,可显著提高数据湖的价值。否则,你的数据湖可能会变成数据沼泽。
2.4 用数--水到渠成价值增
数据湖的出现,最初就是为了补充数据仓库的缺陷和不足,为了解决数据仓库漫长的开发周期,高昂的开发成本,细节数据丢失、信息孤岛无法彻底解决、出现问题无法真正溯源等问题。但是随着大数据技术的发展,数据湖不断演变,汇集了各种技术,包括数据仓库、实时和高速数据流技术、机器学习、分布式存储和其他技术。数据湖逐渐发展成为一个可以存储所有结构化、非结构化数据,对数据进行大数据处理、实时分析和机器学习等操作的统一数据管理平台,为企业提供数据“采集、存储、治理、分析、挖掘、服务”的完整解决方案,从而实现“水到渠成”的数据价值洞察。
AWS 提供了在数据湖上运行的最广泛、最具成本效益的分析服务集合,每项分析服务都专门为广泛的分析用例而构建:
这些工具和服务,能够为不同角色的用户,例如数据科学家、数据分析师、业务人员、数据管理员等提供强大的功能支持,从而帮助企业实现以“数据为驱动”的数字化转型。
四、总结
传统信息系统是由流程驱动的,企业的所有业务都是围绕着流程而进行的,这个阶段数据并没有引起人们的重视。到了数据仓库阶段,企业对数据的应用也仅是处于辅助层面,企业的管理决策、业务创新主要还是靠人的经验,数据只是一个参考。但随着数字化时代的来临,大数据技术不断的深入应用,人们发现大数据的问题发现能力、预测能力要远远超过人们的经验。越来越多的企业选择基于数据进行企业的经营决策,基于数据提升组织绩效,基于数据做产品的创新。企业正在从“流程驱动”的信息化时代,走向“数据驱动”的数字化时代。
“数据湖”是应时代而生的一个产物,它的价值不仅在于可以将海量的、不同类型的数据进行统一存储,并提供数据目录和查询服务。数字化的时代,数据更加大量、更加实时、更加面向未来,机器学习、人工智能成为一个企业数字化转型的关键性因素。数据湖支持海量的、实时的数据处理和分析,甚至这种数据处理与分析都不需要预定义数据模型,增强了数据的洞察能力,它使得这些海量数据的价值比以前有所提高,帮助人们在局部的数据里面找到更多的规律,可以说“数据湖”简直是为“机器学习”而生。
有效的利用“数据湖”,充分的挖掘数据潜在价值,能帮助企业更好的细分市场,以助于企业能有针对性的为企业发展提供决策支撑,更好的掌握市场动向,更好的对市场反应产生新的洞见,更好的设计规划或改进产品,更好的为客户提供服务,从而提升企业的竞争力,甚至创新企业的商业模式。
【本文来源于互联网转载,如侵犯您的权益或不适传播,请邮件通知我们删除】