Workflow
数据网格
icon
搜索文档
一文读懂如何选择数据架构
36氪· 2025-09-19 10:51
数据工程架构核心观点 - 数据工程是管理和指导数据从收集到转换、存储和访问全过程的关键学科 在制定战略决策、优化运营和获得竞争优势方面至关重要[1] - 成功的数据架构基础必须从设计过程一开始就奠定 不仅关乎技术架构构建 还在于使其与组织目标和数据管理策略保持一致[2] - 数据管理策略如数据仓库、数据湖、数据湖仓和数据网格在数据类型、访问模型、性能要求、组织结构和治理策略方面提供不同解决方案[1] 需求分析 - 项目初期最重要的第一步是需求分析 如果需求定义不明确将导致资源和时间浪费[3] - 需求分析目的是了解业务需求、确定利益相关者期望、明确范围并选择正确的技术基础设施[7] - 在示例项目中 数据来自两个主要源系统(ERP和CRM)以CSV格式提供 需要在整个ETL过程中进行仔细规划和强大数据控制[4] - 数据必须集成到用户友好且易于理解的结构中 数据模型应简洁、合乎逻辑并支持分析 不需要跟踪历史数据[5] - 系统最终生成的数据模型需要提供清晰易懂的文档 确保技术团队和业务用户都能更轻松适应系统[5] 数据架构选项比较 - 数据仓库专注于结构化数据 适用于报告和商业智能 具有高性能报告、数据安全性和一致性优势 但仅适用于结构化数据且成本较高[11][12][15][16] - 数据湖可存储结构化、半结构化和非结构化数据 提供高度灵活性 适用于机器学习和高级分析 但可能导致复杂的数据管理和数据沼泽问题[11][21][23][24] - 数据湖仓结合数据湖灵活性和数据仓库结构化数据管理功能 能处理各种数据类型同时提供高效分析查询性能 但设置和管理复杂[11][27][30][32] - 数据网格采用分布式架构 每个部门创建自己的数据产品并与其他部门共享 适用于大型复杂组织 但缺乏集中数据管理可能影响数据一致性和完整性[11][37][39][40] 数据架构平台选择 - 数据仓库平台包括Google BigQuery、Amazon Redshift、Snowflake、Microsoft Azure Synapse Analytics、Teradata和IBM Db2 Warehouse[18][19][20] - 数据湖平台包括Amazon S3、Azure数据湖存储、Google Cloud Storage、Apache Hadoop HDFS和MinIO[26] - 数据湖仓平台包括Databricks + Delta Lake、Apache Iceberg、Apache Hudi、Azure Synapse Analytics、Snowflake和Google BigLake[34][35] - 数据网格平台包括AWS Lake Formation + Glue + S3、Databricks Unity Catalog、Starburst/Trino、Snowflake、Kafka/Event Streaming和DataHub/Amundsen/OpenMetadata[41][42] 数据仓库设计方法 - Inmon方法采用集中式数据仓库设计 所有数据存储在一个中心位置并经过规范化处理 提供数据高度准确性和一致性但开发过程缓慢[46][47][53] - Kimball方法采用用户友好且灵活的设计 数据组织成更小更具体的部分称为数据集市 使用星型模式和雪花模式 提供便捷访问和快速查询但可能产生数据冗余[47][51][54] - Data Vault方法提供灵活性和模块化 数据以原始形式存储然后通过添加业务规则进行处理 允许与各种数据源快速集成但可能带来管理困难[55][58] - Medallion架构将数据处理分为三层:青铜层(原始数据)、白银层(清理数据)和黄金层(符合业务规则的数据) 提供简洁性、可追溯性、灵活性和性能[56][57][60][61] 可视化数据仓库架构 - 数据仓库架构可视化关键元素包括数据源、ETL流程、数据仓库、层级结构和商业智能工具[67] - 数据源可以有多种格式如数据库、CSV文件、APIs和Web服务 在图中用方框表示并通过箭头连接[67][70] - ETL流程包括提取(数据收集)、转换(数据转换)和加载(数据加载)步骤 在图中用顺序箭头表示[67] - 如果采用Medallion架构 应在图中清晰标明不同层级(青铜、白银、黄金) 每层描述数据处理程度和预期用途[67] - 商业智能工具和报告平台用于向最终用户呈现数据 是分析和解释数据的最后一步[67]