我之所以會寫這篇對比文章,是因為公司新產品研發(fā)真實經歷過這個痛苦過程(傳統基于SQL Server開發(fā)的C/S產品轉為MySQL云產品)。首次需要數據轉換是測試環(huán)節(jié),當時為了快速驗證新研發(fā)云產品性能與結果準確性(算法類),所以需大量的原始數據,最快的辦法就是使用老產品的真實數據。因為在前期數據轉換時主用于內部驗證,并沒有花很多心思去處理這個事情,一般數據能導過去,不對的地方自己再手工處理一下就好了。后面對這個轉換工具引起了極大的重視是正式有老客戶升級時,因為正式投入使用就容不得半點錯誤(當時至少有幾百家客戶需要升級新產品),所以數據轉移第一要求是百分百的準確率,其次是速度要快。現在回想起來,當時要有這么一篇對比文章,那我就不會浪費那么多時間在查找、對比、驗證工具和數據維護修正上了,所以真心希望通過這篇對比文章能給大家提供一些參考或幫助!下面進入正題:
在部署前期,首要任務就是考慮如何快速把基于 SQL Server 數據庫的應用程序移植到阿里云的 MySQL 數據庫。由于程序是基于 O/R mapping 編寫,并且數據庫中沒有使用存儲過程、用戶函數等數據庫功能,因此僅僅需要考慮的是數據庫中的數據如何轉換到新的 MySQL 數據庫中。
通過度娘查找,找到如下四種可以使用的工具,并且每一種工具都有大量的用戶,還有不少用戶在自已的博客中寫下了圖文使用經驗,這四種工具分別是:
● SQLyog(https://www.webyog.com/product/sqlyog)
● Navicat Premium(https://www.navicat.com/products/navicat-premium)
● Mss2sql(http://www.convert-in.com/)
● DB2DB(http://www.szmesoft.com/DB2DB)
由于公司需要處理的是業(yè)務數據庫,因此必須保證數據轉換的準確率(不允許丟失數據,數據庫字段、索引完整),并且需要保證數據庫遷移后能立即使用。因此在實施數據遷移前,對這幾種 SQLServer 到 MySQL 的遷移工具進行一個全面測試。下面我們將基于以下需求為前提進行測試:
● 軟件易用性
● 處理速度和內存占用
● 數據完整性
● 試用版限制
● 其它功能
一、測試用的源數據庫和系統
用于測試的源數據庫名為 MesoftReportCenter。由于其中一個測試工具試用版限制只能處理兩張數據表的原因,因此我們只選取了記錄數最多的兩張數據表:HISOPChargeIntermediateResult 和 HISOPChargeItemIntermediateResult。兩張數據表合計的記錄數約為 328萬,數據庫不算大,但針對本次進行測試也基本上足夠了。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數據結構來看看(二) 2017-07-26