现代数据平台的第一个基础层是存储和处理。 现代数据存储系统专注于有效地使用数据,包括数据存储位置和处理方式。尽管数据湖仓一体和数据网格越来越受欢迎,但两种最流行的存储格式是数据仓库和数据湖。 数据仓库 数据仓库是为管理结构化数据而设计的,其用例清晰明确。 数据仓库的使用可以追溯到 20 世纪 90 年代,当时数据库用于存储数据。这些数据仓库位于本地,存储容量非常有限。 2013 年左右,数据仓库开始转向云端,可扩展性突然成为可能。基于云的数据仓库仍然是首选的数据存储系统,因为它们优化了计算能力和处理速度。 要使数据仓库正常运行,必须收集、重新格式化、清理数据并将其上传到仓库。任何无法重新格式化的数据都可能丢失。 数据湖 2008 年 1 月,Yahoo 向 Apache 软件基金会发布了 Hadoop(基于 NoSQL)作为开源项目。数据湖最初构建在 Hadoop 上,具有可扩展性并且专为本地部署使用而设计。遗憾的是,Hadoop 生态系统极其复杂且难以使用。数据湖在 2015 年左右开始转向云端,使其成本大幅降低、对用户更友好。 数据湖最初的设计目的是收集原始的非结构化数据,而不强制要求模式(格式),以便研究人员可以从广泛的数据中获得更多洞察。由于解析陈旧、不准确或无用的信息时出现问题,数据湖可能会变成效率低下的“数据沼泽”。 典型的数据湖架构可能将数据存储在对象存储(例如 AWS 的 Amazon S3)上,并结合 Spark 等工具来处理数据。 湖仓一体 湖仓一体将数据湖的灵活性、成本效益和扩展能力与数据仓库的 ACID(原子性、一致性、隔离性和持久性)事务和数据管理功能相结合。(ACID 是定义事务的 4 个关键属性的首字母缩写词:原子性 (Atomicity)、一致性 (Consistency)、隔离性 (Isolation) 和持久性 (Durability)。) 湖仓一体支持 BI 和机器学习,而湖仓一体的一个关键优势是它使用元数据层。湖仓一体还使用新的查询引擎,专为高性能 SQL 搜索而设计。 数据网格 与数据仓库、数据湖和湖仓一体不同,数据网格分散管理数据所有权。通过这种架构模型,特定域(例如合作伙伴或部门)不拥有其数据,而是与其他域自由共享数据。这意味着数据网格系统内的所有数据都应保持统一的格式。 数据网格系统对于支持多个数据域的企业非常有用。在数据网格设计中,有一个数据治理层和一个可观测性层,以及一个通用的互操作性层。 数据网格对于快速扩张并需要可扩展性来存储数据的组织非常有用。 |