2010-12-16 77 views
13

從文章跳轉到文章,我可以在任何地方看到表達「批量加載」。「散貨」是什麼意思?

它真的(技術上)是什麼意思?

這是什麼意思?

基於用例的解釋是受歡迎的。

回答

18

索引通常針對一次插入一行來進行優化。當您一次添加大量數據時,一次插入一行可能效率不高。例如,使用B-Tree時,插入單個鍵的最佳方法是向一個空索引添加一堆數據的方法很差。

而是你追求與B-Trees不同的策略。您預設所有數據,並將其分組。然後,您可以通過將塊轉換爲樹節點來構建新的B-Tree。雖然兩種技術具有相同的漸近性能,O(n log(n)),但批量加載操作的因子要小得多。

6

批量加載是一種在「大塊」中加載數據(通常放入數據庫)的方法。如果您可能會在系統中一次輸入客戶或採購訂單或庫存中的物料信息,則批量加載將獲取相同類型信息的文件,並在短時間內加載數百/千/百萬條記錄。

如果您從一種DBMS轉換爲另一種DBMS,則希望不要將所有信息從舊數據庫輸入到新數據庫中。相反,您可以將舊數據庫中的信息以新DB容易讀取的格式轉儲到文件中,然後將該數據導入到新數據庫中。

這就是散裝限嗣繼承(在35K水平尺,反正)

2

批量加載用於導入/導出大量數據。通常批量操作不會被記錄,事務完整性可能無法按預期工作。通常批量操作會繞過觸發器和完整性檢查(如約束)。這大大提高了大量數據的性能。

1

需要記住的一件事是批量加載意味着從源到目標的數據內容是相同的,但只有源系統默認時纔是如此。對於任何數據源,尤其是大數據的情況,源數據在讀取數據並進行數據傳輸後可能會發生變化。傳統的在線系統要麼需要離線更新,要麼暫停更新,如果捕獲的時間點與源需要匹配的話。