《中行銀行數據庫改造之路:Oracle to MySQL遷移實踐.pdf》由會員分享,可在線閱讀,更多相關《中行銀行數據庫改造之路:Oracle to MySQL遷移實踐.pdf(20頁珍藏版)》請在三個皮匠報告上搜索。
1、銀 行 數 據 庫 改 造 之 路孫 業 寶O r a c l et oM y S Q L中 國 銀 行遷移實踐遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m i g r a t i o n t a r g e t遷 移 準 備m i g r a t i o n p r e p a r a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a l i d a t i o n 經 驗 總 結m i g r a t i o n e x p e r i
2、 e n c e 010203040506遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m i g r a t i o n t a r g e t遷 移 準 備m i g r a t i o n p r e p a r a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a l i d a t i o n 經 驗 總 結m i g r a t i o n e x p e r i e n c e 010203040506遷 移 原 因migrati
3、on reason 穩定性 預估業務量 技術支持Oracle當前數據庫 輕量級 實際業務量 學習周期 國產化趨勢MySQL目標數據庫遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m i g r a t i o n t a r g e t遷 移 準 備m i g r a t i o n p r e p a r a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a l i d a t i o n 經 驗 總 結m i g r a t i o n e
4、 x p e r i e n c e 010203040506遷 移 目 標migration target數 據 一 致總數內容結 構 一 致表名字段注釋索引字 段 類 型分 區 類 型遷移前后保持數據和表結構一致遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m i g r a t i o n t a r g e t遷 移 準 備m i g r a t i o n p r e p a r a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a
5、l i d a t i o n 經 驗 總 結m i g r a t i o n e x p e r i e n c e 010203040506遷 移 準 備migration preparation對 象 兼 容 性null值處理存儲過程trigger物化視圖大小寫敏感大小寫敏感函數view變量定義注釋風格null值處理null值處理存儲過程存儲過程大小寫敏感大小寫敏感注釋風格函數只 關 注 本 系 統 用 到 的 對 象null值處理存儲過程trigger物化視圖函數變量定義大小寫敏感注釋風格分頁group by遷 移 準 備migration preparation Oracle有序列
6、和trigger,MySQL有自增主鍵 Oracle支持物化視圖,MySQL不支持 Oracle和MySQL數據類型映射關系Oracle數據類型SQL標準中的數據類型MySQL 數據類型語法范圍/說明語法語法范圍/說明CHAR(size BYTE|CHAR)最大存儲2000B或字符CHARACTER(n)CHAR(n)NATIONAL CHAR(M)CHARACTER SET charset_name COLLATE collation_name0-255字符VARCHAR2(size BYTE|CHAR)1-4000字節/字符CHARACTER VARYING(n)CHAR VARYING(
7、n)NATIONAL VARCHAR(M)CHARACTER SET charset_name COLLATE collation_name1-65535字節NCHAR(size)Maximum size is determined by the national character set definition,with an upper limit of 2000 bytesNATIONAL CHARACTER(n)NATIONAL CHAR(n)NCHAR(n)CHAR CHARACTER SET UTF8NATIONAL CHARACTER(n)NCHAR(n)NVARCHAR2(si
8、ze)two times size for AL16UTF16 encoding and three times size for UTF8 encoding.Maximum size is determined by the national character set definition,with an upper limit of 4000 bytesNATIONAL CHARACTER VARYING(n)NATIONAL CHAR VARYING(n)NCHAR VARYING(n)VARCHAR CHARACTER SET UTF8NATIONAL VARCHAR(n)NVARC
9、HAR(n)UTF8下1-21844字符;會被替換為varchar存儲NUMBER (p,s)s為-84到127,p為1到38NUMERIC(p,s)DECIMAL(p,s)DECIMAL(M,D)M表示位數,1-65;D表示小數點右側位數,0-30,必須小于MINTEGERINTINTEGERINT負2147483648到 2147483647SMALLINTSMALLINT負32768到32767對象/特性對比遷 移 準 備migration preparation現狀梳理數據表個數存 儲 過 程 個 數大表個數t r i g g e r 個 數物 化 視 圖 個 數總數據量遷 移 準 備
10、migration preparation止血計劃禁止查詢字段用*代替禁止使用存儲過程禁止超過3個表使用join禁止單表查詢手寫sql推薦單表行數超過500萬行,才推薦進行分庫分表推薦單表操作,使用mybatis自動生成語句推薦使用Oracle和MySQL兼容的SQL推薦復雜業務邏輯放到service層遷 移 準 備migration preparation遷移工具選型是否支持表結構遷移是否支持存量數據遷移是否開源是否可做全量數據驗證改寫工作量power designerOGGKettledataxDTS遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m
11、 i g r a t i o n t a r g e t遷 移 準 備m i g r a t i o n p r e p a r a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a l i d a t i o n 經 驗 總 結m i g r a t i o n e x p e r i e n c e 010203040506遷 移 實 施migrationimplement阿里巴巴集團內被廣泛使用的離線數據同步工具/平臺,實現包括 MySQL、Oracle、HDFS、Hive、Oc
12、eanBase、HBase、OTS、ODPS 等各種異構數據源之間高效的數據同步功能。DataX采用了框架+插件的模式,目前已開源,代碼托管在github存量數據遷移datax遷 移 實 施migrationimplement物化視圖改造業務邏輯使用ES承接搜索需求存儲過程Quartz實現批量拆分業務邏輯Service層實現復雜功能程序代碼分頁查詢改造nvl等函數改造子查詢改造遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m i g r a t i o n t a r g e t遷 移 準 備m i g r a t i o n p r e p a r
13、a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a l i d a t i o n 經 驗 總 結m i g r a t i o n e x p e r i e n c e 010203040506遷 移 驗 證migrationimplement數據驗證datax 報錯日志數據總量數據內容成功條數失敗條數總數據條數各表數據條數MD5CRC32程序功能遷 移 原 因m i g r a t i o n r e a s o n 遷 移 目 標m i g r a t i o n t a r
14、 g e t遷 移 準 備m i g r a t i o n p r e p a r a t i o n 遷 移 實 施m i g r a t i o n i m p l e m e n t 遷 移 驗 證m i g r a t i o n v a l i d a t i o n 經 驗 總 結m i g r a t i o n e x p e r i e n c e 010203040506經 驗 總 結migrationimplement難點 分區方式差異 存儲過程 物化視圖實施路線 分步改造 小批次投產 一次性改造易錯點 表名區分大小寫 日期類型 NULL值的處理 表名區分大小寫 日期類型 NULL值的處理思考 不停機遷移 明確遷移范圍 歷史表的處理Thank You!Thank You!