什么是湖屋?
在Databricks的过去几年里,我们看到了一种新的数据管理架构,它独立地出现在许多客户和用例中:的lakehouse.在这篇文章中,我们将描述这种新的架构以及它相对于以前的方法的优势。
数据仓库有一个悠久的历史在决策支持和商业智能应用。自从数据仓库技术在20世纪80年代末出现以来,它不断发展,MPP体系结构导致了能够处理更大数据量的系统。但是,尽管仓库非常适合结构化数据,但许多现代企业必须处理非结构化数据、半结构化数据以及具有高种类、高速度和高容量的数据。数据仓库不适合这些用例中的许多,而且它们肯定不是最具成本效益的。
随着公司开始从许多不同的来源收集大量数据,架构师开始设想一个单一的系统来容纳许多不同的分析产品和工作负载的数据。大约十年前,公司开始建造数据的湖泊-各种格式的原始数据存储库。虽然适合存储数据,但数据湖缺乏一些关键特性:它们不支持事务,不强制执行数据质量,而且它们缺乏一致性/隔离性,因此几乎不可能混合添加和读取,以及批处理和流式作业。由于这些原因,数据湖的许多承诺都没有实现,并且在许多情况下导致失去了数据仓库的许多好处。
对灵活、高性能系统的需求并没有减弱。公司需要用于各种数据应用程序的系统,包括SQL分析、实时监控、数据科学和机器学习。人工智能最近的大部分进步都是在更好的模型上处理非结构化数据(文本、图像、视频、音频),但这些恰恰是数据仓库没有优化的数据类型。一种常见的方法是使用多个系统——一个数据湖、几个数据仓库和其他专门的系统,如流、时间序列、图形和图像数据库。拥有大量的系统会带来复杂性,更重要的是,还会带来延迟,因为数据专业人员总是需要在不同的系统之间移动或复制数据。
什么是湖屋?
解决数据湖局限性的新系统开始出现。湖屋是一种新的开放架构,它结合了数据湖和数据仓库的最佳元素。lakehouse采用了一种新的系统设计:直接在开放格式的低成本云存储上实现与数据仓库类似的数据结构和数据管理功能。它们是在现代世界中,如果您必须重新设计数据仓库,就会得到的东西,因为现在有了廉价且高度可靠的存储(以对象存储的形式)。
湖屋有以下主要特点:
- 事务支持:在企业的湖屋中,许多数据管道经常同时读写数据。对ACID事务的支持确保了多方并发读写数据(通常使用SQL)的一致性。
- 模式实施和治理:Lakehouse应该有一种支持模式强制和进化的方法,支持DW模式架构,比如星型/雪花模式。系统应该能够做到数据完整性的原因它应该有健全的治理和审计机制。
- BI支持:lakehouse支持直接在源数据上使用BI工具。这减少了过时性,提高了近时性,减少了延迟,并降低了必须在数据湖和仓库中操作两个数据副本的成本。
- 存储与计算解耦:在实践中,这意味着存储和计算使用单独的集群,因此这些系统能够扩展到更多并发用户和更大的数据大小。一些现代数据仓库也具有此属性。
- 开放:他们使用的存储格式是开放和标准化的,如Parquet,他们提供了一个API,因此各种工具和引擎,包括机器学习和Python/R库,可以有效地访问数据直接.
- 支持从非结构化数据到结构化数据的各种数据类型: lakehouse可用于存储、细化、分析和访问许多新的数据应用程序所需的数据类型,包括图像、视频、音频、半结构化数据和文本。
- 支持不同的工作负载:包括数据科学、机器学习、SQL和分析。可能需要多个工具来支持所有这些工作负载,但它们都依赖于相同的数据存储库。
- 端到端流:实时报告是许多企业的标准。对流的支持消除了专门为实时数据应用程序服务的单独系统的需要。
这些都是湖屋的关键属性。企业级系统需要额外的特性。用于安全和访问控制的工具是基本需求。包括审计、保留和沿袭在内的数据治理功能已经变得至关重要,特别是考虑到最近的隐私法规。还需要支持数据发现的工具,如数据目录和数据使用度量。对于湖畔别墅,这样的企业特性只需要为单个系统实现、测试和管理。
阅读完整的研究论文莱克豪斯的内部运作.
一些早期的例子
的Databricks Lakehouse平bob体育客户端下载台具有湖屋的建筑特点。微软的Azure Synapse Analytics服务,与Azure Databricks集成,形成了类似的湖屋模式。其他托管服务,例如BigQuery而且光谱红移拥有上面列出的一些lakehouse特性,但它们主要集中在BI和其他SQL应用程序上。想要构建和实现自己的系统的公司可以访问开放源码文件格式(bob下载地址三角洲湖,Apache的冰山,Apache Hudi),适合建造湖边小屋。
将数据湖和数据仓库合并到一个系统中意味着数据团队可以更快地使用数据,而不需要访问多个系统。对于大多数企业数据仓库来说,这些早期lakehouse的SQL支持水平和与BI工具的集成通常已经足够了。物化视图和存储过程是可用的,但用户可能需要使用与传统数据仓库中的机制不同的其他机制。后者对于“升降和移位场景,这要求系统实现的语义几乎与旧的商业数据仓库的语义相同。
对其他类型的数据应用程序的支持怎么样?湖屋的使用者可以使用各种标准工具(火花, Python, R,机器学习库)用于非BI工作负载,如数据科学和机器学习。数据探索和优化是许多分析和数据科学应用的标准。Delta Lake旨在让用户逐步提高其湖屋中的数据质量,直到数据可以消费为止。
关于技术构建块的说明。虽然分布式文件系统可用于存储层,但对象存储更常用于湖屋。对象存储提供低成本、高可用性的存储,擅长大规模并行读取——这是现代数据仓库的基本要求。
从BI到AI
lakehouse是一种新的数据管理架构,在机器学习即将颠覆所有行业的时代,它从根本上简化了企业数据基础设施,加速了创新。在过去,进入公司产品或决策制定的大部分数据都是来自运营系统的结构化数据,而今天,许多产品以计算机视觉和语音模型、文本挖掘等形式集成了人工智能。为什么人工智能使用湖屋而不是数据湖?lakehouse为您提供了即使是非结构化数据也需要的数据版本、治理、安全性和ACID属性。
目前的湖屋降低了成本,但它们的性能仍然落后于专门的系统(如数据仓库),这些系统背后有多年的投资和实际部署。用户可能更喜欢某些工具(BI工具,ide,笔记本电脑),所以lakehouse还需要改进他们的用户体验和与流行工具的连接,这样他们就可以吸引各种角色。随着技术的不断成熟和发展,这些问题和其他问题将得到解决。随着时间的推移,湖屋将缩小这些差距,同时保留更简单、更经济、更能服务于不同数据应用的核心属性。
读了关于数据湖屋的常见问题欲知详情。