数据湖房
数据湖屋是一种融合架构,将数据库原理应用于数据湖基础设施,同时保持云存储系统的灵活性和规模。
湖屋不仅是拆解数据库,而是将类似数据库的功能构建在一个根本不同的基础之上(云对象存储),专注于在统一平台上支持传统分析和现代AI/ML工作负载。
数据湖屋的组成部分是什么?
现代数据湖屋架构代表了数据仓库与数据湖技术的融合,结合了两种方法的最佳方面。这种架构包含多个不同但相互关联的层,提供一个灵活、稳健的数据存储、管理和分析平台。
理解这些组件对于希望实施或优化其数据湖屋策略的组织至关重要。这种分层方法允许组件替换和各层独立演变,提供了架构灵活性和未来证明能力。
让我们探索典型数据湖屋架构的核心构建块,以及它们如何相互作用以创建一个统一的数据管理平台。

| 组件 | 描述 |
|---|---|
| 数据源 | 湖屋数据源包括操作数据库、流媒体平台、物联网设备、应用程序日志和外部提供商。 |
| 查询引擎 | 处理存储在对象存储中的分析查询,利用表格式层提供的元数据和优化。支持 SQL 以及其他查询语言,以有效地分析大量数据。 |
| 元数据目录 | 数据目录 充当元数据的中央存储库,存储和管理表定义和模式、分区信息以及访问控制策略。实现对湖屋的数据信息发现、数据血缘跟踪和治理。 |
| 表格式层 | 表格式层 管理数据文件的逻辑组织,将其归类到表中,提供数据库类功能,如 ACID 事务、模式实施与演变、时间旅行功能,以及数据跳过和聚类等性能优化。 |
| 对象存储 | 此层为所有数据文件和元数据提供可扩展、耐用且具有成本效益的存储。它处理以开放格式持续保留数据的物理持久性,支持多个工具和系统的直接访问。 |
| 客户端应用程序 | 连接到湖屋以查询数据、可视化洞见或构建数据产品的各种工具和应用程序。这些可以包括商业智能工具、数据科学笔记本、自定义应用程序,以及 ETL/ELT 工具。 |
数据湖屋的好处是什么?
与传统数据仓库和数据湖相比,数据湖屋架构提供了几项显著优势:
与传统数据仓库相比
| # | 好处 | 描述 |
|---|---|---|
| 1 | 成本效率 | 湖屋利用廉价的对象存储而非专有存储格式,相比于对其集成存储收取高价的数据仓库,显著降低了存储成本。 |
| 2 | 组件灵活性和互换性 | 湖屋架构允许组织替换不同的组件。传统系统在需求变化或技术进步时需要全面替换,而湖屋通过更换单个组件(如查询引擎或表格式)实现增量演变。这种灵活性减少了供应商锁定,使组织能够在不进行破坏性迁移的情况下适应变化的需求。 |
| 3 | 开放格式支持 | 湖屋以开放文件格式(如 Parquet)存储数据,允许各种工具直接访问,而无需担心供应商锁定,不同于限制进入其生态系统的专有数据仓库格式。 |
| 4 | AI/ML 集成 | 湖屋为机器学习框架和 Python/R 库提供直接访问数据,而数据仓库通常需要在使用数据进行高级分析之前提取数据。 |
| 5 | 独立扩展 | 湖屋将存储与计算分离,使每个部分能够根据实际需要独立扩展,而许多数据仓库则需要一起扩展。 |
与数据湖相比
| # | 好处 | 描述 |
|---|---|---|
| 1 | 查询性能 | 湖屋实现了索引、统计信息和数据布局优化,使 SQL 查询速度可与数据仓库相媲美,克服了原始数据湖的性能缺陷。 |
| 2 | 数据一致性 | 通过 ACID 事务支持,湖屋在并发操作中确保一致性,解决了传统数据湖的主要限制,后者可能因文件冲突导致数据损坏。 |
| 3 | 模式管理 | 湖屋实施模式验证并跟踪模式演变,防止 "数据沼泽" 问题,通常在数据湖中出现,导致数据因模式不一致而无法使用。 |
| 4 | 治理能力 | 湖屋提供行/列级的细粒度访问控制和审计功能,解决了基本数据湖中安全控制有限的问题。 |
| 5 | BI 工具支持 | 湖屋提供 SQL 接口和优化,使其与标准商业智能工具兼容,不同于原始数据湖,在可视化之前需要额外的处理层。 |
ClickHouse 在数据湖屋架构中适合什么位置?
ClickHouse 是现代数据湖屋生态系统内一款强大的分析查询引擎。它为组织提供了一种高性能的选项,以大规模分析数据。由于其卓越的查询速度和效率,ClickHouse 是一个极具吸引力的选择。
在湖屋架构中,ClickHouse 充当专门的处理层,能够灵活地与底层数据进行交互。它可以直接查询存储在云对象存储系统(如 S3、Azure Blob Storage 或 Google Cloud Storage)中的 Parquet 文件,利用其优化的列式处理能力,即使在大规模数据集上也能快速交付结果。此直接查询能力使组织能够分析其湖泊数据,而无需复杂的数据搬运或转换过程。
ClickHouse 可以与 Apache Iceberg、Delta Lake 或 Apache Hudi 等开放表格式进行集成,以满足更复杂的数据管理需求。这种集成使 ClickHouse 能够利用这些格式的高级功能,同时仍然提供其所知的卓越查询性能。组织可以直接集成这些表格式,也可以通过元数据目录(如 AWS Glue、Unity 或其他目录服务)进行连接。
通过将 ClickHouse 作为查询引擎纳入其湖屋架构,组织能够对其数据湖执行快速的分析查询,同时保持湖屋方法定义下的灵活性和开放性。此组合提供了专门的分析数据库的性能特征,而不牺牲湖屋模型的核心优势,包括组件互换性、开放格式和统一数据管理。
混合架构:两全其美
虽然 ClickHouse 在查询湖屋组件方面表现出色,但其高度优化的存储引擎提供了额外的优势。对于需要超低延迟查询的用例—例如实时仪表板、操作分析或互动用户体验—组织可以选择将性能关键数据直接存储在 ClickHouse 的本地格式中。这种混合方法提供了两全其美的效果:ClickHouse 专用存储提供的无与伦比的查询速度,适用于时间敏感的分析,同时在需要时也具备查询更广泛数据湖屋的灵活性。
这种双重能力使组织能够实施分层数据策略,其中经常访问的热数据存储在 ClickHouse 的优化存储中,以实现亚秒级的查询响应,同时维护对湖屋中完整数据历史的无缝访问。团队可以根据性能需求而不是技术限制做出架构决策,利用 ClickHouse 作为关键工作负载的快速分析数据库,以及作为更广泛数据生态系统的灵活查询引擎。