人工智能的数据

向数据湖屋的演进

2021年5月19日 数据+ AI博客

分享这篇文章

本文是由Forest Rim Technology的数据团队撰写的客座文章。我们感谢森林边缘技术的首席执行官比尔·英蒙和首席数据战略官玛丽·莱文斯的贡献。

原始数据挑战

随着应用程序的激增,出现了数据完整性问题。随着大量应用程序的出现,问题是相同的数据出现在许多地方,值不同。为了做出决定,用户必须在众多应用程序中找到哪个版本的数据是正确的。如果用户没有找到和使用正确的数据版本,就可能做出错误的决定。

需要一种不同的体系结构方法来找到用于决策的正确数据。

人们发现他们需要一种不同的体系结构方法来找到用于决策的正确数据。因此,数据仓库诞生了。

数据仓库

数据仓库导致不同的应用程序数据被放置在单独的物理位置。设计人员必须围绕数据仓库构建一个全新的基础设施。

围绕数据仓库的传统分析基础设施

围绕数据仓库的分析基础设施包含以下内容:

  • 元数据——关于什么数据位于哪里的指南
  • 数据模型——数据仓库中数据的抽象
  • 数据沿袭——仓库中数据的起源和转换的故事
  • 摘要-对用于创建数据的算法工作的描述
  • 关键绩效指标——关键绩效指标
  • 将启用ETL的应用程序数据转换为企业数据

随着企业中数据(文本、物联网、图像、音频、视频等)种类的增加,数据仓库的局限性变得明显起来。此外,机器学习(ML)和AI的兴起引入了迭代算法,这些算法需要直接访问数据,而不是基于SQL。

公司的所有数据

与数据仓库同样重要和有用的是,在大多数情况下,以结构化数据为中心的数据仓库。但是现在公司中有许多其他的数据类型。为了了解公司中存在哪些数据,可以考虑一个简单的图表:

结构化数据通常是组织为执行日常业务活动而生成的基于事务的数据。文本数据是由公司内部的信件、电子邮件和对话产生的数据。其他非结构化数据是具有其他来源的数据,如物联网数据、图像、视频和基于模拟的数据。

数据湖

数据湖是公司中所有不同类型数据的合并。它已经成为企业卸载所有数据的地方,因为它的低成本存储系统带有一个文件API,以通用和开放的文件格式保存数据,如Apache Parquet和ORC。开放格式的使用也使得数据湖的数据可以直接被广泛的其他分析引擎访问,比如机器学习系统。

数据湖是公司中所有不同类型数据的合并

在最初构想数据湖时,人们认为所需要的只是提取数据并将其放入数据湖。一旦进入数据湖,最终用户就可以潜入其中,查找数据并进行分析。然而,企业很快发现,使用数据湖中的数据与仅仅将数据放在湖中完全是两码事。

由于缺乏一些关键特性,数据湖的许多承诺都没有实现:不支持事务、不执行数据质量或治理以及糟糕的性能优化。因此,企业中的大部分数据都变成了“数据湖”数据沼泽

当前数据架构的挑战

由于数据湖和数据仓库的局限性,一种常见的方法是使用多个系统——一个数据湖、几个数据仓库和其他专门的系统,从而导致三个常见问题:

1.缺乏开放性:数据仓库将数据锁定为专有格式,这增加了将数据或工作负载迁移到其他系统的成本。由于数据仓库主要提供仅sql的访问,因此很难运行任何其他分析引擎,例如机器学习系统。此外,使用SQL直接访问仓库中的数据非常昂贵且缓慢,这使得与其他技术的集成非常困难。

2.有限的机器学习支持:尽管有很多关于ML和数据管理融合的研究,但没有一个领先的机器学习系统(如TensorFlow、PyTorch和XGBoost)在仓库之上工作得很好。与BI提取少量数据不同,ML系统使用复杂的非sql代码处理大型数据集。对于这些用例,仓库供应商建议将数据导出到文件,这进一步增加了复杂性和过时性。

3.数据湖和数据仓库之间的强制权衡:超过90%的企业数据存储在数据湖中,因为它可以灵活地开放直接访问文件,而且使用廉价的存储,成本很低。为了克服数据湖缺乏性能和质量的问题,企业将数据湖中的一小部分数据ETLed到下游数据仓库,用于最重要的决策支持和BI应用。这种双系统架构需要在湖泊和仓库之间进行连续的ETL数据工程。每个ETL步骤都有导致失败或引入降低数据质量的错误的风险,同时保持数据湖和仓库的一致性是困难和昂贵的。除了为连续的ETL付费外,用户还要为复制到仓库的数据支付两倍的存储成本。

数据湖屋的出现

我们正在看到一种新的数据架构的出现,称为数据lakehouse这是由一种新的开放和标准化系统设计实现的:直接在用于数据湖的低成本存储上实现与数据仓库中的数据结构和数据管理功能相似的数据结构和数据管理功能。

数据湖屋体系结构解决了当前数据体系结构的主要挑战

数据湖屋架构解决了上一节中讨论的当前数据架构的主要挑战:

  • 通过使用开放格式(如Apache Parquet)来实现开放的直接访问
  • 为数据科学和机器学习提供原生类支持
  • 提供一流的性能和低成本存储的可靠性

以下是使湖屋建筑的主要优点成为可能的各种功能:

开放:

  • 打开文件格式:构建在开放和标准化的文件格式上,如Apache Parquet和ORC
  • 开放API:提供一个开放的API,可以直接有效地访问数据,而不需要专有引擎和供应商锁定
  • 语言支持:不仅支持SQL访问,还支持各种其他工具和引擎,包括机器学习和Python/R库

机器学习支持:

  • 支持多种数据类型:为许多新应用程序存储、细化、分析和访问数据,包括图像、视频、音频、半结构化数据和文本。
  • 高效的非sql直接读取:使用R和Python库直接有效地访问大量数据以运行机器学习实验。
  • 支持DataFrame API:内置声明式DataFrame API,用于ML工作负载中的数据访问查询优化,因为TensorFlow、PyTorch和XGBoost等ML系统已经采用DataFrame作为操作数据的主要抽象。
  • ML实验的数据版本控制:提供数据快照,使数据科学和机器学习团队能够访问并恢复到早期版本的数据,以进行审计和回滚,或重现ML实验。

一流的性能和低成本的可靠性

  • 性能优化:启用各种优化技术,如缓存,多维集群和数据跳过,利用文件统计和数据压缩来适当大小的文件。
  • 模式实施和治理:支持星型/雪花模式等DW模式体系结构,并提供健壮的治理和审计机制。
  • 事务支持:利用ACID事务来确保一致性,因为多方同时读取或写入数据,通常使用SQL。
  • 存储成本低:Lakehouse架构使用低成本的对象存储构建,如Amazon S3、Azure Blob storage或谷歌Cloud storage。

比较数据仓库、数据湖和数据湖屋

数据仓库 数据湖 数据lakehouse
数据格式 封闭的专有格式 开放格式 开放格式
数据类型 结构化数据,对半结构化数据的支持有限 所有类型:结构化数据、半结构化数据、文本数据、非结构化(原始)数据 所有类型:结构化数据、半结构化数据、文本数据、非结构化(原始)数据
数据访问 仅sql,不能直接访问文件 使用SQL、R、Python和其他语言直接访问文件的开放api 使用SQL、R、Python和其他语言直接访问文件的开放api
可靠性 具有ACID事务的高质量、可靠数据 质量低,数据沼泽 具有ACID事务的高质量、可靠数据
治理和安全
表的行/列级的细粒度安全性和治理 作为安全性的糟糕治理需要应用于文件 表的行/列级的细粒度安全性和治理
性能
可伸缩性 扩大规模的成本将呈指数级增长 扩展以低成本保存任意数量的数据,而不考虑类型 扩展以低成本保存任意数量的数据,而不考虑类型
用例支持 仅限于BI, SQL应用程序和决策支持 仅限于机器学习 一个BI、SQL和机器学习的数据架构

湖屋的影响

我们相信,数据湖屋架构提供了一个与我们在数据仓库市场早期所看到的机会相当的机会。湖屋在开放环境中管理数据的独特能力,混合来自企业各个部分的各种数据,并将数据湖的数据科学重点与数据仓库的最终用户分析相结合,将为组织释放难以置信的价值。


构建数据湖屋。
与数据仓库之父Bill Inmon一起探索下一代数据架构。

想了解更多吗?BOB低频彩加入数据+人工智能峰会这是数据社区的全球盛会,与Bill Inmon和Databricks联合创始人兼首席执行官Ali Ghodsi在炉边聊天。这个免费的虚拟活动有数据+人工智能远见者,思想领袖和专家-查看完整的演讲者阵容在这里

森林边缘技术由Bill Inmon创立,是将文本非结构化数据转换为结构化数据库以进行更深入的洞察和有意义的决策的世界领导者。

免费试用Databricks

相关的帖子

看到所有数据+ AI博客的帖子