2. 数据平台架构与核心组件
数据平台不是单一系统,而是由采集、存储、计算、调度、元数据、权限、服务门户等多层组件协同构成的工程体系。理解分层架构的意义在于:每一层都有清晰的职责边界与对外契约,上层只依赖下层暴露的接口,从而让平台在数据量、任务数、用户数增长时仍能局部替换、独立扩展。本节围绕典型分层架构、存储与计算引擎选型、元数据与权限体系、自助服务门户的架构定位四条主线展开,帮助读者建立“组件放在哪一层、为什么放在这一层、选型时看什么参数”的判断能力。
典型数据平台分层架构
一个可落地的数据平台通常划分为五层:数据源层、采集接入层、存储计算层、数据服务层、应用与自助服务层。纵向贯穿的是元数据与权限、调度编排、监控告警三条支撑体系。数据源层包含业务库(MySQL、PostgreSQL)、日志、埋点、第三方 API 与文件;采集接入层负责批量抽取(如 Sqoop、DataX、Flink CDC)与实时接入(Kafka、Pulsar);存储计算层是平台的核心,承担原始数据落地、明细加工与聚合;数据服务层通过查询网关、指标服务、API 网关对外提供统一访问入口;应用与自助服务层面向分析师、运营与业务人员,提供 SQL 查询、报表、看板与自助取数。
分层的关键约束是“不跨层直连”。例如自助门户不应直接连业务库,而应通过数据服务层访问已治理的数据集。这样做的收益是:权限收敛在服务层统一校验,血缘与口径在元数据中统一登记,性能压力被网关的缓存与限流吸收。下面这张架构图展示了各层组件及其纵向支撑关系。
数据存储与计算引擎选型
选型的核心不是“哪个引擎最强”,而是“负载特征与引擎能力是否匹配”。可以从四个维度建立判断框架:数据规模与增长、查询延迟要求、写入模式(批量覆盖还是高频增量)、以及并发用户数。下表给出常见组合的适用场景,参数为示例性参考值,实际需以压测为准。
| 组件类型 | 代表技术 | 适用负载 | 关键观察指标 |
|---|---|---|---|
| 湖仓存储 | Iceberg / Hudi / Delta Lake | 海量明细、增量更新、多引擎共享 | 小文件数量、快照过期、元数据膨胀 |
| MPP 数仓 | ClickHouse / Doris / StarRocks | 高并发聚合、亚秒级看板 | P95 查询延迟、并发 QPS、Compaction 积压 |
| 批处理引擎 | Spark / Flink Batch | T+1 全量加工、复杂 ETL | Shuffle 量、任务时长、资源利用率 |
| 流处理引擎 | Flink / Kafka Streams | 秒级增量、实时指标 | 端到端延迟、反压、Checkpoint 时长 |
| 查询网关 | Trino / Presto | 跨源联邦查询、探索式分析 | 扫描数据量、队列等待、内存溢出率 |
一个常见的实践组合是:Iceberg 作为湖仓底座承载明细与增量,Doris 承载面向看板的高并发聚合,Spark 负责 T+1 加工,Flink 负责实时链路,Trino 作为探索查询入口。选型落地时建议先做小规模压测:用真实数据分布构造 10 亿行级明细表,分别测试点查、范围聚合、多表 Join 三类查询,记录 P50/P95 延迟与资源消耗,再决定是否引入该组件。
元数据与权限体系
元数据是平台的“地图”,没有它,数据资产就无法被发现、被信任、被复用。元数据通常分为三类:技术元数据(表结构、分区、存储位置、任务依赖)、业务元数据(指标口径、负责人、业务域、标签)、操作元数据(访问日志、任务运行记录、变更历史)。三者结合才能支撑血缘分析、影响评估与成本归因。
权限体系建议采用“认证—授权—审计”三段式。认证对接企业统一身份(LDAP/OAuth);授权采用 RBAC 为主、ABAC 为辅:角色绑定数据域,数据域绑定库表与列,敏感字段额外叠加行级过滤与列级脱敏;审计记录每一次查询的用户、SQL、扫描行数与返回行数,用于异常检测与合规追溯。权限校验应尽量下沉到数据服务层,避免每个应用各自实现一套逻辑。
自助服务门户的架构定位
自助服务门户不是简单的“网页版 SQL 客户端”,它在架构中承担三个角色:统一入口、能力封装、治理前置。统一入口意味着用户只需登录一次,即可访问查询、报表、取数、API 申请等能力;能力封装意味着门户把底层引擎差异屏蔽掉,用户选择数据集而非选择引擎;治理前置意味着权限校验、敏感字段提示、查询成本预估、慢查询拦截都在提交前完成。
门户与后端的关系可以概括为:门户负责交互与编排,数据服务层负责执行与治理,存储计算层负责算力。门户不应直接持有数据库连接串,而应通过服务层的 API 获取结果。这样当底层引擎从 A 换成 B 时,门户几乎不需要改动。判断门户是否合格,可以看三个信号:用户能否在 3 分钟内找到目标数据集;查询提交前是否能看到预估扫描量;越权访问是否在服务层被拦截而非在门户前端被隐藏。
综合来看,分层架构解决“组件放哪里”,选型解决“用什么组件”,元数据与权限解决“数据能否被信任地使用”,自助门户解决“用户如何低门槛地使用”。四者共同构成数据平台从建设到运营的闭环,也是后续性能优化与生产实践的基础坐标系。