数据湖作为当前的一个风口,各大云厂商纷纷推出自己的数据湖解决方案及相关产品。本节将分析AWS推出的数据湖解决方案,并将其映射到数据湖参考架构上,帮助大家理解其方案的优缺点。

一. 方案架构

亚马逊AWS算是“数据湖”技术的鼻祖了,早在2006年3月,亚马逊就推出了全球首款公有云服务Amazon S3,其强大的数据存储能力,奠定了AWS数据湖领导地位的基础。

上图是AWS数据湖的一个典型架构,我们看到数据湖并不是一个产品、也不是一项技术,而是由多个大数据组件、云服务组成的一个解决方案。

当然,最核心的组件是Amazon S3,它可以存储二进位为基础的任何信息,包含结构化和非结构化的数据,例如:企业信息系统ERP、CRM等系统中的关系型数据,从手机、摄像机来的照片、音视频文件,从汽车上、风力发电机等各种设备来的数据文件等等。

数据源连接,AWS 提供了一个叫AWS Glue产品,Glue是胶水的意思,支持不同的数据库服务之间的连接。Glue主要有两个功能,一个是ETL,即,数据的抽取、转换和加载。另一个功能,是数据目录服务的功能,因为把这些数据都存在数据湖里面,在这个过程中,要对这些数据打上标签,把它做分类的工作。Glue就像爬虫一样对数据湖里的海量数据,进行自动爬取,生成数据目录的功能。

大数据处理,AWS数据湖可以分为三个阶段对数据进行处理。

  • 第一阶段批处理:通过把各种类型的原始数据加载到Amazon S3上,然后通过AWS Glue对数据湖中的数据进行数据处理,也可以使用Amazon EMR进行数据的高级处理分析。
  • 第二阶段流处理和分析,这个任务是基于Amazon EMR、Amazon Kinesis来完成的。
  • 第三阶为机器学习,数据通过 Amazon Machine Learning、Amazon Lex、Amazon Rekognition进行深度加工,形成可利用的数据服务。

数据服务:AWS数据湖可为不同角色的用户提供不同的数据服务,数据科学家可以基于数据湖进行数据探索和数据挖掘,数据分析师可以基于数据进行数据建模、数据分析等;业务人员可以查询、浏览数据分析师的分析结果,也基于数据目录自助式进行数据分析。基于数据湖可以开发各类SaaS应用,同时数据湖提供数据开放能力,支持将数据以API接口的形式开放出去以供外部应用调用。

安全与运维:由于AWS数据湖运行在云端,数据安全人们关注的重点。亚马逊的Amazon VPC为云端数据湖提供了管理和监控功能, VPC 支持指定 IP 地址范围、添加子网、关联安全组以及配置路由表,AWS IAM、AWS KMS为数据湖的安全保驾护航,为构建出一个安全的云数据湖提供支撑。

二. 如何构建数据湖

数据湖从技术层面也是一个大数据平台,传统上搭建一个集数据存储、数据处理、机器学习、数据分析等应用为一体的大数据平台需要十几个甚至几十个大数据组件,同时还需要为相关组件构建集群,以满足大批量数据处理、计算和存储的需要。这个过程往往是非常复杂的,可能需要数月才能完成。

2018年,AWS 推出了LakeFormation,摘自AWS网站:

AWS Lake Formation 是一项服务,可以在几天内轻松建立安全的数据湖。数据湖是一个安全的集中式经策管存储库,它以数据原始形式和可用于分析的形式存储所有数据。利用数据湖,您可以分解数据孤岛并组合不同类型的分析,从而获得洞察并指导作出更好的业务决策。

设置和管理数据湖涉及大量极为耗时的复杂手动任务。这项工作包括加载来自不同来源的数据、监控这些数据流、设置分区、打开加密和管理密钥、定义转换任务并监控其操作、将数据重新组织成列格式、删除冗余数据重复数据以及匹配链接记录。数据加载至数据湖后,您需要授权对数据集的精细访问权,并对各种分析和机器学习 (ML) 工具和服务的长期访问权进行审核。

使用 Lake Formation 创建数据湖很简单,只需定义数据源,制定要应用的访问和安全策略就行。然后,Lake Formation 会帮助您从数据库和对象存储中收集并按目录分类数据,将数据移动到新的 Amazon Simple Storage Service (S3) 数据湖,使用机器学习 (ML) 算法清理和分类数据,并对列、行和单元格进行精细控制以安全访问敏感数据。您的用户可以访问那些描述了可用数据集及其适当用法的集中数据目录。然后,用户可以将所选分析和机器学习 (ML) 服务与这些数据集配合使用,例如 Amazon Redshift、Amazon Athena、Amazon EMR for Apache Spark 和 Amazon QuickSight。Lake Formation 建立在 AWS Glue 中可用的功能之上。

那么基于AWS数据服务组件,到底该如何构建出一个“数据湖”?AWS官网中给出“数据湖”从创建到应用的五个步骤,如下图所示:

笔者将这五个步骤归纳为“建湖、聚数、治数、用数”八个字:建湖即初始化存储,聚数即迁移数据,治数即数据清洗、数据准备、元数据管理、数据安全和合规性管理,用数即数据分析、数据服务。

2.1 建湖--闲庭信步筑数湖

首先,基于AWS Identity、IAM服务创建数据湖运行工作流的所需的管理员和权限策略所需的角色,即:为数据湖创建管理员和指定用户组。

然后,注册数据湖,指定数据湖存储中心Amazon S3的路径,并设置“数据湖”权限,以允许其他人管理“数据目录”和数据湖中的数据。

最后,设置Amazon Athena以便查询导入到Amazon S3数据湖中的数据。

至此,一个简单的数据湖就构建完成了。当然不同的应用场景下我们还需要设置不同服务,对于希望把存放在数据湖和Redshift数据仓库中的数据做交叉融合分析的用户,可以通过设置Amazon Redshift Spectrum,使得Redshift可以查询存储在Amazon S3中的数据,从而实现数据仓库与数据湖的数据融合分析。

2.2 聚数--百条大川终归海

随着大数据时代的到来,企业数据量的明显激增,各种各样的数据铺天盖地而来。有来自企业内部信息系统的数据,例如:ERP系统、CRM系统等,经过多年的沉淀,企业积累的大量的历史数据,是企业数据分析的主要来源。有来自于各种IoT设备产生的实时数据,而且这些数据常以混合数据格式生成的,包括结构化数据、半结构化数据和非结构化数据。有来自企业的互联网数据,包括互联网业务产生的数据,以及通过网页爬虫采集的其他网站的数据……,这些新的大规模的海量的数据,不仅量大、种类繁多,而且来的又非常猛,犹如“洪水猛兽”。

AWS为实现不同数据类型数据的数据采集、处理提供了多种工具,例如:AWS Glue、Database Migration、Kinesis、Internet of Things等,支持将各种类型的数据轻松迁移至Amazon S3中进行统一管理。这个过程,就正好像就像“数据湖”字面含义,我们就找一大片湿地(S3),然后这些像洪水一样来自“四面八方”的数据先蓄在这个湖里面,形成数据“百川归海”之势,然后在利用一些工具来对它进行治理、查询和分析。

2.3 治数--疏川导滞按需流

数据湖有着卓越的数据存储能力,支持大量的、多种类型的大数据统一存储。然而,企业的业务是实时在变化的,这代表着沉积在数据湖中的数据定义、数据格式实时都在发生着转变,如果不加以治理,企业的“数据湖”就有可能变成“垃圾”堆积的“数据沼泽”,而无法支撑企业的数据分析和使用。

“流水不腐,户枢不蠹”,我们只有让“数据湖”中的“水”流动起来,才可以让“数据湖”不变成“数据沼泽”。AWS Glue提供ETL和数据目录能力,让数据从数据源迁移过来的时候就能做一定的数据转换,并形成清晰的数据目录。Amazon EMR、Amazon Glue支持对数据湖中的数据分区域、分阶段的进行清洗和处理,进一步净化湖中的“水源”。之后,数据通过 Amazon Machine Learning、Amazon Lex、Amazon Rekognition进行深度加工,形成可利用的数据服务,这样循环往复,持续提升数据湖中的“水质”。

同时,Amazon S3、DynamoDB、Redshift具备很好的数据安全机制,数据的传输和存储都是加密的,加密密钥只有客户自己掌握,防止数据泄露带来的风险。另外,还有Amazon VPC安全策略、AWS IAM、AWS KMS等安全组件为AWS数据湖保驾护航,为企业数据的存储、处理、使用提供一个安全、合规的数据环境。

总之,通过在数据湖的设计、加载和维护过程中加入强大的数据处理、元数据管理、数据质量检核和数据安全的相关组件,并由所有这些领域的经验丰富的专业人员积极参与,可显著提高数据湖的价值。否则,你的数据湖可能会变成数据沼泽。

2.4 用数--水到渠成价值增

数据湖的出现,最初就是为了补充数据仓库的缺陷和不足,为了解决数据仓库漫长的开发周期,高昂的开发成本,细节数据丢失、信息孤岛无法彻底解决、出现问题无法真正溯源等问题。但是随着大数据技术的发展,数据湖不断演变,汇集了各种技术,包括数据仓库、实时和高速数据流技术、机器学习、分布式存储和其他技术。数据湖逐渐发展成为一个可以存储所有结构化、非结构化数据,对数据进行大数据处理、实时分析和机器学习等操作的统一数据管理平台,为企业提供数据“采集、存储、治理、分析、挖掘、服务”的完整解决方案,从而实现“水到渠成”的数据价值洞察。

AWS 提供了在数据湖上运行的最广泛、最具成本效益的分析服务集合,每项分析服务都专门为广泛的分析用例而构建:

  • 利用AmazonAthena,使用标准 SQL 直接查询存储在S3中的数据,实现交互式分析;

  • 利用AmazonEMR满足对使用Spark和Hadoop框架的大数据处理,Amazon EMR 提供了一种托管服务,可以轻松、快速且经济高效地处理海量数据;

  • 利用AmazonRedshift 可快速构建PB级结构化数据运行、复杂分析查询功能的数据仓库;

  • 利用AmazonKinesis,轻松收集、处理和分析实时的流数据,如 IoT 遥测数据、应用程序日志和网站点击流;

  • 利用AmazonQuickSight轻松构建可从任何浏览器或移动设备访问的精致可视化效果和内容丰富的控制面板;

  • 同时,AWS 提供了一系列广泛的机器学习服务和工具,支持在AWS数据湖上运行机器学习算法,深度挖掘数据价值。

这些工具和服务,能够为不同角色的用户,例如数据科学家、数据分析师、业务人员、数据管理员等提供强大的功能支持,从而帮助企业实现以“数据为驱动”的数字化转型。

四、总结

传统信息系统是由流程驱动的,企业的所有业务都是围绕着流程而进行的,这个阶段数据并没有引起人们的重视。到了数据仓库阶段,企业对数据的应用也仅是处于辅助层面,企业的管理决策、业务创新主要还是靠人的经验,数据只是一个参考。但随着数字化时代的来临,大数据技术不断的深入应用,人们发现大数据的问题发现能力、预测能力要远远超过人们的经验。越来越多的企业选择基于数据进行企业的经营决策,基于数据提升组织绩效,基于数据做产品的创新。企业正在从“流程驱动”的信息化时代,走向“数据驱动”的数字化时代。

“数据湖”是应时代而生的一个产物,它的价值不仅在于可以将海量的、不同类型的数据进行统一存储,并提供数据目录和查询服务。数字化的时代,数据更加大量、更加实时、更加面向未来,机器学习、人工智能成为一个企业数字化转型的关键性因素。数据湖支持海量的、实时的数据处理和分析,甚至这种数据处理与分析都不需要预定义数据模型,增强了数据的洞察能力,它使得这些海量数据的价值比以前有所提高,帮助人们在局部的数据里面找到更多的规律,可以说“数据湖”简直是为“机器学习”而生。

有效的利用“数据湖”,充分的挖掘数据潜在价值,能帮助企业更好的细分市场,以助于企业能有针对性的为企业发展提供决策支撑,更好的掌握市场动向,更好的对市场反应产生新的洞见,更好的设计规划或改进产品,更好的为客户提供服务,从而提升企业的竞争力,甚至创新企业的商业模式。

004:AWS数据湖解决方案相关推荐

  1. 探秘亚马逊AWS数据湖

     点击"蓝字"关注我们 来源 | 谈数据 作者丨石秀峰 一.认识数据湖 1.初识数据湖 Data lake,笔者第一次接触这个概念,是在2014年IBM组织的数据治理交流论坛上.当 ...

  2. 阿里云数据湖解决方案全面满足数据需求,帮助企业释放数据价值

    简介: 基于阿里云对象存储OSS构建的数据湖解决方案,可以全面满足数据的存储.离线分析.交互查询等各种业务诉求,帮助企业释放数据的价值 1.行业综述 游戏市场需求旺盛,行业景气度持续提升 2020年突 ...

  3. 云原生数据湖解决方案打破数据孤岛,大数据驱动互娱行业发展

    简介: 数据湖是以集中.统一方式存储各种类型数据,数据湖可以与多种计算引擎直接对接,我们使用OSS作为数据湖底座,数据统一存储在OSS中,有效消除了数据孤岛现象,多种计算与处理分析引擎能够直接对存储在 ...

  4. 阿里云推出业内首个云原生企业级数据湖解决方案:将在今年双11大规模应用

    简介: 数据湖高峰论坛在京召开,阿里云宣布推出业内首个云原生企业级数据湖解决方案,提供EB级数据存储.分析能力,可一站式实现湖存储.湖加速.湖管理.湖计算,帮助企业对数据深入挖掘与分析,洞察其中蕴含的 ...

  5. 云图说|图解DGC:基于华为智能数据湖解决方案的一体化数据治理平台

    摘要:数据湖治理中心DGC,帮助企业快速构建从数据集成到数据服务的端到端智能数据系统,消除数据孤岛,统一数据标准,加快数据变现,实现数字化转型. 本文分享自华为云社区<[云图说]第232期 图解 ...

  6. 一份数据满足所有数据场景?腾讯云数据湖解决方案及DLC内核技术介绍

    摘要 OLAP数据库/引擎日新月异,不断推陈出新,在各种场景下有不同引擎的价值:flink擅长于实时数据集成/实时计算:spark批处理.tb级以上.hive生态.复杂join的数据分析.以及机器学习 ...

  7. aws spark_使用Spark构建AWS数据湖时的一些问题以及如何处理这些问题

    aws spark 技术提示 (TECHNICAL TIPS) 介绍 (Introduction) At first, it seemed to be quite easy to write down ...

  8. “数据湖”:概念、特征、架构与案例

    写在前面: 最近,数据湖的概念非常热,许多前线的同学都在讨论数据湖应该怎么建?阿里云有没有成熟的数据湖解决方案?阿里云的数据湖解决方案到底有没有实际落地的案例?怎么理解数据湖?数据湖和大数据平台有什么 ...

  9. 怎么理解数据湖?(深度长文)

    ▲ 点击上方"分布式实验室"关注公众号 回复"1"抽取技术书 最近,数据湖的概念非常热,许多前线的同学都在讨论数据湖应该怎么建?阿里云有没有成熟的数据湖解决方案 ...

最新文章

  1. Hanlp分词实例:Java实现TFIDF算法
  2. LeetCode: 3_Longest Substring Without Repeating Characters | 求没有重复字符的最长子串的长度 | Medium...
  3. 深入理解JavaScript系列(3):全面解析Module模式
  4. RocketMQ源码解析:Producer发送消息+Broker消息存储
  5. 【算法精讲】集成分类与随机森林
  6. Eclipse 引导阮卓项目 No projects are found to import解
  7. iOS面试必看,最全梳理
  8. 获得ABAP report里定义的所有变量及type - GET_GLOBAL_SYMBOLS
  9. 智能音箱 之 平台方案简介
  10. 2018-04-22接口自动化测试学习心得(1)
  11. 二〇二二注定是踔厉奋发、笃行不怠的一年
  12. php会员整合,会员整合Ucenter/Discuz!/PHPWind教程
  13. SharePoint REST API - 一个请求批量操作
  14. pip更新后怎么还是旧版本_双城SEO优化_百度算法更新后,企业网站外链该怎么发?...
  15. 大数据时代,新起的数据有哪几种模型
  16. Java中级工程师面试题
  17. 发一套最完整的直升机原理(绝对完整,绝对精华)
  18. 野火linux开发板6ULL,野火i.MX 6ULL开发板 嵌入式Linux开发板 nand版本
  19. 树莓派高阶课程7:树莓派博通BCM2835芯片手册导读
  20. 华为电脑 鸿蒙,微软宣布Win10装机量突破10亿,唯独华为电脑不能安装,鸿蒙极速反击...

热门文章

  1. oracle字符集有哪几种,Oracle字符集的三大类型
  2. 科技论文翻译,俄语文档的语法有何特点
  3. 哈尔滨小学计算机上课时间,哈市中小学各校新学期作息时间调整汇总,看看有没有你的学校!...
  4. Are You Talking to Me? Reasoned Visual Dialog Generation through Adversarial Learning
  5. 求知若饥,虚心若愚——Stay Hungry, Stay Foolish
  6. 基于node建立聊天室浅谈
  7. Netfilter IPv4日志
  8. 简单的聊天对话(代码全)
  9. 汽车UDS诊断详解及Vector相关工具链使用说明——2.1.3 初步了解CDD(以10服务为例)
  10. maya 表达式编辑器无法正常打开