本節簡要介紹了 Parallel Loader 支援的一些功能。
1) 支援表型別
並行載入工具支援普通表和分割槽表。
2)支援指定匯入字段
該檔案不必包含表中的所有字段,您可以指定匯入某些字段,但指定的字段數必須與檔案中的字段數相同。
3)支援匯入部分記錄
並行載入工具允許您指定 where 條件,以便僅將滿足條件的記錄匯入資料庫。
4) 自動生成序列字段值
該工具支援序列字段值的自動生成,部分表字段將預設值設定為序列,可能需要由資料庫自行生成,不包含在檔案中。
當欄位是非分片鍵時,我們可以使用資料庫自帶的函式,在插入時自動生成欄位的值。 但是,當字段是分片鍵時,我們需要先在載入工具中生成值,然後根據值進行分片,插入到對應的 DN 節點中。
5)匯入沒有分片鍵的檔案
如果檔案不包含分片鍵且沒有預設值,則載入器將該字段設定為 null 並將其插入到相應的節點中。
6) 觸發器
當匯入的表包含觸發器時,並行載入器不做特殊處理,當觸發器涉及非本地資料節點時,不支援並行載入器。 例如,如果某個表使用了觸發器,則觸發器會插入另乙個表,但分表與原表不同,涉及多個資料節點。
7) 不支援輔助表
antdb具有二級表功能,用於優化SQL語句的效能,該錶儲存了資料表的相應資料。 當資料表有輔助表時,並行載入工具只能將檔案匯入到資料表中,不會修改對應的輔助表。
8)支援編碼轉換
並行載入工具支援資料編碼轉換,當檔案和資料庫中的資料編碼不同時,工具會轉換檔案中的資料編碼,然後插入到資料庫中。
與copy命令相比,並行載入工具有效提高了資料載入效率。 由於表字段、型別和資料的數量不同,並行載入工具的乘數與複製命令的乘數並不完全相同。 下面比較了TPCC資料匯入的效能。
在1000個倉庫的資料中,有1億條記錄需要匯入到BMSQL Stock表中,資料檔案Stock中CSV 檔案的大小為 29GB。 測試的 ANTDB 集群有 2 個 DN 主節點。 在該場景的測試中,載入效率提公升了約7倍,載入速度對比圖如下圖
BMSQL STOCK表的結構如下:
本文介紹antdb並行載入工具的實現和使用方法,通過多執行緒實現檔案資料的並行處理,並載入到antdb資料庫中,有效提高載入效率。