近日,MySQL 5.7停服事件引發廣泛關注。MySQL目前已經成為中國用戶使用非常廣泛的數據庫,其中5.7版本的用戶比重又是最高的。隨著信息技術應用創新深入各行各業,國產數據庫對MySQL的平滑替換成為大勢所趨。 作為數據庫領域國家隊,人大金倉以服務用戶為中心,率先加大對MySQL兼容性開發,目前對MySQL常用功能的兼容性已達到90%以上。此外KingbaseES對MySQL的兼容性,已從功能兼容階段過渡到強性能兼容、生態全面兼容階段,做到在遷移過程中對上層應用透明,實現低成本、低難度、低風險的平滑遷移。 靈活擴展的兼容架構 KingbaseES在產品架構上采用可插拔式的體系架構,可靈活擴展,兼容多種生態,兼容商業和開源的外部接口協議,能夠支撐更多核心能力。 KingbaseES支持通過控制參數“initdb -m”切換兼容模式,可將數據庫設置為兼容MySQL模式。 全面完備的兼容能力 KingbaseES以內核兼容為基礎,通過初始化參數控制,兼容MySQL 數據庫,在該模式下支持MySQL常用功能,兼容程度達90%以上。 數據類型兼容 數據遷移中,數據類型的兼容性作為最重要的一環,KingbaseES不僅兼容MySQL所有常見數據類型,還支持MySQL獨有的year類型、interval類型的復雜語法。 此外,KingbaseES還兼容enum類型、set類型,應用中使用該類型,可以減少字段的數量,減少存儲空間和成本,在查詢時利用緩存技術和索引能力提升查詢效率。這兩個類型還提供強大的數據約束,保證數據的規范性和一致性,減少數據錯誤的可能性。 函數和操作符兼容 數據庫應用常用的MySQL函數和操作符,KingbaseES實現全部兼容。對于操作符,MySQL特殊的DIV、MOD、<=>,以及邏輯操作符KingbaseES都支持。對于常見函數,尤其是MySQL特有的日期時間函數,JSON函數達到全部覆蓋。 SQL語句兼容 SQL語句方面,對常用的DDL、DML、DQL語句的兼容度達到90%以上。特別是MySQL特有語法,例如DML語句中的LIMIT及ORDER BY子句限定用戶一次更新的數據條目或按照順序更新;COMMENT子句讓用戶在創建對象時就可以添加注釋;INSERT...SET和INSERT IGNORE INTO子句、多表JOIN的多表更新語法、直接操作分區表的數據,插入語句等都在兼容語法的細節上做了增強,例如省略into關鍵字,一次性對多表進行更新。當客戶的應用過程引發數據庫存儲的數據變更時,需要將數據定時同步到數據庫中,這時insert插入數據時,可能發生主鍵/唯一鍵沖突,若想在沖突時變更為update語句,則可通過INSERT...ON DUPLICATE KEY UPDATE語句達成。 在數據庫中,主鍵是用來唯一標識每條記錄的,而自增長類型可以為每個記錄分配唯一的標識符。因此,將自增長類型應用于主鍵列,可以方便地為每個記錄分配唯一的標識符,在MySQL數據庫中可通過數據列的AUTO_INCREMENT屬性來達到此目的。KingbaseES也兼容該功能,可方便地為每個記錄分配唯一的標識符,避免了手動輸入主鍵的麻煩。 KingbaseES支持三種標識符的表示方式,反引號、單引號、雙引號這三種符號括起來標識符,其中帶反引號的標識符是兼容MySQL特有的,用于區分保留字和普通字符,其使用規則完全兼容MySQL,為將應用程序平滑遷移到KingbaseES做到更加細致入微的努力。 PLSQL兼容 在過程化語言的語法基礎、數據、游標、動態SQL、子程序、存儲過程/函數、觸發器等各方面,KingbaseES常用語法的兼容度也大大得到提升,達到90%以上。 客戶實際應用中,通過計數器收集積分遇到的問題,在某些高并發場景下常會出現積分統計遺漏的問題,這類問題可通過用戶變量的方式解決。MySQL中的變量主要是用于保存臨時結果,并在不同語句中傳遞。KingbaseES兼容MySQL的用戶變量功能,在不同場景中,通過@變量來存儲中間結果、計算結果、過濾數據等。 輕松完成MySQL數據庫遷移 KingbaseES數據庫提供異構數據庫和應用SQL遷移評估系統KDMS以及簡單、高效的一鍵遷移工具KDTS。通過這兩種工具,可以輕松完成MySQL數據庫遷移工作。 數據遷移評估系統KDMS通過智能翻譯技術,無侵入業務應用實現SQL采集、評估和轉換。每分鐘可處理20萬行SQL/PLSQL代碼,短時間內完成大規模MySQL數據庫遷移評估和智能轉換,提高遷移效率。降低遷移成本。KDTS數據庫遷移工具支持MySQL5.x、MySQL8.x全系列版本的一鍵遷移。支持多種復雜遷移任務配置,滿足多種數據遷移條件,實現多樣化遷移需求,使用多線程異步讀寫機制,大大提升遷移效率,并提供詳細的MySQL遷移報告。 目前,KingbaseES已在銀行、證券、保險、泛金融機構等細分領域打造了一系列替換MySQL數據庫的標桿案例。經過項目實戰中不斷測試和驗證,人大金倉確保產品的穩定性和可用性,能夠高可用高性能高安全地支撐和保障用戶業務。未來,KingbaseES不僅實現MySQL功能100%兼容,性能兼容還會更勝一籌,讓用戶的數字化之旅更簡單! 為助力信息技術應用創新產業高質量發展,筑牢數據安全防線,人大金倉特別策劃三大兼容系列文章,基于金倉數據庫與Oracle常用功能100%兼容,與MySQL、SQLServer常用功能90%兼容,分享產品背后的技術原理和應用情況,助力用戶無憂遷移,請持續關注我們! |