メインコンテンツまでスキップ
メインコンテンツまでスキップ

バルクインサート

上記のメカニクスは、挿入サイズに関係なく一定のオーバーヘッドを示しており、バッチサイズが取り込みスループットの最も重要な最適化要因となります。バッチ挿入は、総挿入時間に対するオーバーヘッドの割合を減少させ、処理効率を改善します。

私たちは、少なくとも1,000行のバッチでデータを挿入することを推奨しており、理想的には10,000〜100,000行の間で行うべきです。少なくて大きな挿入は、書き込まれるパーツの数を減少させ、マージ負荷を最小限に抑え、全体的なシステムリソースの使用を低減します。

同期挿入戦略が効果的であるためには、クライアント側でのバッチ処理が必要です。

クライアント側でデータをバッチ処理できない場合、ClickHouseは、サーバー側にバッチ処理を移す非同期挿入をサポートしています(参照)。

ヒント

挿入のサイズに関係なく、挿入クエリを1秒あたり約1件の挿入クエリに保つことをお勧めします。その推奨理由は、作成されたパーツが背景でより大きなパーツにマージされるため(読み取りクエリ用にデータを最適化するため)、1秒あたりにあまりにも多くの挿入クエリを送信すると、バックグラウンドのマージが新しいパーツの数に追いつかない状況が発生する可能性があるからです。しかし、非同期挿入を使用すると、1秒あたりの挿入クエリのレートを高くすることができます(非同期挿入を参照)。