![]()
25年,400+数据库,18个月。印度最大私立医院集团Apollo Hospitals完成了一个让多数CTO不敢立项的工程:把从1999年积累至今的Oracle全家桶,完整迁移到PostgreSQL+Azure。这不是勇气,是算账——Oracle许可费每年烧掉的钱,够建一座新院区。
医疗系统的数据库迁移,向来是IT界的"器官移植手术"。病人挂号记录在跑,手术排程系统在跑,医保结算不能停。Apollo的DBA团队最初估算需要5年,传统方案是请一队顾问手工改写存储过程、逐条验证数据一致性。他们最后用了微软刚开源的AI迁移工具,把工期压到18个月。
AI代理是怎么"读"懂Oracle的
微软这个工具叫DMAP(Database Migration Assessment Pack),核心是一组AI代理。不是聊天机器人那种,是特定任务的自动化脚本集群。一个代理负责解析Oracle的PL/SQL存储过程,转成PostgreSQL的PL/pgSQL;另一个代理专门处理Java代码里的JDBC调用;第三个代理在后台持续对比两边数据库的实时查询结果,确保迁移后的数据行为一致。
「我们让AI代理直接对着生产库跑验证,」Apollo的IT负责人后来解释,「它会在PostgreSQL侧重放Oracle的查询日志,比对返回结果。不一致的地方标记出来,人工只审这些例外项。」
这套架构的关键设计是"影子验证":PostgreSQL实例并行运行,不接管流量,只默默对比输出。Apollo的400+数据库分批迁移,每批先跑2-4周的影子期,确认无误后再切流量。整个过程中,临床系统零停机。
从5年缩到18个月的代价是什么
时间省下来了,但Apollo团队坦承有三笔隐性成本。第一,DBA必须重新学习PostgreSQL的执行计划优化,AI能迁数据,但调不出针对印度医保查询模式的索引策略。第二,部分Oracle特有的分析函数没有直接等价物,需要业务逻辑层重写——这部分AI只能提示,不能代劳。第三,Azure的托管PostgreSQL(Flexible Server)在2023年还不支持某些扩展,他们被迫自建虚拟机跑社区版。
最意外的坑是字符集。Oracle用了25年的WE8ISO8859P1编码,PostgreSQL默认UTF-8。AI迁移工具能转换数据,但埋在南印度各院区Excel模板里的宏、老护士站打印机的固件,全是指望特定编码的。Apollo最后专门留了一套Oracle只读实例,给这些"数字遗产"续命。
迁移后的性能账怎么算
PostgreSQL在Stack Overflow 2025开发者调查里登顶"最受欢迎数据库",Apollo的案例解释了为什么——不是功能多炫酷,是成本结构对现代企业友好。Oracle按核许可,云原生扩容等于烧钱;PostgreSQL在Azure上按存储和计算分离计费,Apollo的读-heavy报表负载可以单独扩只读副本,不写主库。
AI调优是另一块省下来的工时。微软给Apollo部署了Copilot for Azure的数据库调优模块,自动分析慢查询日志,推荐索引和配置调整。DBA从"救火队员"变成审阅AI建议的"质检员"。
Apollo的迁移在2024年Q2完成最后一批核心系统。他们没公布具体省下的许可费数字,但按Oracle企业版的公开报价估算,400+数据库的年度支出从"八位数美元"降到"七位数美元"区间,省下的钱确实够盖楼。
现在的问题是:你的Oracle合同还有多久到期?如果也是5年内,Apollo的DMAP配置模板和影子验证流程已经开源在GitHub上——但那份字符集迁移清单,他们没舍得放出来。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.