在考虑数据平台时,考虑所有可用的服务和架构选项可能有点困难。
企业数据平台通常由数据仓库、数据模型、数据湖和报告组成,每个都有特定的目的和所需的技能集。 相比之下,在过去几年中出现了一种称为数据湖库的新设计。
数据湖和数据仓库数据管理的多功能性结合在被称为“数据湖库”的革命性数据存储架构中。
我们将在这篇文章中深入研究数据湖库,包括它的组件、特性、架构和其他方面。
什么是数据湖屋?
顾名思义,数据湖屋是一种将数据湖与数据仓库相结合,分别解决各自不足的新型数据架构。
本质上,Lakehouse 系统使用廉价的存储来维护原始形式的大量数据,就像数据湖一样。 在商店顶部添加元数据层还可以提供数据结构并授权数据管理工具,例如数据仓库中的那些。
它存储了他们从整个组织中使用的不同业务应用程序、系统和小工具获得的大量有组织、半结构化和非结构化数据。
大多数时候,数据湖使用带有文件应用程序编程接口 (API) 的低成本存储基础架构,以开放的通用文件格式存储数据。
这使得许多团队可以通过单个系统访问所有公司数据,以实施各种计划,例如数据科学、 机器学习和商业智能。
特征
- 低成本存储。 数据湖库必须能够将数据存储在廉价的对象存储中,例如 谷歌云 存储、Azure Blob 存储、Amazon Simple Storage Service,或者本机使用 ORC 或 Parquet。
- 数据优化能力:数据布局优化、缓存和索引是数据湖库必须能够在保持数据原始格式的同时优化数据的几个示例。
- 一层事务性元数据:在基本的低成本存储之上,这使数据管理功能成为数据仓库性能的关键。
- 支持声明性 DataFrame API:大多数 AI 工具都可以使用 DataFrame 来检索原始对象存储数据。 对声明性 DataFrame API 的支持增加了动态改进数据表示和结构以响应特定数据科学或 AI 任务的能力。
- 支持 ACID 事务:缩写词 ACID 代表原子性、一致性、隔离性和持久性,是定义事务和确保数据一致性和可靠性的关键组件。 此类事务以前只能在数据仓库中进行,但 Lakehouse 提供了将它们与数据湖一起使用的选项 也是。 多条数据流水线,包括并发数据读写,解决了后者数据质量低的问题。
数据湖屋的元素
数据湖库的架构在较高层次上分为两个主要层。 存储层的数据摄入由 Lakehouse 平台(即数据湖)控制。
无需将数据加载到数据仓库或将其转换为专有格式,处理层就可以直接使用一系列工具查询存储层中的数据。
然后,BI 应用程序以及 AI 和 ML 技术可以使用这些数据。 这种设计提供了数据湖的经济性,但由于任何处理引擎都可以读取这些数据,因此企业可以自由地使准备好的数据可用于一系列系统的分析。 使用这种方法进行处理和分析,可以提高处理器性能和成本。
由于它支持遵循以下 ACID(原子性、一致性、隔离性和持久性)标准的数据库事务,该架构还允许多方在系统内同时访问和写入数据:
- 原子性 指的是在完成交易时,无论是完整交易还是全部交易都不成功。 如果进程中断,这有助于避免数据丢失或损坏。
- 持续一致 保证交易以可预测的、一致的方式发生。 它通过确保每个数据按照预定规则是合法的来维护数据的完整性。
- 隔离度 确保在完成之前,系统中的任何其他事务都不会影响任何事务。 这允许多方同时从同一系统读取和写入,而不会相互干扰。
- 耐用性 保证在事务完成后对系统中数据的更改继续存在,即使在系统发生故障的情况下也是如此。 交易带来的任何变更都将永久存档。
数据湖屋架构
Databricks(其 Delta Lake 概念的创新者和设计者)和 AWS 是数据湖库概念的两个主要倡导者。 因此,我们将依靠他们的知识和洞察力来描述湖屋的建筑布局。
数据湖库系统通常有五层:
- 摄取层
- 存储层
- 元数据层
- API层
- 消费层
摄取层
系统的第一层负责从各种来源收集数据并将其发送到存储层。 该层可以利用多种协议连接到众多内部和外部源,包括结合批处理和流数据处理功能,例如
- NoSQL 数据库,
- 文件共享
- 客户关系管理应用程序,
- 网站,
- 物联网传感器,
- 社交媒体,
- 软件即服务 (SaaS) 应用程序,以及
- 关系数据库管理系统等
此时,可以使用用于数据流的 Apache Kafka 和用于从 RDBMS 和 NoSQL 数据库导入数据的 Amazon Data Migration Service (Amazon DMS) 等组件。
存储层
Lakehouse 架构旨在将各种类型的数据作为对象存储在廉价的对象存储中,例如 AWS S3。 使用开放文件格式,客户端工具可以直接从商店读取这些项目。
这使得许多 API 和消费层组件可以访问和利用相同的数据。 元数据层存储结构化和半结构化数据集的模式,以便组件可以在读取数据时将其应用于数据。
例如,Hadoop 分布式文件系统 (HDFS) 平台可用于构建云存储库服务,将本地计算和存储分开。 Lakehouse 非常适合这些服务。
元数据层
元数据层是区分这种设计的数据湖库的基本组成部分。 它是一个单一目录,为存储在湖中的所有项目提供元数据(有关其他数据片段的信息),并允许用户使用管理功能,例如:
- 由于 ACID 事务,并发事务可以看到数据库的一致版本;
- 缓存以保存云对象存储文件;
- 使用索引添加数据结构索引以加快查询处理;
- 使用零拷贝克隆来复制数据对象; 和
- 要存储某些版本的数据等,请使用数据版本控制。
此外,元数据层支持实现模式管理,使用星形/雪花模式等 DW 模式拓扑,并直接在数据湖上提供数据治理和审计能力,增强整个数据管道的完整性。
模式演变和实施的功能包含在模式管理中。 通过拒绝任何不符合表模式的写入,模式强制使用户能够保持数据的完整性和质量。
模式演变允许修改表的当前模式以适应不断变化的数据。 由于数据湖之上的单一管理界面,还存在访问控制和审计的可能性。
API层
现在出现了架构的另一个关键层,托管了许多 API,所有最终用户都可以使用这些 API 更快地执行工作并获得更复杂的统计数据。
使用元数据 API 可以更轻松地识别和访问给定应用程序所需的数据项。
在机器学习库方面,其中一些,例如 TensorFlow 和 Spark MLlib,可以读取 Parquet 等开放文件格式并直接访问元数据层。
同时,DataFrame API 提供了更大的优化机会,使程序员能够组织和更改分散的数据。
消费层
Power BI、Tableau 和其他工具和应用托管在消费层下。 通过 Lakehouse 设计,客户端应用程序可以访问保存在湖中的所有元数据和所有数据。
Lakehouse可供公司内的所有用户使用,以执行各种 分析操作,包括创建商业智能仪表板和运行 SQL 查询和机器学习任务。
数据湖屋的优势
组织可以创建一个数据湖库来统一他们当前的数据平台并优化他们的整个数据管理流程。 通过拆除连接各种来源的孤岛障碍,数据湖库可以取代对不同解决方案的需求。
与策划的数据源相比,这种集成产生了更有效的端到端过程。 这有几个优点:
- 更少的管理:数据湖库不是从原始数据中提取数据并准备在数据仓库中使用,而是允许与其链接的任何源获得并组织其数据以供使用。
- 提高成本效益:数据湖库是使用现代基础设施构建的,将计算和存储分开,使得在不增加计算能力的情况下扩展存储变得简单。 仅使用廉价的数据存储就可以实现具有成本效益的可扩展性。
- 更好的数据治理:数据湖库采用标准化的开放架构构建,允许对安全性、指标、基于角色的访问和其他重要管理组件进行更多控制。 通过统一资源和数据源,它们可以简化和增强治理。
- 简化标准:由于在 1980 年代连接受到高度限制,当数据仓库最初开发时,本地化模式标准经常在企业内部甚至部门内部开发。 数据湖库利用这样一个事实,即现在许多类型的数据都具有开放的模式标准,通过摄取具有重叠统一模式的大量数据源来简化程序。
数据湖屋的缺点
尽管围绕数据湖库的所有喧嚣,重要的是要记住,这个想法仍然很新。 在完全采用这种新设计之前,请务必权衡缺点。
- 单片结构: 湖屋的全包式设计提供了几个优点,但也带来了一些问题。 单体架构通常会导致为所有用户提供糟糕的服务,并且可能僵化且难以维护。 通常,架构师和设计师喜欢更模块化的架构,他们可以针对各种用例进行定制。
- 技术还不成熟:最终目标需要大量的机器学习和人工智能。 在湖屋可以按预期运行之前,这些技术必须进一步发展。
- 与现有结构相比没有显着进步:对于湖屋实际贡献多少价值仍然存在相当大的怀疑。 一些批评者认为,湖仓库设计与适当的自动化设备相结合可以达到相当的效率。
数据湖屋的挑战
采用数据湖库技术可能很困难。 由于其组成部分的复杂性,将数据湖库视为一个包罗万象的理想结构或“一个万能的平台”是不正确的。
此外,由于越来越多地采用数据湖,企业将不得不将其当前的数据仓库迁移到其中,仅依赖于没有明显经济效益的成功承诺。
如果在整个传输过程中存在任何延迟问题或中断,这最终可能会变得昂贵、耗时并且可能不安全。
根据某些明确或暗示将解决方案作为数据湖库推销的供应商,业务用户必须采用高度专业化的技术。 这些可能并不总是与链接到系统中心数据湖的其他工具一起使用,从而增加了问题。
此外,在运行关键业务工作负载时提供 24/7 分析可能很困难,这需要具有成本效益可扩展性的基础架构。
结论
近年来最新的数据中心品种是数据湖屋. 它融合了信息技术、开源软件、 云计算和分布式存储协议。
它使企业能够从任何位置集中存储所有类型的数据,从而简化管理和分析。 Data Lakehouse 是一个非常有趣的概念。
如果任何公司都可以访问一个像数据仓库一样快速高效,同时又像数据湖一样灵活的一体化数据平台,那么它就会拥有显着的竞争优势。
这个想法仍在发展中,并且仍然相对较新。 因此,可能需要一些时间来确定某些东西是否可以传播开来。
我们都应该对 Lakehouse 建筑的发展方向感到好奇。
发表评论