1. ホーム
  2. database

[解決済み] バルクロードとは何ですか?

2022-03-05 08:36:41

質問

記事から記事へ飛ぶと、いたるところで"bulk loading"という表現を見かけますが、これは何ですか?

本当の(技術的な)意味は何でしょうか?

それは何を意味するのか?

ユースケースに基づく説明を歓迎します。

解決方法は?

インデックスは通常、一度に1行ずつ挿入するように最適化されています。 一度に大量のデータを追加する場合、一行ずつ挿入するのは非効率的な場合があります。 例えば、B-Treeの場合、1つのキーを挿入する最適な方法は、空のインデックスに大量のデータを追加する非常に悪い方法です。

その代わり、B-Treeでは別の戦略をとることになります。 すべてのデータをプリソートし、ブロック単位でグループ化するのです。 そして、そのブロックをツリーノードに変換することで、新しいB-Treeを構築することができる。 どちらの手法も漸近的な性能は同じでO(n log(n))ですが、バルクロード操作の方がはるかに小さいファクターです。