摘要:近年來,隨著互聯網技術的快速發展,無論是互聯網企業還是傳統的金融機構,用戶量和業務處理數據量都在快速地增長.傳統的通過增加服務器并采用基于分庫分表的方法來解決擴展性問題,需要大量的人工維護成本和硬件開銷.為降低開銷和分庫分表帶來的各種問題,業界通常用新型數據庫系統替換原有的系統,其中,基于日志結構合并樹存儲的數據庫系統(如OceanBase)被廣泛采用,這類系統磁盤上存儲數據塊呈現全局有序的特征.在從傳統數據庫切換到新型數據庫過程中,需要將大量數據加載到新數據庫系統中,長時間加載的過程中可能出現數據庫節點宕機.為了減少總加載時間和故障恢復時間,提出了一種負載均衡且支持高效容錯的數據加載方法;為了支持負載均衡的數據加載,與預確定分區劃分數據的方法不同,考慮到目標系統默認存儲塊大小,采用通過基于文件大小和目標系統默認存儲塊大小預計算分區數目,并利用分庫分表的數據導出往往已經排序的特點,采用選取部分采樣塊和等間隔選取樣本的方式確定分區之間的切分點,避免了全局采樣和隨機或頭部樣本選取方式確定切分點帶來的高開銷;為了加快故障恢復速度,利用日志結構合并樹存儲系統的多備份減少故障恢復時的數據量,提出了基本副本局部故障恢復方式,避免了完全重新加載的故障恢復方式.實驗結果表明,相比采用預確定分區數目和全局選取采樣塊的隨機或頭部選取樣本方法,采用預計算分區數目和部分選取采樣塊的等間隔選取樣本確定切分點的方法,提高了數據加載的性能,并且驗證了基于副本局部故障恢復方法相比完全重啟加載恢復方法的高效性.
注:因版權方要求,不能公開全文,如需全文,請咨詢雜志社