数据湖.DL
数据湖定义
AWS 定义:数据湖 (datalake) 是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。
数据湖的价值
能够在更短的时间内从更多来源利用更多数据,并使用户能够以不同方式协同处理和分析数据,从而做出更好、更快的决策。数据湖具有增值价值的示例包括:改善客户互动、改善研发创新选择和提高运营效率。
数据湖的挑战
数据湖架构的主要挑战是存储原始数据而不监督内容。对于使数据可用的数据湖,它需要有定义的机制来编目和保护数据。没有这些元素,就无法找到或信任数据,从而导致出现“ 数据沼泽 ”。 满足更广泛受众的需求需要数据湖具有管理、语义一致性和访问控制。
数据湖 VS 数据仓库
根据要求,典型的组织将需要数据仓库和数据湖,因为它们可满足不同的需求和使用案例。
数据仓库是一个优化的数据库,用于分析来自事务系统和业务线应用程序的关系数据。事先定义数据结构和 Schema 以优化快速 SQL 查询,其中结果通常用于操作报告和分析。数据经过了清理、丰富和转换,因此可以充当用户可信任的“单一信息源”。
数据湖有所不同,因为它存储来自业务线应用程序的关系数据,以及来自移动应用程序、IoT 设备和社交媒体的非关系数据。捕获数据时,未定义数据结构或 Schema。这意味着您可以存储所有数据,而不需要精心设计也无需知道将来您可能需要哪些问题的答案。您可以对数据使用不同类型的分析(如 SQL 查询、大数据分析、全文搜索、实时分析和机器学习)来获得见解。
随着使用数据仓库的组织看到数据湖的优势,他们正在改进其仓库以包括数据湖,并启用各种查询功能、数据科学使用案例和用于发现新信息模型的高级功能。Gartner 将此演变称为“分析型数据管理解决方案”或“ DMSA ”。[1]
表格 数据湖和数据仓库的比较
特性 | 数据湖 | 数据仓库 |
---|---|---|
数据 | 来自 IoT 设备、网站、移动应用程序、社交媒体和企业应用程序的非关系和关系数据 | 来自事务系统、运营数据库和业务线应用程序的关系数据 |
方法论/Schema | 写入在分析时/事后建模(读取型 Schema-on-Read) | 事前建模(写入型 Schema-on-Write) |
存储类型 | 结构/半结构/非结构 (以文件形式存在) | 结构/非结构 (以表形式存在) |
性价比 | 更快查询结果只需较低存储成本 | 更快查询结果会带来较高存储成本 |
数据质量 | 任何可以或无法进行监管的数据(例如原始数据) | 可作为重要事实依据的高度监管数据 |
用户 | 数据科学家、数据开发人员和业务分析师(使用监管数据) | 业务分析师 |
分析 | 机器学习、预测分析、数据发现和分析 | 批处理报告、BI 和可视化 |
组织构建数据湖和分析平台时,他们需要考虑许多关键功能,包括:
功能 | 功能描述 |
---|---|
数据移动 | 数据湖允许您导入任何数量的实时获得的数据。您可以从多个来源收集数据,并以其原始形式将其移入到数据湖中。此过程允许您扩展到任何规模的数据,同时节省定义数据结构、Schema 和转换的时间。 |
安全地存储和编目数据 | 数据湖允许您存储关系数据(例如,来自业务线应用程序的运营数据库和数据)和非关系数据(例如,来自移动应用程序、IoT 设备和社交媒体的运营数据库和数据)。它们还使您能够通过对数据进行爬网、编目和建立索引来了解湖中的数据。最后,必须保护数据以确保您的数据资产受到保 护。 |
分析 | 数据湖允许组织中的各种角色(如数据科学家、数据开发人员和业务分析师)通过各自选择的分析工具和框架来访问数据。这包括 Apache Hadoop、Presto 和 Apache Spark 等开源框架,以及数据仓库和商业智能供应商提供的商业产品。数据湖允许您运行分析,而无需将数据移至单独的分析系统。 |
机器学习 | 数据湖将允许组织生成不同类型的见解,包括报告历史数据以及进行机器学习(构建模型以预测可能的结果),并建议一系列规定的行动以实现最佳结果。 |
图 数据湖参考架构
对于一个典型的数据湖而言,它与大数据平台相同的地方在于它也具备处理超大规模数据所需的存储和计算能力,能提供多模式的数据处理能力;增强点在于数据湖提供了更为完善的数据管理能力,具体体现在:
- 更强大的数据接入能力。 数据接入能力体现在对于各类外部异构数据源的定义管理能力,以及对于外部数据源相关数据的抽取迁移能力,抽取迁移的数据包括外部数据源的元数据与实际存储的数据。
- 更强大的数据管理能力。 管理能力具体又可分为基本管理能力和扩展管理能力。基本管理能力包括对各类元数据的管理、数据访问控制、数据资产管理,是一个数据湖系统所必须的,后面我们会在“各厂商的数据湖解决方案”一节相信讨论各个厂商对于基本管理能力的支持方式。
扩展管理能力包括任务管理、流程编排以及与数据质量、数据治理相关的能力。任务管理和流程编排主要用来管理、编排、调度、监测在数据湖系统中处理数 据的各类任务,通常情况下,数据湖构建者会通过购买/研制定制的数据集成或数据开发子系统/模块来提供此类能力,定制的系统/模块可以通过读取数据湖的相 关元数据,来实现与数据湖系统的融合。
而数据质量和数据治理则是更为复杂的问题,一般情况下, 数据湖系统不会直接提供相关功能,但是会开放各类接口或者元数据,供有能力的企业/组织与已有的数据治理软件集成或者做定制开发。
- 可共享的元数据。
表格 各公司的数据湖解决方案比较
公司 | 数据接入 | 数据存储 | 计算引擎 | 数据处理 | 数据管理 | 数据治理 | 支持程度 |
---|---|---|---|---|---|---|---|
AWS | 云上数据源 | S3 | 1.SQL2.Spark3.其它:EMR&Redshift | 1.基于 SQL 的 ETL2. | 利用 Lake Fomation 组件提供元数据、权限、处理任务等管理能力。元数据可提供对外能力,方便集成。 | 未明确明出 | ★★★★ |
华为 | 1.云上数据源 2.基于 CDM3.基于 DS | OBS | 1.SQL 2.Spark 3.Flink | 基于 DAYU 机制 | ★★★★★ | ||
阿里 | 1.云上数据源 2.各类自建数据源 | OSS | 1.SQL 2.Spark | 未明确明出 | ★★★★ | ||
Azure | 云上数据源 | Azure Object Storage | 1.SQL 2.DataBrics 3.其它:EMR&Redshift | 未明确明出 | ★★★ |
AWS 数据湖
图 AWS 数据湖解决方案
AWS 数据湖方案成熟度高,特别是元数据管理、权限管理上考虑充分,打通了异构数据源与各类计算引擎的上下游关系,让数据能够自由“移动”起来。
图 AWS 数据湖解决方案在参考架构中的映射
综上,AWS 的数据湖解决方案覆盖了除质量管理和数据治理的所有功能。其实质量管理和数据治理这个工作和企业的组织结构、业务类型强相关,需要做大 量的定制开发工作,因此通用解决方案不囊括这块内容,也是可以理解的。事实上,现在也有比较优秀的开源项目支持这个项目,比如 Apache Griffin,如果对质量管理和数据治理有强诉求,可以自行定制开发。
华为数据湖
图 华为数据湖解决方案
华为的数据湖解决方案相关信息来自华为官网。目前官网可见的相关产品包括数据湖探索(Data Lake Insight,DLI)和智能数据湖运营平台(DAYU)。
DLI 相当于是 AWS 的 Lake Formation、GLUE、Athena、EMR(Flink&Spark)的集合。DLI 可以与华为的 CDM(云数据迁移服务)和 DIS(数据接入服务)对接。
DAYU 平台是华为数据湖治理运营方法论的落地实现。DAYU 涵盖了整个数据湖治理的核心流程,并对其提供了相应的工具支持;甚至在华为的官方文档中,给出了数据治理组织的构建建议。
华为云整个的数据湖解决方案,完整覆盖了数据处理的生命周期,并且明确支持了数据治理,并提供了基于模型和指标的数据治理流程工具,在华为云的数据湖解决方案中逐渐开始往“湖仓一体化”方向演进。
阿里数据湖
图 华为数据湖解决方案
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论