工程的博客

数据湖屋如何解决数据仓库的常见问题

2021年2月4日 工程的博客

分享这篇文章

编者注:这是主要基于CIDR论文的一系列文章中的第一篇Lakehouse:统一数据仓库和高级分析的新一代开放平台bob体育客户端下载,并得到了作者的许可。

数据分析师、数据科学家和人工智能专家经常因为缺乏高质量、可靠和最新的数据而感到沮丧。其中一些挫折是由于我们在当今绝大多数财富500强公司中普遍看到的两层数据架构的已知缺陷。开放的湖畔架构和底层技术可以极大地提高数据团队的生产力,从而提高雇用他们的企业的效率。

两层数据架构的挑战

在这个流行的体系结构中,整个组织的数据从操作数据库中提取出来,并加载到原始数据湖(有时称为数据湖)中数据沼泽由于缺乏对确保这些数据可用性和可靠性的关心。接下来,按照计划执行另一个ETL(提取、转换、加载)流程,将重要的数据子集移动到数据仓库中,以便进行业务智能和决策制定。

Databricks数据湖屋建筑

这种架构为数据分析师提供了一个几乎不可能的选择:使用来自数据湖的及时且不可靠的数据,还是使用来自数据仓库的陈旧且高质量的数据。由于流行数据仓库解决方案的封闭格式,在不引入另一个ETL操作和增加额外的陈旧性的情况下,很难在高质量数据源上使用占主导地位的开源数据分析框架。

我们可以做得更好:引入数据湖屋

这些两层数据架构在今天的企业中很常见,对于构建它们的用户和数据工程师来说都非常复杂,无论它们是托管在本地还是在云中。

Lakehouse架构通过直接在数据湖之上提供数据仓库层的许多可靠性和性能优势,最终消除仓库层,从而降低复杂性、成本和操作开销。

Databricks数据湖屋建筑

数据的可靠性

当您有多个数据副本需要保持同步时,数据一致性是一个难以置信的挑战。有多个ETL过程——将数据从操作数据库转移到数据湖,再从数据湖转移到数据仓库。每个额外的流程都会带来额外的复杂性、延迟和故障模式。

通过消除第二层,数据湖屋体系结构删除了一个ETL流程,同时添加了对模式实施和演进直接在数据湖上面。它还支持以下功能时间旅行启用数据清洁度的历史验证。

过时的数据

因为数据仓库是由数据湖填充的,所以它通常是陈旧的。根据Fivetran最近的一项调查,这迫使86%的分析师使用过时的数据。

Fivetran报告,“数据分析师:一个关键的,未被充分利用的资源。”
在消除数据仓库层解决这一问题的同时,湖屋还可以支持高效、简单和可靠的实时流和批处理合并,以确保始终使用最新的数据进行分析。

对高级分析的有限支持

高级分析,包括机器学习和预测分析,通常需要处理非常大的数据集。常用的工具,如TensorFlow、PyTorch和XGBoost,可以很容易地以开放数据格式读取原始数据湖。但是,这些工具不会读取数据仓库中ETL数据使用的大多数专有数据格式。因此,仓库供应商建议将该数据导出到文件中进行处理,这导致了第三个ETL步骤,并增加了复杂性和过时性。

另外,在开放湖畔架构中,这些常用工具集可以直接操作存储在数据湖中的高质量、及时的数据。

总拥有成本

虽然云中的存储成本正在下降,但这种用于数据分析的两层架构实际上有三个企业数据的在线副本:一个在运营数据库中,一个在数据湖中,一个在数据仓库中。

当您将与保持数据同步相关的重大工程成本添加到存储成本中时,总拥有成本(TCO)将进一步复杂化。

数据湖屋体系结构消除了数据的一个最昂贵的副本,以及至少一个相关的同步进程。

商业智能的性能如何?

业务智能和决策支持需要高性能执行探索性数据分析(EDA)查询,以及为仪表板、数据可视化和其他关键系统提供支持的查询。性能问题通常是公司除了数据湖之外还要维护数据仓库的原因。在数据湖上优化查询的技术在过去一年中有了很大的改进,使得大多数性能问题变得毫无意义。

lakehouse支持索引、位置控制、查询优化和热数据缓存来提高性能。这使得数据湖SQL的性能超过了TPC-DS上领先的云数据仓库,同时还提供了数据仓库所期望的灵活性和治理。

结论和下一步

有远见的企业和技术专家已经看到了目前使用的两层架构,并说:“一定有更好的方法。”这种更好的方式就是我们所说的开放数据湖屋,它将数据湖的开放性和灵活性与传统数据仓库的可靠性、性能、低延迟和高并发性结合起来。

我将在本系列的下一篇文章中详细介绍数据湖性能的改进。

当然,你也可以作弊跳过阅读完整的CIDR论文,或观看一系列视频,深入了解支持现代湖屋的底层技术

免费试用Databricks
看到所有工程的博客的帖子