1. 项目背景与迁移目标
1.1 工程分析数据平台概述
工程分析数据平台(Engineering Analytics Data Platform, EADP)是面向研发与制造企业的核心数据基础设施,承担着从产品设计仿真、工艺验证到量产质量监控的全链路数据采集、存储与分析任务。平台通常由以下子系统构成:
- 数据采集层:对接 CAD/CAE 工具、MES 系统、IoT 传感器,实时获取仿真结果与产线测量数据。
- 数据存储层:采用关系型数据库(如 PostgreSQL)存储结构化元数据,时序数据库(如 InfluxDB)存储连续测量信号,对象存储(如 MinIO)存放仿真模型与报告文件。
- 计算分析层:基于 Spark 或 Flink 执行统计过程控制(SPC)、公差分析、回归建模等批流计算任务。
- 服务接口层:通过 RESTful API 与 GraphQL 端点向工程客户端、BI 报表工具及第三方系统提供数据服务。
关键数据特征: 工程分析数据具有多源异构、高维度、强时序关联、版本迭代频繁等特点,数据模型设计需兼顾查询效率与扩展灵活性。
1.2 数据模型迁移的必要性
随着业务规模增长与技术栈演进,原有数据模型逐渐暴露出以下瓶颈,驱动迁移决策:
| 问题维度 | 现状描述 | 迁移必要性 |
|---|---|---|
| 模型碎片化 | 不同工程团队独立建表,字段命名与类型定义不统一 | 需建立企业级统一数据字典,消除语义歧义 |
| 扩展性不足 | 单表字段数超过 80 列,频繁 DDL 变更影响在线服务 | 采用宽表转星型/雪花型范式,支持灵活扩展 |
| 查询性能退化 | 跨 5 个以上 JOIN 的聚合查询耗时超过 30 秒 | 引入物化视图与列式存储优化,目标 P99 查询 < 3 秒 |
| 版本管理缺失 | 仿真模型与测量数据无显式版本关联,回溯困难 | 建立数据版本链,支持时间旅行查询与回滚 |
| 接口耦合严重 | 下游系统直接读取原始表结构,变更即断裂 | 引入 API 网关与数据契约,实现接口与存储解耦 |
迁移风险提示: 数据模型迁移是典型的“换引擎飞行”操作。在迁移期间,旧模型需保持可用,新模型需逐步承接流量,必须设计完善的回滚机制与数据一致性校验方案。
1.3 迁移目标与范围界定
本次迁移项目设定三大核心目标,并明确纳入与排除的范围,确保项目边界清晰可控。
1.3.1 核心迁移目标
- 目标一:模型统一化 —— 将原有 12 个工程域、47 张业务表整合为 6 个主题域、23 张核心表,字段命名遵循
snake_case规范,数据类型统一使用ISO 8601时间格式与UUID v7主键。 - 目标二:性能可预期 —— 新模型上线后,典型查询场景(按产品线+时间范围聚合)P99 响应时间 ≤ 3 秒,数据写入吞吐量 ≥ 5000 条/秒。
- 目标三:接口兼容性 —— 迁移期间保持现有 API 契约不变,新模型通过数据适配层向后兼容旧接口,下游系统零代码改造。
1.3.2 迁移范围界定
| 范围类别 | 包含内容 | 不包含内容 |
|---|---|---|
| 数据范围 | 近 3 年(2022–2025)的仿真结果、产线测量、质量检验数据 | 历史归档数据(2019 年之前)、非结构化日志文件 |
| 模型范围 | 关系型核心表、时序数据 schema、对象存储元数据索引 | 实时流计算状态存储、缓存层(Redis)数据结构 |
| 接口范围 | 工程数据查询 API、数据写入 API、元数据管理 API | 用户认证授权接口、系统管理后台接口 |
| 系统范围 | EADP 主平台、数据仓库、ETL 调度系统 | BI 报表工具、第三方数据消费端(仅适配接口) |