Cloudera 客户运行着地球上一些最大的数据湖。这些数据湖为要害工作大规模数据分析、商业智能 (BI) 和机器学习用例(包含企业数据仓库)提供能源。近年来,发明了“数据湖仓(Data Lakehouse)”一词来形容这种对数据湖中的数据进行表格剖析的架构模式。在急于领有这个术语的过程中,许多供应商疏忽了这样一个事实,即数据架构的开放性是其持久性和寿命的保障。
1. 对于数据仓库和数据湖
数据湖和数据仓库将大量和各种数据对立到一个核心地位。然而有着截然不同的修建世界观。数据仓库是为 SQL 剖析垂直集成的,而数据湖优先思考 SQL 之外的分析方法的灵活性。
为了实现这两个世界的益处——数据湖剖析的灵活性和数据仓库中简略疾速的 SQL——公司常常部署数据湖来补充他们的数据仓库,最初一步是数据湖为数据仓库零碎提供数据提取、转换、加载 (ETL) 或 ELT 管道。在这样做的过程中,他们曾经承受了数据在仓库中的锁定。
然而有一个更好的办法:进入 Hive Metastore,这是过来十年数据平台的沉睡者之一。随着用例的成熟,咱们看到须要高效的交互式 BI 剖析和事务语义来批改数据。
2. 数据湖仓的迭代
第一代 Hive Metastore 试图解决在数据湖上高效运行 SQL 的性能思考。它提供了数据库、模式和表的概念,用于形容数据湖的构造,让 BI 工具能够无效地遍历数据。它增加了形容数据逻辑和物理布局的元数据,反对基于老本的优化器、动静分区修剪以及针对 SQL 剖析的一些要害性能改良。
第二代 Hive Metastore 增加了对应用 Hive ACID 的事务更新的反对。湖仓尽管尚未命名,但十分发达。事务启用了继续摄取和插入 / 更新 / 删除(或 MERGE)的用例,从而关上了数据仓库款式的查问、性能以及从其余仓储零碎到数据湖的迁徙。这对咱们的许多客户来说十分有价值。
Delta Lake 等我的项目采纳了不同的办法来解决这个问题。Delta Lake 为湖中的数据增加了事务反对。这容许数据管理,并为数据湖带来了运行数据仓库式剖析的可能性。
在这个工夫线的某个中央,“数据湖仓”这个名称是为这种架构模式发明的。咱们置信 Lakehouses 是简洁地定义这种模式的好办法,并且很快在客户和行业中取得了共识。
3. 客户通知咱们什么?
在过来的几年里,随着新数据类型的诞生和新的数据处理引擎的呈现以简化剖析,公司开始冀望两败俱伤的真正须要剖析引擎的灵活性。如果对企业的大而有价值的数据进行治理,那么企业必须凋谢以抉择不同的剖析引擎,甚至是供应商。
湖仓模式在施行过程中存在一个重大的矛盾:尽管数据湖是凋谢的,但数据湖仓却不是。
在增加 Impala、Spark 等引擎之前,Hive Metastore 始终遵循着 Hive-first 的演变。而 Delta lake 是一个 Spark 密集型的演变;如果客户须要自由选择不同的引擎,而不是以某种表格局为主,他们的抉择会迅速缩小。
客户从一开始就要求更多。更多格局、更多引擎、更多互操作性。明天,Hive 元存储被多个引擎和多个存储选项应用。当然包含 Hive 和 Spark,还有 Presto、Impala 等等。Hive Metastore 有机地倒退以反对这些用例,因而集成通常很简单且容易出错。
为满足互操作性需要而设计的凋谢数据湖仓从根本上解决了这一架构问题。这会让那些在一个平台上“全力以赴”的人感到不难受,但社区驱动的翻新是对于应用同类最佳工具以求实的形式解决事实世界的问题,并克服供应商锁定,无论他们是否批准。
4. 一个凋谢的湖仓,以及 Apache Iceberg 的诞生
从一开始构建 Apache Iceberg 的指标是在多个剖析引擎和云原生规模上轻松互操作。Netflix 是这项翻新诞生地,可能是须要将 100 PB 规模的 S3 数据湖构建到数据仓库中的最佳示例。云原生的表格格局由其创建者开源到 Apache Iceberg 中。
Apache Iceberg 真正的超级大国是它的社区。在过来三年中,Apache Iceberg 有组织的与蓬勃发展的社区减少了令人印象粗浅的一流集成名册:
- 数据处理和 SQL 引擎 Hive、Impala、Spark、PrestoDB、Trino、Flink
- 多种文件格式:Parquet、AVRO、ORC
- 社区中的大型采纳者:Apple、LinkedIn、Adobe、Netflix、Expedia 等
- 应用 AWS Athena、Cloudera、EMR、Snowflake、腾讯、阿里巴巴、Dremio、Starburst 提供的托管服务
使这个多样化的社区蓬勃发展的起因是数千家公司的个体需要,以确保数据湖能够演变为蕴含数据仓库,同时放弃跨引擎的剖析灵活性和开放性。这使得开放式湖仓成为可能:为将来提供有限的剖析灵活性。
5. 咱们如何拥抱 Iceberg?
在 Cloudera,咱们为咱们的开源本源感到骄傲,并致力于丰盛社区。自 2021 年以来,咱们为日益壮大的 Iceberg 社区做出了奉献,在 Impala、Hive、Spark 和 Iceberg 做出了数百项奉献。咱们扩大了 Hive Metastore 并将集成增加到咱们的许多开源引擎中以利用 Iceberg 表。2022 年初,咱们在 Cloudera 数据平台中启用了 Apache Iceberg 的技术预览,使 Cloudera 客户可能在咱们的数据仓库、数据工程和机器学习服务中实现 Iceberg 的模式演变和工夫旅行能力的价值。
咱们的客户始终通知咱们,无论是古代 BI、AI/ML、数据迷信还是更多,剖析需要都在迅速倒退。抉择由 Apache Iceberg 提供反对的凋谢数据湖库让公司能够自由选择剖析。
原文作者:Ram Venkatesh, and Priyank Patel
原文链接:https://blog.cloudera.com/the-future-of-the-data-lakehouse-open/
本文由 mdnice 多平台公布