(课堂笔记)国产信创迁移实战

国产信创迁移实战


这是项目落地的核心部分------信创迁移实战


一、迁移背景与路径

政策驱动(信创)+ 成本/可控性考量,将核心数仓从 Oracle 迁移至:

迁移路径 目标平台 场景
Oracle → 高斯(GaussDB) 华为高斯(OLAP/OLTP) 国产数据库替换
Oracle → 阿里大数据中台 MaxCompute + DataWorks 云上数仓+数据采集加工
Oracle → Hive Hadoop生态(Hive + Tez/Spark) 开源大数据底座

迁移核心对象 :并不是迁移原始数据,而是迁移加工数据的SQL逻辑(ETL脚本、存储过程、视图)。


二、迁移的核心考量(二选一或并存)

维度 关键点
功能考量 新平台能否实现相同的业务逻辑?SQL语法、函数、窗口函数、递归查询是否兼容?
数据库安全性 权限管控、数据加密、审计日志、行列级权限、动态脱敏是否满足行方要求?

三、迁移全生命周期(前期→中期→后期)


四、前期:分析与规划(不能省,否则后期填坑)

1. 盘点当前数仓模型

  • 按主题/业务域梳理:贷前、贷后、客户、账务、征信等。

  • 区分核心模型 vs 边缘模型,决定迁移优先级。

2. 下游影响分析

  • 哪些报表、API、风控系统、监管报送依赖这些模型?

  • 迁移期间是否需要双跑(新老并行)?

3. 迁移周期评估

  • 模型复杂度:简单汇总 → 1天;复杂多源拉链 → 3-5天。

  • 个人负责模型数:50~100个(面试可具体化,如"我主导迁移了67个核心模型")。


五、中期:模型重构与开发(最耗时)

1. 模型重构的常见变化

重构类型 说明 示例
字段优化 新增/删除/重命名字段,拆分或合并字段 借据金额 + 利率 → 新增 月还款额
颗粒度变化 汇总层级调整 日汇总 → 月汇总
表结构调整 拆表(垂直/水平)、合并表 个人借据明细企业借据明细合并为统一借据明细
加载机制变化 全量 ↔ 增量 ↔ 切片 ↔ 拉链表 Oracle缓慢变化维 → Hive拉链表

2. 新老系统映射文档(必须产出)

重点:维护完整的数据血缘映射文档

老系统表 老字段 新系统表 新字段 转换逻辑 状态
个人借据明细 借据号 借据明细表 借据号 直接映射
个人借据明细 借据金额 借据明细表 借据金额 单位:分→元
- - 借据明细表 客户类型 新增字段,关联客户主表

3. SQL差异处理(核心痛点)

🔹 DELETE 改写

Oracle支持DELETE FROM table WHERE condition,Hive不支持。

Hive方案:保留想保留的数据 → OVERWRITE覆盖。

sql

复制代码
-- 原Oracle:DELETE FROM T WHERE status = '无效';
-- Hive改写:
INSERT OVERWRITE TABLE T
SELECT * FROM T WHERE status != '无效';
🔹 UPDATE 改写

Hive原生UPDATE需要ACID表(较麻烦),标准方案:UNION ALL覆盖

sql

复制代码
-- 需求:将EMPNO=7369的工资改为1000
INSERT OVERWRITE TABLE emp
SELECT * FROM emp WHERE empno != 7369
UNION ALL
SELECT 
    empno, ename, job, mgr, hiredate,
    1000 AS sal,  -- 修改后的工资
    comm, deptno
FROM emp WHERE empno = 7369;
🔹 其他常见差异
Oracle Hive/高斯 注意事项
TO_DATE TO_DATEDATE 格式串可能不同
ROWNUM ROW_NUMBER() 必须用窗口函数
MERGE INTO 拆成INSERT + UPDATE两段 或使用INSERT OVERWRITE全量刷新
存储过程/游标 Shell/Python + SQL 逻辑外置

六、后期:测试与上线(质量生命线)

1. 对比测试策略

核心原则:同一份数据 → 新老系统各自跑 → 导出到对比库 → SQL对账。

对比维度
维度 校验内容 对比方法
数据量 记录数 COUNT(*) 对比
主键唯一性 是否重复、缺失 GROUP BY 主键
字段值 异常值、NULL、空字符串、前后空格 逐字段对比
数据类型/精度 金额字段小数位、日期格式 元数据对比 + 抽样
度量字段 总分、汇总值、均值 SUMAVG、多维度GROUP BY
多颗粒度 日/月/年、机构/产品维度 各维度分别汇总对比
对比SQL示例(两表对账)

sql

复制代码
-- 新老系统差异检查:金额字段总和不一致的行
SELECT 
    COALESCE(a.借据号, b.借据号) AS 借据号,
    a.金额 AS 老系统金额,
    b.金额 AS 新系统金额
FROM 老系统结果表 a
FULL OUTER JOIN 新系统结果表 b ON a.借据号 = b.借据号
WHERE a.金额 != b.金额 
   OR (a.金额 IS NULL AND b.金额 IS NOT NULL)
   OR (a.金额 IS NOT NULL AND b.金额 IS NULL);

2. 历史存量数据迁移(两种方案)

方案 做法 适用场景 优缺点
方案A:直接抽取 从Oracle拉取已加工好的历史结果表 老逻辑复杂、不想重算 快,但逻辑不落地新平台
方案B:基于ODS重算 用历史ODS层数据,在新数仓重新跑一遍加工逻辑 验证新平台能力、保持逻辑一致性 推荐,虽然慢但彻底验证

3. 增量数据迁移

  • 老系统继续跑 → 新系统并行追数 → 最终切换

  • 常用手段:双跑 + 对比 + 切流

4. 上线策略

text

复制代码
分批上线(按主题/按下游)→ 试运行(观察1-2周)→ 全量切换 → 老系统下线
  • 试运行重点:稳定性、性能、数据质量、下游反馈

  • 回滚预案:保留老系统至少1个月


七、技术架构总览

迁移前(Oracle传统数仓)

text

复制代码
Oracle (存储过程 + SQL) + Linux Crontab + Shell

迁移后(目标架构)

目标平台 组件
高斯(GaussDB) GaussDB + Linux + 调度工具
阿里大数据中台 MaxCompute + DataWorks + 数据集成
Hive数仓 Hive + Tez/Spark + Sqoop + Oracle(临时双跑)

八、可用的量化总结

示例:xx主导了某银行信贷数仓从Oracle到Hive的信创迁移,累计迁移67个 核心模型,涵盖贷前评分、贷后预警、监管报送等主题。输出50+份 新旧映射文档,解决SQL兼容问题(DELETE/UPDATE/存储过程改造),通过全量+增量双跑对比保证数据一致性,最终实现零故障分批上线。


国产信创 - 一句话解释


信创 = 信息技术应用创新


国产信创 = 用中国自主研发的IT软硬件,替代国外的产品

简单说:把Oracle换成高斯/达梦,把Windows换成麒麟,把EMC换成华为存储------核心系统"中国造"


一、为什么要搞信创?(背景)

驱动因素 说明
国家安全 避免关键系统受制于人(如芯片断供、软件授权停用)
供应链风险 国外厂商可能因制裁、政治因素断供
自主可控 核心技术掌握在自己手里
政策要求 党政军、金融、能源、电信等行业被要求逐步替换

你项目中的 Oracle → 高斯,就是信创落地的典型案例。


二、信创覆盖的领域("全栈国产化")

text

复制代码
┌─────────────────────────────────────────┐
│           信创全栈架构                    │
├─────────────────────────────────────────┤
│  应用层     │  国产OA、国产ERP、风控系统    │
│  数据库层   │  高斯、达梦、人大金仓、OceanBase│
│  中间件层   │  东方通、金蝶、中创           │
│  操作系统层 │  麒麟、统信(UOS)、欧拉        │
│  芯片层     │  龙芯、飞腾、鲲鹏、海光、兆芯  │
│  服务器/存储│  华为、浪潮、中科曙光、深信服   │
└─────────────────────────────────────────┘

你项目中涉及的 Oracle → 高斯 ,就是数据库层面的信创替换。


三、金融行业信创的时间线(为什么你在做这个)

阶段 时间 要求
试点期 2020-2022 头部银行、保险、证券试点替换
推广期 2023-2025 全面铺开,所有金融机构启动替换
攻坚期 2025-2027 核心系统完成国产化改造

你现在做这个迁移项目,正是踩在信创推广期→攻坚期的节点上。


四、你项目中涉及的信创产品

原国外产品 国产替代 你的场景
Oracle 高斯(GaussDB) 数仓/OLTP数据库替换
Oracle 阿里大数据中台(MaxCompute) 云上数仓加工
Oracle Hive(开源,但生态国产化) Hadoop数仓底座

注:Hive本身是Apache开源,但在信创体系中,配合麒麟OS+鲲鹏芯片+华为存算,也算国产化方案。


五、如何回答"什么是信创"

简洁版 (30秒):
"信创是'信息技术应用创新'的简称,是国家推动的国产IT全栈替换战略。在项目中,就是把原来的Oracle数仓迁移到华为高斯数据库,目的是实现自主可控,满足监管要求。"
完整版 (1分30秒):

*"信创主要解决卡脖子 问题。金融行业被要求2027年前完成核心系统国产化。我们项目做的就是数据库层的信创替换------Oracle迁到高斯/GaussDB。迁移过程中不仅要解决SQL兼容问题,还要保证数据一致性、性能不下降。xx负责了50多个风控模型的迁移,涉及贷前评分、贷后预警等核心场景。"*


六、信创常见国产数据库对比

数据库 厂商 特点 适用场景
高斯(GaussDB) 华为 分布式、兼容Oracle 金融核心交易/数仓
达梦(DM8) 武汉达梦 类Oracle语法 党政军、政务
人大金仓 人大金仓 兼容性好 能源、交通
OceanBase 蚂蚁 分布式强一致 互联网、金融
TiDB PingCAP 开源、HTAP 互联网、实时数仓

"高斯",是目前金融行业信创数据库的第一梯队


七、一句话总结

信创 = 国家要求 + 全栈国产化 + 你的项目正在干的事

相关推荐
No8g攻城狮12 小时前
【异常解决】SpringBoot3 + 人大金仓 V8+MyBatis-Plus 获取新增自增 ID
数据库·mybatis·人大金仓·国产信创
阿坤带你走近大数据8 天前
DM达梦数据库的介绍
数据库·mysql·oracle·国产信创
分布式存储与RustFS24 天前
RustFS Beta 正式发布:从可用到稳定,对象存储国产替代迎来里程碑
对象存储·国产信创·rustfs·ai存储·minio平替·国产对象存储·开源存储
.柒宇.1 个月前
信创实战:银河麒麟 V10 服务器安装、网络配置与 Docker 环境搭建
linux·运维·docker·国产信创·麒麟操作系统
分布式存储与RustFS1 个月前
RustFS 信创环境落地全指南:适配麒麟 / 统信系统,对接鲲鹏芯片,附部署踩坑实录
对象存储·鲲鹏·国产信创·rustfs·minio国产化替代·minio平替·信创存储
扶尔魔ocy4 个月前
【国产桌面操作系统】打包opencv的离线安装包
opencv·离线安装·国产信创
猴哥聊项目管理1 年前
信创环境下TOP5甘特图工具对比:从功能到适配性测评
项目管理·产品经理·甘特图·团队协作·项目管理软件·国产信创·甘特图工具
Coremail邮件安全2 年前
寻呼机爆炸,炸醒通讯安全警惕心
安全·网络安全·邮件安全·国产信创
DolphinDB智臾科技2 年前
共筑信创新生态:DolphinDB 与移动云 BC-Linux 完成兼容互认
数据库·时序数据库·兼容性测试·dolphindb·国产信创