bob体育客户端下载平台的博客

关于数据湖屋的常见问题

分享这篇文章

问题指数

什么是数据湖屋?
什么是数据湖?
什么是数据仓库?
数据湖屋与数据仓库有何不同?
数据湖屋与数据湖有何不同?
数据分析师使用数据湖屋有多容易?
与数据仓库相比,数据湖屋系统的性能和成本如何?
数据湖屋系统支持哪些数据治理功能?
数据湖屋必须是集中的,还是可以分散到一个数据网格中?
数据网格和数据湖屋有什么关系?


什么是数据湖屋?

简而言之,数据湖屋是一种架构,可以直接对存储在数据湖中的大量数据实现高效安全的人工智能(AI)和商业智能(BI)。

今天,绝大多数企业数据都在数据的湖泊可以管理任何类型的数据(结构化或非结构化),并具有任何处理工具都可以运行的开放接口的低成本存储系统。这些数据湖是大多数数据转换和高级分析工作负载(如AI)运行的地方,以利用组织中的全部数据集。另外,对于商业智能(BI)用例,专有数据仓库系统用于结构化数据的一个小得多的子集。这些数据仓库主要支持BI,使用SQL回答关于过去的历史分析问题(例如,我上个季度的收入是多少),而数据湖存储更大量的数据,并支持使用SQL和非SQL接口进行分析,包括预测分析和人工智能(例如,我的哪些客户可能会流失,或者在什么时间向客户提供什么优惠券)。从历史上看,要同时完成AI和BI,你必须拥有多个数据副本,并在数据湖和数据仓库之间移动。

数据湖屋可以将所有数据存储在数据湖中,并直接对这些数据进行人工智能和BI。它具有特定的能力,能够有效地大规模地在所有企业数据上启用AI和BI。也就是说,它具有SQL和性能功能(索引、缓存、MPP处理),使BI在数据湖上快速工作。它还具有直接的文件访问和对Python、数据科学和AI框架的直接本机支持,而无需强制通过基于sql的数据仓库。用于实现数据湖屋的关键技术是开源的,例如bob下载地址三角洲湖, Hudi和Iceberg。专注于数据湖屋的供应商包括但不限于Databricks、AWS、Dremio和Starburst。提供数据仓库的供应商包括但不限于Teradata、Snowflake和Oracle。

最近,被广泛认为是数据仓库之父的Bill Inmon发表了一篇关于数据湖屋的演变解释湖屋在开放环境中管理数据的独特能力,同时将数据湖的数据科学重点与数据仓库的最终用户分析相结合。

什么是数据湖?

数据湖是一种低成本、开放、持久的存储系统,适用于任何数据类型——表格数据、文本、图像、音频、视频、JSON和CSV。在云中,每个主要的云提供商都利用并推广数据湖,例如AWS S3、Azure数据湖存储(ADLS)、谷歌云存储(GCS)。因此,大多数组织的绝大多数数据都存储在云数据湖中。随着时间的推移,大多数组织以开放的标准化格式存储数据,通常是Apache Parquet格式或ORC格式。因此,一个由工具和应用程序组成的大型生态系统可以直接使用这些开放数据格式。这种以开放格式存储数据的方法成本非常低,使组织能够在数据湖中积累大量数据,同时避免供应商锁定。与此同时,尽管有这些优势,数据湖却面临着三个主要问题——安全性、质量和性能。由于所有数据都以文件的形式存储和管理,因此它不提供对文件内容的细粒度访问控制,而只提供粗粒度访问控制谁可以访问哪些文件或目录。查询性能很差,因为格式没有针对快速访问进行优化,而且列出文件的计算开销很大。简而言之,组织最终会将数据转移到其他系统中来使用这些数据,除非应用程序可以容忍噪声(即机器学习)。 Finally, quality is a challenge because it’s hard to prevent data corruption and manage schema changes as more and more data gets ingested to the data lake. Similarly, it is challenging to ensure atomic operations when writing a group of files, and no mechanism to roll back changes. As a result, many argue that most data lakes end up becoming data “swamps”. . Consequently, most organizations move subsets of this data into Data Warehouses, which do not have these three problems, but suffer from other problems.

什么是数据仓库?

数据仓库是专为存储和管理结构化或半结构化(主要是JSON格式)数据而构建的系统,用于基于sql的分析和商业智能。最有价值的业务数据被整理并上传到数据仓库,这些数据仓库针对高性能、并发性和可靠性进行了优化,但成本要高得多,因为任何数据处理都必须以更昂贵的SQL速率而不是廉价的数据湖访问速率进行。从历史上看,数据仓库的容量受到限制,不能同时支持ETL和BI查询;更不用说实时流媒体了。由于数据仓库主要是为结构化数据构建的,因此它们不支持非结构化数据,如图像、传感器数据、文档、视频等。它们对机器学习的支持有限,不能直接支持流行的开源库和工具(TensorFlow、PyTorch和其他基于python的库)。bob下载地址因此,大多数组织最终将这些数据集保存在数据湖中,将子集移动到数据仓库中,以实现快速并发BI和SQL用例

数据湖屋与数据仓库有何不同?

湖屋构建在现有数据湖之上,这些数据湖通常包含企业中90%以上的数据。虽然大多数数据仓库都支持“外部表”功能来访问数据,但在这样做时,它们有严重的功能限制(例如,只支持读取操作)和性能限制。相反,Lakehouse为现有的数据湖添加了传统的数据仓库功能,包括ACID事务、细粒度的数据安全、低成本的更新和删除、一流的SQL支持、优化的SQL查询性能和BI风格的报告。通过构建在数据湖之上,Lakehouse存储和管理数据湖中的所有现有数据,除了表中的结构化数据外,还包括文本、音频和视频等所有类型的数据。Lakehouse还支持数据科学和机器学习用例,通过使用开放api提供对数据的直接访问,并支持各种ML和Python/R库,如PyTorch、Tensorflow或XGBoost,而不像数据仓库。因此,Lakehouse提供了一个单一的系统来管理企业的所有数据,同时支持BI和AI的分析范围。

另一方面,数据仓库是专用的数据系统,用于对结构化数据和某些类型的半结构化数据进行基于sql的分析。数据仓库对机器学习的支持有限,如果不先导出数据(通过ODBC/JDBC或数据湖),就不能支持本地运行流行的开源工具。bob下载地址目前,没有数据仓库系统对已经存储在数据湖中的所有现有音频、图像和视频数据提供原生支持。

数据湖屋与数据湖有何不同?

关于数据湖最常见的抱怨是,它们可能会变成数据沼泽。任何人都可以将任何数据转储到数据湖中;湖中的数据没有结构或治理。性能很差,因为数据组织时没有考虑到性能,导致对数据湖的分析有限。因此,大多数组织使用数据湖作为大多数数据的着陆区,这是由于底层低成本对象存储数据湖使用数据,然后将数据移动到不同的下游系统(如数据仓库)以提取价值。

Lakehouse解决了从数据湖变成数据沼泽的基本问题。它增加了ACID事务,以确保多方同时读写数据时的一致性。它支持星/雪花模式等DW模式体系结构,并直接在数据湖上提供健壮的治理和审计机制。它还利用各种性能优化技术,如缓存、多维集群和数据跳过,使用文件统计和数据压缩来正确大小文件,从而实现快速分析。它还为数据治理增加了细粒度的安全性和审计功能。通过向开放数据湖添加数据管理和性能优化,lakehouse可以在本地支持BI和ML应用程序。

数据分析师使用数据湖屋有多容易?

数据湖屋系统实现了与传统数据仓库相同的SQL接口,因此分析师可以在现有的BI和SQL工具中连接到它们,而无需更改工作流程。例如,领先的BI产品,如Tableau、PowerBI、Qlik和Looker都可以连接到数据湖房系统,数据工程工具,如Fivetran和dbt可以运行它们,分析师可以将数据导出到桌面工具,如Microsoft Excel。Lakehouse对ANSI SQL、细粒度访问控制和ACID事务的支持使管理员能够以与数据仓库系统相同的方式管理它们,但在一个系统中覆盖其组织中的所有数据。

Lakehouse系统在简单性方面的一个重要优势是,它们可以管理组织中的所有数据,因此数据分析师可以在原始数据和历史数据到达时获得访问权限,而不仅仅是加载到数据仓库系统中的数据子集。因此,分析师可以很容易地提出跨越多个历史数据集的问题,或者建立一个处理新数据集的新管道,而不会阻碍数据库管理员或数据工程师加载适当的数据。对AI的内置支持也使分析师可以轻松运行机器学习团队在任何数据上构建的AI模型。

与数据仓库相比,数据湖屋系统的性能和成本如何?

Data Lakehouse系统是围绕独立的、弹性伸缩的计算和存储构建的,以最大限度地降低操作成本并提高性能。最近的系统在SQL工作负载方面提供了与传统数据仓库相当甚至更好的性能,在其引擎中使用了相同的优化技术(例如,查询编译和存储布局优化)。此外,Lakehouse系统经常利用云提供商节省成本的特性,例如现货实例定价(这要求系统能够容忍在查询过程中丢失工作节点),以及降低不经常访问的存储的价格,传统数据仓库引擎通常不支持这些特性。

数据湖屋系统支持哪些数据治理功能?

通过在数据湖存储之上添加管理接口,Lakehouse系统提供了一种统一的方式来管理跨组织所有数据的访问控制、数据质量和遵从性,使用的标准接口类似于数据仓库中的接口。现代Lakehouse系统通过SQL、查询审计、基于属性的访问控制、数据版本控制、数据质量约束和监视支持细粒度(行、列和视图级)访问控制。这些特性通常使用数据库管理员熟悉的标准接口(例如SQL GRANT命令)提供,以允许现有人员以统一的方式管理组织中的所有数据。通过单一的管理界面将所有数据集中到Lakehouse系统中,还可以减少管理多个独立系统带来的管理负担和潜在的错误。

数据湖屋必须是集中的,还是可以分散到一个数据网格中?

不,组织不需要将所有数据集中在一个Lakehouse中。许多使用Lakehouse架构的组织采用分散的方法来存储和处理数据,但采用集中的方法来处理安全、治理和发现。根据组织结构和业务需求,我们可以看到一些常见的方法:

  • 每个业务部门都构建自己的Lakehouse,以获取其业务的完整视图——从产品开发到客户获取再到客户服务。
  • 每个功能领域,如产品制造、供应链、销售和营销,都可以构建自己的Lakehouse,以优化其业务领域内的操作。
  • 一些组织还成立了一个新的Lakehouse,以应对新的跨职能战略举措,如客户360或COVID大流行等意外危机,以推动快速、果断的行动。


Lakehouse体系结构的统一特性使数据架构师能够构建更简单的数据体系结构,使其与业务需求保持一致而不复杂编制此外,Lakehouse架构的开放性使组织能够利用不断增长的开放技术生态系统,而不必担心被锁定以解决不同业务单元或功能领域的独特需求。由于Lakehouse系统通常构建在独立的、可扩展的云存储上,因此让多个团队访问每个Lakehouse也很简单有效。最近,三角洲分享在许多不同供应商的支持下,提出了在lakehouse之间共享数据的开放和标准机制。

数据网格和数据湖屋有什么关系?

Zhamak Dehghani概述了包含任何数据网格实现的四个基本组织原则。数据湖屋架构可用于实现以下组织原则:

    • 面向领域的分散数据所有权和体系结构:正如前一节所讨论的,湖边小屋架构对数据所有权采取分散的方法。组织可以创建许多不同的湖屋,以满足商业团体的个人需求。根据需要,他们可以存储和管理各种数据——图像、视频、文本、结构化表格数据,以及相关的数据资产,如机器学习模型和相关代码,以再现转换和见解。

    • 数据作为产品:lakehouse架构通过为特定领域团队中的不同数据团队成员提供对数据生命周期的完全控制,帮助组织将数据作为产品进行管理。由数据所有者、数据工程师、分析师和数据科学家组成的数据团队可以管理数据(具有适当的谱系和安全控制的结构化、半结构化和非结构化)、代码(ETL、数据科学笔记本、ML培训和部署)和支持基础设施(存储、计算、集群策略以及各种分析和ML引擎)。Lakehouse平bob体育客户端下载台的特性,如ACID事务、数据版本控制和零拷贝克隆,使得这些团队可以轻松地将数据作为产品发布和维护。

    • 自助式数据基础设施平台:bob体育客户端下载lakehouse架构为数据管理、数据工程、分析、数据科学和机器学习提供了一个端到端的数据平台,并集成到广泛的bob体育客户端下载工具生态系统中。在现有的数据湖之上添加数据管理简化了数据访问和共享——任何人都可以请求访问,请求者支付廉价的blob存储并立即获得安全访问。此外,通过使用开放数据格式并支持直接文件访问,数据团队可以对数据使用最佳分析和ML框架。

    • 联邦计算治理:lakehouse体系结构中的治理是由具有细粒度访问控制(行/列级)的集中式目录实现的,可以轻松发现数据和其他工件(如代码和ML模型)。组织可以将不同的管理员分配到目录的不同部分,以分散对数据资产的控制和管理。这种集中式目录与联邦控制的混合方法保留了本地特定领域团队的独立性和敏捷性,同时确保跨这些团队重用数据资产,并在全球范围内强制执行公共安全和治理模型。

免费试用Databricks

相关的帖子

看到所有bob体育客户端下载平台的博客的帖子