谈谈企业如何实施数据湖(下)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 目前,很多大型集团企业都在热烈讨论建立数据湖的最佳方式。

2.华为数据湖解决方案

c8b16154ace3669b5635d1b8641524d8.png

本文提供的华为数据湖解决方案信息来源于华为网站。华为官网提供的数据湖相关产品包括数据湖洞察(DLI)和数据湖智能运营平台DAYU。DLI可以看作是AWS Lake Formation、AWS Glue、Amazon Athena和Amazon EMR(基于Flink和Spark)的组合。我在华为网站上找不到DLI的整体架构图,所以我尝试根据我的知识画一张。在架构上,我使用了与AWS数据湖方案类似的格式,可以直观的比较两种方案

华为的数据湖解决方案提供全方位的功能。DLI实现了数据湖设置、数据处理、数据管理和数据应用等核心功能。DLI提供了一套完整的分析引擎,包括基于SQL的交互式分析引擎和基于Spark和Flink的流-批集成处理引擎。DLI使用其内置的OBS作为核心存储引擎,其提供的功能可与Amazon S3媲美。华为的数据湖解决方案提供了一个比AWS的数据湖解决方案上下游关系更为复杂的生态系统。在外部数据源方面,华为的数据湖解决方案几乎支持华为云提供的所有数据源服务。

DLI可接入华为CDM (Cloud Data Migration)和DIS (Data Ingestion Service)。通过DIS, DLI定义了所有类型的数据点,这些数据点可以被Flink作业用作源或汇聚。通过CDM, DLI可以访问互联网数据中心(IDC)和第三方云服务的数据。

华为云提供DAYU平台,更好地支持数据集成、数据开发、数据治理、质量管理等高级数据湖功能。“DAYU”平台是华为数据湖治理和运营方法的实现。DAYU覆盖数据湖治理的核心流程,并提供工具支持。华为的官方文档为建立数据治理机构提供了建议。下图展示了DAYU数据治理方法的实现(来源:华为云网站)。

723e9a6d316a5bfd68a1a5059d825036.png

DAYU数据治理方法是传统数据仓库治理方法在数据湖基础设施中的扩展。DAYU数据模式由近源层、多源集成层和详细数据层组成。此数据模式与数据仓库的模式相同。DAYU基于数据模式和度量模型生成质量规则和转换模型。DAYU连接DLI,直接调用DLI的数据处理服务,实现数据治理。华为云数据湖解决方案支持数据治理,覆盖整个数据处理生命周期,提供基于模式和指标的数据治理流程工具。该解决方案正在演变为集成数据湖和数据仓库的解决方案。

3阿里数据湖解决方案

阿里巴巴提供了广泛的数据产品。下面我们重点讨论如何使用数据业务单元的产品构建数据湖。还可能涉及其他云产品。阿里云的数据湖解决方案是专门为数据湖分析和联邦分析而设计的。它是基于阿里巴巴云的数据库产品。下图是阿里云的数据湖解决方案。

4af8d2ee5d781e5aebc3e8232d9af41e.png

该解决方案采用阿里巴巴云OSS作为数据湖的集中存储。该解决方案可以使用阿里巴巴云的所有数据库作为数据源,包括在线事务处理(online transaction processing, OLTP)、OLAP和NoSQL数据库。阿里云的数据湖解决方案提供了以下主要功能:

(1)数据访问和迁移

阿里云的数据湖分析(DLA)提供了能够发现元数据和一键式数据湖设置的形成组件。目前,支持一键式完整设置,而基于二进制日志的增量设置正在开发中,预计很快就会上线。增量数据湖建立能力将显著提高数据湖的实时数据性能,并减少源业务数据库的负担。DLA Formation是一个内部组件,不对外公开。

(2)数据目录

DLA提供了一个元数据目录来集中管理数据湖内外的数据资产。元数据目录为联邦分析提供了统一的元数据条目。

(3)DLA提供两个内置计算引擎

SQL和Spark,它们都与元数据目录深度集成,轻松检索元数据。基于Spark功能,DLA解决方案支持批处理、流计算和机器学习等计算模型。

(4)在外围生态系统中,DLA基于所有类型的不同数据源实现数据访问和聚合。DLA与AnalyticDB(一个本地数据仓库)深度集成,允许它提供外部访问功能。DLA直接将数据处理结果推送到AnalyticDB,以支持实时、交互式和复杂的临时查询。AnalyticDB利用外部表实现数据回流到阿里云OSS。DLA简化了阿里云中所有不同的数据源,实现数据移动性。

(5)阿里云数据湖解决方案通过数据工场和数据管理服务(DMS)两种方式实现数据集成和开发。这两种方法都向外部用户提供了可视化的流程编排、任务调度和任务管理功能。DataWorks为数据生命周期管理提供了复杂的数据地图功能。

(6)DMS提供强大的数据管理和数据安全功能。DMS管理四种粒度的数据:数据库、表、列和行,提供对企业所需的数据安全性的控制。DMS除了细粒度的权限管理外,还将数据库专用的DevOps应用于数据湖领域,对数据湖的运维和开发进行了深度细化。

这进一步细化了阿里云数据湖解决方案的数据应用架构。

88444bf8d791fb3ee23c1f2b1c86434e.jpg

数据从左向右流动。数据生产者生产各种类型的数据,包括本地数据、场外数据和其他云的数据,并使用工具将生成的数据上传到通用或标准数据源,包括阿里巴巴云OSS、HDFS和数据库。DLA实现了数据发现、数据访问和数据迁移,构建了一个适用于所有类型数据源的完整数据湖。DLA基于SQL和Spark处理传入数据,并对外提供基于DataWorks和DMS的可视化数据集成和开发功能。为了实现外部应用程序服务功能,DLA提供了一个标准的Java数据库连接(JDBC)接口,该接口可以直接连接到所有类型的报表工具和仪表板。DLA基于阿里云的数据库生态系统,包括OLTP、OLAP、NoSQL数据库,提供基于SQL的外部数据处理能力。如果您的企业开发基于数据库的技术堆栈,DLA允许您更容易地以更低的成本实现转换。

DLA基于原生云集成了数据湖和数据仓库。在大数据时代,传统的企业数据仓库仍然是报表应用不可或缺的一部分。但是,数据仓库不支持灵活的数据分析和处理。因此,我们建议将数据仓库作为数据湖的上层应用部署。数据湖是存储企业或组织原始业务数据的唯一地方。它根据业务应用程序的需要处理原始数据,以生成可重用的中间结果。DLA使用相对固定的数据模式将中间结果推到数据仓库,因此您可以基于数据仓库实现业务应用程序。DLA与AnalyticDB在以下两个方面进行了深度集成:

(1)DLA和AnalyticDB都使用了相应的SQL解析引擎。DLA的SQL语法与AnalyticDB完全兼容,允许您使用相同的技术堆栈开发基于数据湖和数据仓库的应用程序。

(2)DLA和AnalyticDB本质上都支持OSS访问。DLA使用OSS作为本机存储,而AnalyticDB通过外部表提供对OSS结构化数据的方便访问。外部表支持DLA和AnalyticDB之间的数据迁移。

DLA和AnalyticDB的结合集成了原生云下的数据湖和数据仓库。DLA可以看作是可伸缩数据仓库的近源层。与传统的数据仓库相比,这种近源层具有以下优点:

(1)它存储结构化、半结构化和非结构化数据

(2)它支持访问所有类型的不同数据源

(3)它发现、管理和同步元数据

(4)内置SQL和Spark计算引擎,可以更有效地处理各种类型的数据

(5)它在整个生命周期内管理完整的数据。

通过集成DLA和AnalyticDB,可以同时拥有大数据平台和数据仓库的处理能力。

1b52c187ef493340784a5237dd302842.png

DLA支持“全方位”数据移动性,允许访问任何位置的数据,就像访问数据库中的数据一样,而不管数据是在企业内部还是外部。此外,数据湖还监视和记录系统间的数据迁移,以便您可以跟踪数据流。

4 Azure数据湖解决方案

Azure的数据湖解决方案由数据湖存储层、接口层、资源调度层和计算引擎层组成,如下图所示(来源:Azure网站)。数据湖存储层基于Azure对象存储,存储结构化、半结构化和非结构化数据。接口层是WebHDFS,为Azure对象存储提供HDFS接口。WebHDFS用于多协议访问数据湖存储。Azure实现了基于yarn的资源调度。同时提供U-SQL、Hadoop、Spark等多个计算引擎。

a7477ea6859537d80d6224d2c02b6521.png

Azure允许基于Visual Studio开发自定义数据湖解决方案。

(1)支持开发工具和与Visual Studio的深度集成:Azure推荐使用U-SQL为数据湖开发分析应用程序。Visual Studio提供了一个完整的U-SQL开发环境。为了简化分布式数据湖系统的开发,Visual Studio实现了基于项目的封装,允许您在使用U-SQL开发过程中创建一个U-SQL数据库项目。您可以使用Visual Studio方便地执行编码和调试,并使用向导将开发的U-SQL脚本发布到生产环境中。您可以使用U-SQL向外扩展Python和R以进行自定义开发。

(2)支持SQL、Apache Hadoop、Apache Spark等多个计算引擎。Apache Hadoop计算引擎包括Azure HDInsight,这是一个由Azure管理的Hadoop服务。Apache Spark计算引擎包含Azure Databricks。

(3)不同计算引擎间的任务转换:微软推荐使用U-SQL进行数据湖开发,并提供将U-SQL脚本转换为Hive、Spark(包括Azure HDInsight和Databricks)、Azure数据工厂数据流脚本的工具。

5小结

数据湖不仅仅是一个技术平台,可以通过多种方式实现。数据湖的成熟度主要是根据其数据管理能力及其与周边生态系统的相互作用来评估的。数据管理功能包括与元数据、数据资产目录、数据源、数据处理任务、数据生命周期、数据治理和权限管理相关的功能

五. 案例研究

1广告数据分析

近年来,流量获取成本不断上升,迫使许多公司大举投资,以吸引新的在线客户。不断增加的网络广告成本使得公司放弃了通过购买流量来扩大客户群的策略。前端流量优化不再有效。利用数据工具将更多的网站访问者转化为付费客户,全面完善广告服务,是打破无效的在线广告方式的有效途径。大数据分析对于将广告流量转化为销售额至关重要。

为了提供更强大的决策支持基础,您可以收集更多的跟踪数据,包括频道、广告服务时间和目标受众。然后,您可以基于点击率(CTR)分析数据,以开发能够带来更好性能和更高生产力的策略。数据湖分析产品和解决方案受到广告商和广告发布者的广泛青睐。他们提供下一代技术来帮助收集、存储和分析与广告服务相关的各种结构化、半结构化和非结构化数据。

DG是全球领先的智能营销服务提供商,为寻求全球扩张的企业提供服务。DG凭借先进的广告技术、大数据和运营能力,为客户提供优质的用户获取和流量到销售转换服务。DG成立之初就决定在公共云上建立IT基础设施。DG最初选择AWS云平台。它将广告数据存储在建立在Amazon S3上的数据湖中,并使用Amazon Athena进行互动分析。然而,网络广告的快速发展给广告业带来了诸多挑战。这就催生了旨在解决以下问题的手机广告和追踪系统:

(1)并发性和流量峰值:流量峰值在广告行业很常见,广告几乎可以同时获得数万甚至数十万次点击。这需要良好的系统可伸缩性来快速响应和处理每个单击。

(2)海量数据量实时分析:性能监控系统对每次点击激活的数据进行分析,并将相关数据发送给下游媒体。

(3)广告平台数据指数增长:业务日志数据不断生成上传,暴露、点击、推送数据不断处理。每天新增数据约10 ~ 15TB,对数据处理性能要求较高。在这种情况下,DG必须高效地收集线下和近实时的广告统计数据,并根据客户的需求对统计数据进行汇总和分析。

除了以上三个业务挑战,DG每天也面临着快速增长的数据量,每天要扫描超过100TB的数据。AWS平台不再为Amazon Athena提供足够的带宽从Amazon S3读取数据,数据分析严重滞后。为了降低数据指数增长带来的分析成本,DG经过细致的测试和分析,决定全面从AWS平台迁移到阿里巴巴云平台。下图为DG广告数据湖方案的整体架构。

e7cddec374d65c179da858cf8648195c.png迁移后,我们集成了DLA和OSS,为DG提供卓越的分析能力。这将使它能够更好地处理交通高峰和低谷。一方面,这使得对从品牌客户那里收集的数据进行临时分析变得容易。另一方面,DLA提供强大的计算能力,DG可以对广告服务进行月度和季度分析,准确计算每个品牌的活动数量,并从媒体、市场、渠道、数据管理平台(DMPs)等方面分析每个活动的广告表现。通过这种方式,智能流量平台可以更好地提高品牌营销的转化率。就广告服务和分析的总拥有成本(TCO)而言,DLA提供无服务器的弹性服务,以现收现付模式收费,无需购买固定资源。客户可以根据其业务的高峰和低谷购买资源。这满足了弹性分析的需求,显著降低了运维成本和运营成本。

0bbf3e077ff789dbce6104741af2af34.png

总的来说,DG从AWS迁移到阿里巴巴云后,硬件成本、人工成本、开发成本都显著降低。通过使用DLA的无服务器云服务,DG无需为服务器、存储和设备支付大量预付费用,公司也不必一次性购买许多云服务。相反,DG可以根据需要扩展其基础设施。它在业务高峰期间增加服务器,在业务低谷期间减少服务器,从而提高资本利用率。阿里巴巴云平台也提升了DG的业绩。DG的移动广告系统在业务快速增长和引入多条业务线的过程中,流量经常出现指数级增长。DG迁移至阿里云后,阿里云DLA团队与OSS团队进行深度优化和转型,通过DLA大幅提升DG的分析性能。用于数据库分析的DLA计算引擎和在TPC Benchmark DS (TPC-DS)中排名第一的AnalyticDB共享计算引擎,与preto -native计算引擎相比,性能提高了几十倍。

2游戏运营分析

数据湖是一种大数据基础设施,具有良好的总运营成本(TCO)性能。对于许多快速发展的游戏公司来说,一款受欢迎的游戏通常会在短时间内带来极快的数据增长。如果出现这种情况,研发人员就很难根据数据增长的数量和速度调整他们的技术堆栈。也很难利用以如此快的速度增长的数据。数据湖是解决这些问题的技术解决方案。

YJ是一家快速发展的游戏公司。公司计划在深入分析用户行为数据的基础上开发和运营游戏。数据分析背后有一个核心逻辑。随着游戏行业竞争的加剧,玩家对产品质量的要求越来越高,游戏项目的生命周期也越来越短,这直接影响了项目的投资回报(ROI)。通过数据操作,开发人员可以有效地扩展他们的项目生命周期,精确地控制各个业务阶段。此外,交通成本也在不断增加。因此,创建一个经济、高效的精确数据操作系统来更好地支持业务发展变得越来越重要。一家公司依靠其技术决策者通过考虑以下因素来选择一个适当的基础设施来支持其数据操作系统:

(1)高弹性:为了适应短期数据的爆炸性增长,游戏公司必须拥有高度弹性的计算和存储系统。

(2)高成本性能:用户行为数据通常在很长时间内进行分析。例如,客户保留率通常在90-180天的时间范围内进行分析。因此,寻找最经济有效的方法来存储大量数据是非常重要的。

(3)充分的分析能力和可伸缩性:在很多情况下,用户行为反映在跟踪数据中,跟踪数据通常与结构化数据(如用户注册信息、登录信息和账单)相关联进行分析。分析此类数据至少需要以下功能:大数据ETL功能、异构数据源访问功能和用于复杂分析的建模功能。

(4)与公司现有技术栈的兼容性及对未来招聘的考虑:YJ的技术选择主要基于其技术人员所熟悉的技术栈。在YJ,大多数技术团队成员只熟悉传统的数据库开发,也就是MySQL。此外,YJ的人才短缺。只有一个技术工程师负责数据操作分析。因此,YJ无法在短时间内独立构建大数据分析基础设施。对于YJ来说,理想的情况是大部分数据分析工作都用SQL完成。在人才市场上,SQL开发人员的数量远远超过大数据开发人员。我们帮助YJ转变了其数据分析解决方案。

1ff031a309d22bf0b83a7522c39cf382.png

在转换之前,YJ将所有的结构化数据存储在一个最大规格的MySQL数据库中。玩家行为数据由Logtail在日志服务(SLS)中收集,然后发送给OSS和Elasticsearch。这个体系结构有以下问题:

(1)行为数据和结构化数据是分开的,不能关联起来进行分析

(2)支持智能行为数据检索,但不支持深度数据挖掘和分析服务

(3)OSS仅用于数据存储,未利用其深层数据值

我们的分析表明,YJ的架构是一个数据湖的原型,因为完整的数据存储在OSS中。改变架构的一个简单方法是提高YJ在OSS中分析数据的能力。数据湖将支持基于sql的数据处理,允许YJ开发技术堆栈。简而言之,我们改变了YJ的架构,以帮助它构建一个数据湖,如下图所示。

c900c244cac41bb5914c9380b856476c.png

数据湖方案在保留原始数据流的同时,增加了DLA,对存储在OSS中的数据进行二次处理。DLA提供了一个标准的SQL计算引擎,并支持对各种不同数据源的访问。DLA处理的数据可以直接被企业使用。数据湖解决方案引入了AnalyticDB,一个原生云数据仓库,以支持低延迟交互分析,否则无法通过DLA实现。该解决方案还在前端引入了QuickBI,用于可视化分析。

YM是一家数据智能服务商。它为中小商家提供数据分析和运营服务。下图显示了YM数据智能服务的SaaS (Software as a Service)模型。

dc5a9ac220412ffa5ea14604f0ef5fbe.png

该平台为商家提供多客户端SDK,以不同的形式访问跟踪数据,如网页、应用程序和小程序。平台还以SaaS模式提供统一的数据访问和分析服务。商家可以通过数据分析服务以细粒度分析这些跟踪数据。分析后的数据可用于基本的分析功能,如行为统计、客户分析、客户选择和广告服务监控。但是,该SaaS模型存在以下问题:

(1)该平台无法提供全方位的基于SaaS的分析功能,以满足各类商家的各种定制需求。例如,有的商家注重销售,有的注重客户管理,还有的注重成本优化。

(2)统一数据分析服务不支持某些高级分析功能,如基于自定义标签的自定义扩展和客户选择,特别是依赖于商家自定义算法的自定义标签。

(3)对数据资产管理的深度支持尚未实现。在大数据时代,数据已经成为企业或组织拥有的一种资产。SaaS模型必须找到一种方法来适当地长期积累商家拥有的数据。

因此,我们向SaaS模型引入了一个数据湖,以提供数据积累、建模和操作分析的基础设施。下图显示了数据湖支持的基于SaaS的数据智能服务模型。

427e8ef99e7f581cf32b41c25accca75.png

如上图所示,该平台允许每个商家在一次点击中构建自己的数据湖。商家可以将自己的全跟踪数据和数据模式同步到数据湖,也可以将每天的增量数据以T+1方式归档到数据湖。基于数据湖的服务模型不仅提供传统的数据分析服务,还提供数据资产管理、分析建模和服务定制三大功能。

(1)数据资产管理:数据湖允许商户根据自定义保留期积累数据,从而控制成本。数据湖提供数据资产管理功能,让商家既可以管理自己的原始数据,也可以对处理后的流程数据和结果数据进行分类和存储。这使跟踪数据的价值最大化。

(2)分析建模:除了原始数据外,数据湖还存储跟踪数据模式。跟踪数据模式是全球数据智能服务平台对业务逻辑的抽象。数据湖将原始数据作为资产类型与数据模式一起导出。商家可以利用跟踪数据模式,深入分析跟踪数据背后的用户行为逻辑,深入洞察用户行为。最终,这将使他们能够更好地识别用户需求。

(3)服务定制:数据湖支持数据集成开发,支持跟踪数据模式导出。通过分析这种模式,商家可以不断地以自定义和迭代的方式处理原始数据,从中提取有价值的信息。这比仅仅使用数据分析服务更能帮助商家获得价值。

六. 基础数据湖建设过程

数据湖是比传统大数据平台更复杂的大数据处理基础设施。它是一种更适合客户业务的技术。数据湖提供了比大数据平台更多的功能,如元数据、数据资产目录、权限管理、数据生命周期管理、数据集成与开发、数据治理、质量管理等。所有这些功能都易于使用,使数据湖更好地满足业务需求。数据湖提供了存储与计算独立扩展、统一存储引擎、多模式计算引擎等基本技术特性,以满足您在最佳TCO下的业务需求。

数据湖的建立过程是面向业务的,不同于构建数据仓库或数据中端的过程,后者也是流行的技术。不同之处在于,数据湖是以一种更灵活的方式构建的。它在设置期间是可操作的,在使用期间是可管理的。为了更好地理解数据湖设置的敏捷性,让我们首先回顾构建数据仓库的过程。Bill Inmon和Ralph Kimball分别提出了自底向上和自顶向下的方法来构建数据仓库。这里简要总结了这两种方法:

1.Bill Inmon提出了自底向上的方法,该方法使用企业数据仓库和数据集市(EDW-DM)模型构建数据仓库。ETL工具用于将数据从操作或事务系统的数据源传输到数据仓库的操作数据存储(ODS)。ODS中的数据基于预定义的EDW范式进行处理,然后转移到EDW。EDW是企业或组织范围内的通用数据模式,不适合由上层应用程序执行直接的数据分析。因此,业务部门在EDW的基础上构建DM。

DM易于维护和高度集成,但一旦确定了其结构,它就缺乏灵活性,而且由于需要适应业务需求,需要很长时间来部署。Inmon模型适用于金融等相对成熟的业务建立数据仓库。

2.Ralph Kimball提出了自顶向下(DM-DW)数据模式。从操作或事务系统的数据源提取或加载到ODS中的数据。利用多维建模方法,利用ODS中的数据构建多维主题DM。所有的dm都通过一致的维度关联起来,形成一个企业或组织范围的通用数据仓库。

自顶向下(DM-DW)数据模式提供了快速的仓库设置、快速的ROI和敏捷性。但是,作为一种企业资源很难维护,而且结构复杂。此外,DM很难整合。自顶向下(DM-DW)数据模式适用于中小企业和互联网公司。

将实现划分为自顶向下和自底向上的方法只是理论上的。无论首先构建EDW还是DM,在构建数据仓库或数据中端之前,都需要分析数据并设计数据模式。下图说明了构建数据仓库或数据中端的基本过程。

fee006df99c85340f4ba7c154fe029c0.png

(1)数据分析:企业或组织在构建数据湖之前,必须对其内部数据进行全面的分析和调查,包括数据源、数据类型、数据表单、数据模式、总数据量和增量数据量。这允许您整理组织结构,并阐明其与数据的关系。这也有助于您明确数据湖的用户角色、权限设计和服务方法。

(2)数据模式抽象:根据企业或组织的业务特征对数据进行排序和分类,按域划分数据以生成用于数据管理的元数据,并基于元数据构建通用数据模式。

(3)数据访问:根据步骤1中的数据分析结果确定需要访问的数据源。然后,根据数据源确定所需的数据访问技术和功能。被访问的数据必须至少包括数据源元数据、原始数据元数据和原始数据。根据步骤2中的结果按类型存储数据。

(4)融合治理:利用数据湖提供的计算引擎对数据进行处理,生成中间数据和结果数据。然后,适当地存储数据。数据湖提供了全面的数据开发、任务管理和调度以及数据处理的详细记录能力。数据治理需要更多的数据模式和度量模型。

(5)业务支持:每个业务部门必须根据通用数据模式定制细粒度的数据模式、数据使用流程和数据访问服务。

对于一个快速发展的公司来说,上述步骤非常繁琐,而且不可能实现,特别是数据模式抽象。在很多情况下,企业都是在没有明确方向的情况下进行试错探索。这使得不可能构建通用数据模式,否则后续步骤将不可行的。这就是为什么许多快速发展的初创公司发现很难建立一个数据仓库或数据中端来满足他们的需求。

相比之下,数据湖可以用敏捷的方式构建。我们建议按照以下步骤建立一个数据湖。

92be64c06d01ad69444f0363240bfd09.png

相对于构建数据仓库或数据中端的基本流程,上图所示的构建数据湖的五步流程更简单、更可行:

1.数据分析:分析数据的基本信息,包括数据源、数据类型、数据格式、数据模式、总数据量、增量数据量等。这就是在数据分析步骤中需要做的所有工作。数据湖存储的是完整的原始数据,不需要提前进行深度设计。

2.技术选择:根据数据分析结果,选择构建数据湖所需的技术。业界对于数据湖技术的选择已经有了很多通用的实践。您应该遵循三个基本原则:计算和存储的分离、弹性和独立扩展。推荐使用分布式对象存储系统,如Amazon S3、阿里巴巴云OSS或对象存储服务,并根据批量处理需求和SQL处理能力选择计算引擎。在实践中,批处理和SQL处理对于数据处理是必不可少的。流计算引擎将在后面描述。我们还建议使用无服务器计算和存储技术,这些技术可以在应用程序中不断发展,以满足未来的需求。当需要独立的资源池时,可以构建专用集群。

3.数据访问:确定要访问的数据源,完成完整数据提取和增量数据访问。

4.应用程序治理:应用程序治理是数据湖的关键。数据湖中的数据应用与数据治理密切相关。基于数据应用程序阐明您的需求,并在数据ETL过程中生成适应业务的数据。同时,创建数据模式、度量系统和质量标准。数据湖专注于原始数据存储和探索性数据分析和应用。然而,这并不意味着数据湖不需要任何数据模式。业务洞察和抽象可以显著促进数据湖的开发和应用。数据湖技术支持敏捷的数据处理和建模,帮助您快速适应业务增长和变化。

从技术角度看,数据湖不同于大数据平台,前者提供了复杂的能力,支持全生命周期的数据管理和应用。这些功能包括数据管理、类别管理、流程编排、任务调度、数据可跟踪性、数据治理、质量管理和权限管理。在计算能力方面,目前主流的数据湖解决方案支持SQL批处理和可编程批处理。您可以使用Spark或Flink的内置功能来支持机器学习。几乎所有处理范例使用DAG-based工作流模型,并提供相应的集成开发环境。对流计算的支持在不同的数据湖解决方案中有所不同。首先,让我们看看现有的流计算模型:

3b359b03230d60cb5cb57c6c8c34da4b.png

实时流计算模型在处理数据时,数据仍在网络或内存中,但尚未存储在数据湖中。准流计算模型只处理已经存储在数据湖中的数据。我建议使用下图所示的流计算模型。

1fa63423ebfcca4076406cab5fe2fd15.png

如上图所示,为了将实时流计算模型应用到数据湖中,可以引入类似kafka的中间件作为数据转发基础设施。一个全面的数据湖解决方案可以引导原始数据流到Kafka。流引擎从kafka类组件中读取数据。然后,引擎根据需要将数据处理结果写入OSS、关系数据库管理系统(RDBMS)、NoSQL数据库或数据仓库。处理后的数据可以被应用程序访问。从某种意义上说,您可以根据应用程序的需要向数据湖引入实时流计算引擎。使用流计算引擎时,请注意以下几点:

■流引擎必须能够方便地从数据湖中读取数据。

■数据湖的任务管理中必须包含流引擎任务。

■流任务必须包含在统一的权限管理中。

准流计算模型类似于批处理。Apache Hudi、IceBerg、Delta等大数据组件支持Spark、Presto等经典计算引擎。例如,Apache Hudi提供了特殊的表类型,如COW和MOR,允许访问快照数据(指定版本)、增量数据和准实时数据。AWS和腾讯已经将Apache Hudi集成到他们的EMR服务中,阿里巴巴云DLA也计划在Apache Hudi上引入DLA功能。

如前所述,数据科学家和数据分析师是数据湖的主要用户,主要用于探索性分析和机器学习。实时流计算通常应用于在线业务,但对数据湖用户来说并不重要。实时流计算模型对于许多互联网公司的在线业务是必不可少的。数据湖不仅为企业或组织的内部数据提供集中存储,而且还提供一个可扩展的体系结构来集成流计算能力。

5.业务支持:许多数据湖解决方案向外部用户提供标准的访问接口,如JDBC。您还可以使用商业智能(BI)报表工具和仪表板直接访问数据湖中的数据。在实践中,我们建议将数据湖中处理的数据推送给支持在线业务的数据引擎,以改善应用体验。

七. 总结

数据湖是下一代大数据分析和处理的基础设施。它提供比大数据平台更丰富的功能。未来数据湖解决方案可能会朝着以下方向发展:

1原生云架构

尚未以统一的方式定义原生云架构。然而,我们可以总结出数据湖专用云原生架构的以下三个关键特性:

■存储和计算的分离,两者都是独立可扩展的

■支持多模态计算引擎,如SQL、批处理、流计算和机器学习

■提供无服务器的服务,这些服务具有弹性,并以现收现付模式计费

2充足的数据管理能力

数据湖提供强大的数据管理能力,包括数据源管理、数据类别管理、处理流编排、任务调度、数据可追溯性、数据治理、质量管理和权限管理。

3大数据能力和类似数据库的经验

目前,大多数数据分析师只有使用数据库的经验。大数据平台虽然功能强大,但对用户并不友好。数据科学家和数据分析师通常关注数据、算法、模型以及它们对业务场景的适应。他们不应该花费大量的时间和精力来学习大数据平台的开发技能。良好的用户体验是数据湖快速发展的关键。许多数据库应用程序是使用SQL开发的。在未来,SQL将是开发更多数据湖功能的主要途径。

4全面的数据集成和开发能力

数据湖将朝着更好地支持和管理不同数据源、支持完全和增量的不同数据迁移以及支持所有数据格式的方向发展。未来,数据湖将提供全面的、可视化的、可扩展的集成开发环境。

5深度融合与业务集成

典型的数据湖架构由分布式对象存储、多模型计算引擎和数据管理组成。这种架构已经成为数据湖开发的规范。数据管理是数据湖解决方案的关键,涉及到原始数据、数据类别、数据模式、数据权限和处理任务的管理。数据管理必须适应业务,并与业务集成。未来将开发更多的工业数据湖解决方案,满足数据科学家和数据分析师的交互分析需求。在数据湖领域取得胜利的关键在于如何在数据湖解决方案中预先定义工业数据模式、ETL流程、分析模型和自定义模型。

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
16天前
|
存储 机器学习/深度学习 运维
数据仓库与数据湖:解析企业数据管理的两大利器
在信息时代,企业数据的管理和分析变得至关重要。数据仓库和数据湖作为两种不同的数据管理模式,各自具有独特的特点和应用场景。本文将深入探讨数据仓库与数据湖的概念、优势和应用,帮助读者更好地理解和运用这两个工具。
42 0
|
存储 机器学习/深度学习 分布式计算
谈谈企业如何实施数据湖(上)
目前,很多大型集团企业都在热烈讨论建立数据湖的最佳方式。
谈谈企业如何实施数据湖(上)
|
存储 机器学习/深度学习 SQL
企业如何搭建敏捷数据湖架构
“数据湖”是当前很多人、很多企业都在谈论的最新流行的话题之一。可是,让我们认真想一想,数据湖是不是像许多流行的IT词一样,很少有人真正知道如何解释它,能够实现什么价值以及如何设计和构建它。
企业如何搭建敏捷数据湖架构
|
存储 人工智能 Cloud Native
|
机器学习/深度学习 运维 Cloud Native
报名倒计时 | 解锁企业数据湖仓先进开启方式,探秘机器学习高阶玩法!
数据湖作为大数据领域炙手可热的技术之一,已成为当今企业追逐的技术风向标。同时,云原生分布式数仓的先进风潮也正席卷传统的数据仓库领域,引领着未来数仓的发展方向。如果您还在思考如何将二者的优势兼顾,打造适合企业的数据湖仓一体化方案,那么本次阿里云企业数据湖仓和机器学习最佳实践研讨会将会给你答案!
172 0
报名倒计时 | 解锁企业数据湖仓先进开启方式,探秘机器学习高阶玩法!
|
16天前
|
SQL 分布式计算 数据处理
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
73 2
|
16天前
|
存储 SQL 分布式计算
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
128 1
|
8月前
|
存储 人工智能 数据库
企业级数据湖的构建之道(一)
企业级数据湖的构建之道(一)
110 1
|
16天前
|
存储 人工智能 运维
数据湖建设实践:使用AWS S3与LakeFormation构建灵活数据存储
【4月更文挑战第8天】本文分享了使用AWS S3和LakeFormation构建数据湖的经验。选择S3作为数据湖存储,因其无限容量、高可用性和持久性,以及与多种系统的兼容性。LakeFormation则负责数据治理和权限管理,包括元数据管理、简化数据接入、细粒度权限控制和审计。通过这种方式,团队实现了敏捷开发、成本效益和数据安全。未来,数据湖将融合更多智能化元素,如AI和ML,以提升效能和体验。此实践为数据驱动决策和企业数字化转型提供了有力支持。
120 2
|
16天前
|
消息中间件 监控 Kafka
Yotpo构建零延迟数据湖实践
Yotpo构建零延迟数据湖实践
78 0
http://www.vxiaotou.com