業務初期量小,表與核心庫同庫。產品升級後訪問量暴增,造成核心庫 IOPS 沖擊與存儲壓力。決定將相關表遷移至獨立 Oracle 庫(垂直拆分),上層應用僅需改連接串,業務邏輯不變。但本質上未優化,單庫規模仍達 T 級,IOPS 消耗巨大。
目標:
保證絕大多數訪問在單庫完成,避免跨庫 Merge/Sort。
| 問題 | 解決方案 |
|---|---|
| Oracle 億級數據遷移至 MySQL 集群 | 多輪演練,配合數據倉庫與 SA 團隊,平滑遷移 32 億行 |
| 全域唯一主鍵生成 | 分布式中間件統一發號 |
| 大表拆分粒度(每庫幾張表) | 依訪問熱度與容量規劃,均衡分佈 |
| 路由解析 | 中間件層透明路由,應用無感 |
| 跨庫 Merge/Sort | 業務層面規避,極少數走中間件聚合 |
| 連接管理 | 連接池 + 代理層複用 |
| 數據訂正/歷史遷移/工具建設 | 建立統一平台工具集 |
| 硬體選型、機房電力/機櫃 | 標準化廉價機型,統一機柜功率規劃 |
二期即將啟動,歡迎有志挑戰大規模分布式資料庫的工程師加入淘寶 DBA 團隊。