19

記事を飛び交うと、随所に「バルクロード」という表現が見られます。

それは本当に(技術的に)どういう意味ですか?

それは何を意味しますか?

ユースケースに基づく説明は大歓迎です。

4

4 に答える 4

24

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

代わりに、B ツリーを使用して別の戦略を追求します。すべてのデータを事前に並べ替えて、ブロックにグループ化します。次に、ブロックをツリー ノードに変換して、新しい B ツリーを構築できます。どちらの手法も漸近的なパフォーマンスは同じ O(n log(n)) ですが、バルク ロード操作の係数ははるかに小さくなります。

于 2010-12-16T15:03:48.470 に答える
8

一括読み込みは、データを (通常はデータベースに) '大きなチャンク' で読み込む方法です。顧客、注文書、または在庫品目に関する情報を一度に 1 つずつシステムに入力する場合、バルク ロードは、この同じ種類の情報のファイルを取得し、短時間で数百、数千、数百万のレコードをロードします。 .

ある種類の DBMS から別の種類の DBMS に変換する場合、古い DB から新しい DB にすべての情報を入力したくないでしょう。代わりに、古い DB から新しい DB が簡単に読み取れる形式でファイルに情報をダンプし、そのデータを新しい DB にインポートします。

それがバルクロードに伴うものです(とにかく35Kフィートレベルで)

于 2010-12-16T15:06:54.267 に答える
3

一括読み込みは、大量のデータをインポート/エクスポートするために使用されます。通常、一括操作はログに記録されず、トランザクションの整合性が期待どおりに機能しない可能性があります。多くの場合、一括操作はトリガーや制約などの整合性チェックをバイパスします。これにより、大量のデータのパフォーマンスが大幅に向上します。

于 2010-12-16T15:07:34.030 に答える
1

覚えておくべきことの 1 つは、バルク ロードはソースからターゲットへのデータ コンテンツが同じであることを意味しますが、これはソース システムが黙認している場合にのみ当てはまります。どのデータ ソースでも、特に大きなデータの場合は、ソース データが読み取られてデータ転送が行われた後に変更される可能性があります。従来、オンライン システムは、ソースと一致する正確なポイント イ タイム キャプチャが必要な場合、オフラインにするか更新を一時停止する必要がありました。

于 2010-12-19T19:12:41.107 に答える