分佈式數據庫的架構與分片設計

機器學習 MySQL IBM EMC IT168企業級 2017-05-19

國內最受關注的數據庫技術盛會——2017第八屆中國數據庫技術大會(DTCC2017)於2017年5月11-13日如約而至。本屆大會以“數據驅動?價值發現”為主題,彙集來自互聯網、電子商務、金融、電信、政府、行業協會等20多個領域的120多位技術專家,共同探討Oracle、MySQL、NoSQL、雲端數據庫、智能數據平臺、區塊鏈、數據可視化、深度學習等領域的前瞻性熱點話題與技術。

分佈式數據庫的架構與分片設計

在大會的分會場上,來自熱璞科技的CTO金官丁帶來了《分佈式數據庫的架構與分片設計》的精彩分享。

當下,國內傳統行業的企業信息化幾乎都被甲骨文Oracle數據庫、IBM小型機和存儲設備、EMC存儲設備壟斷,幾乎很難擺脫對這三家公司的依賴,成本、風險居高不下。IBM小型機和存儲設備、Oracle數據庫、EMC存儲設備構成了業界經典的IOE集中式數據庫架構。

然而,傳統企業因要適應社會變革和生產經營轉型升級,為此企業信息化的數據系統需要面臨海量數據、海量用戶、高可靠、高性能、高併發和可水平擴展的挑戰,熱璞科技分佈式數據庫HotDB正是為此應運而生的技術產品。

“從最早的MySQL-Proxy到DaaS都存在一個通病,我們設計這類產品的時候只為解決某一個或一類問題,也即數據讀負載均衡到如何解決數據分片,通過數據架構設計技巧和應用編程技巧規避數據分片後的問題,同時也存在維護的技術門檻等問題”。金官丁談到。

在談到分佈式數據庫核心定位時,金官丁表示,專注MySQL數據庫服務的高可靠高吞吐量的分佈式數據庫產品,要求能在分佈式數據庫環境下為應用提供集中式數據庫的操作體驗,為海量數據、海量用戶、高併發、高性能和高可用的業務系統提供強有力的支撐,同時具備強分佈式透明、易擴展、無學習成本等特點。

在分佈式數據庫的數據分片規則上,MySQL Cluster的NDB存儲引擎分佈式數據庫默認是按主鍵進行數據分片,這樣設計可降低技術複雜度,但非主鍵的數據處理的成本較高。分佈式數據庫的數據架構設計最佳實踐經驗,需讓每張表做到自由選擇一個特有的分片字段和分片算法組成表對象的數據分片規則,可讓數據結構設計更簡潔和技術門檻更低,也更有利於降低數據訪問的複雜度,同時能提升優化數據訪問的性能。

金官丁在經歷多款分佈式數據庫產品設計與研發,及實施數十個私有云數據庫項目後,總結髮現分佈式數據庫產品需提供五種數據分片算法:路由表、約定範圍、哈希約定、自動哈希和E-R關係,前四種分片算法是核心,第五種算法主要是為解決常見的某一類特殊數據分片關係,讓分佈式數據庫HotDB優化器的性能更佳。

分佈式數據庫的架構與分片設計

分佈式數據庫的數據分片算法

談到具體細節時,金官丁分享到,路由表須配置每一個分片因子的值與數據節點的對照關係,不要求數據均勻分佈的模型。分片因子的值域範圍可控的業務場景;範圍約定配置分片因子的每個值域段與數據節點的對照關係,不要求數據均勻分佈的模型;哈希約定作為分母取模計算哈希值,約定哈希值段對應不同的數據節點,不要求數據均勻分佈的模型;自動哈希按數據分片的數據節點數量作為分母取模,計算哈希值分片,適用於數據均勻分佈的模型,追求做到每個數據節點的數據量一致。

熱璞技術團隊耕耘數據庫行業十年以上,一直探索與實踐追求更優的數據庫解決方案,吸收分佈式數據庫關係理論和並行數據庫關係理論的技術算法優勢,同時結合單機版開源數據庫MySQL的算法特徵和技術優勢,研發出支持海量數據的存儲與服務能力的分佈式數據庫產品HotDB。目前,已在互聯網、快遞物流、廣電傳媒、金融等行業成功實施應用。

相關推薦

推薦中...