バルクインサート
データを一括で取り込む
デフォルトでは、ClickHouseに送信された各インサートは、インサートされたデータと一緒に保存する必要がある他のメタデータを含むストレージ上のパートを即座に作成します。そのため、少ない数のインサートで各インサートに多くのデータを含める方が、多くの数のインサートで各インサートに少ないデータを含めるよりも、必要な書き込みの数が減ります。一般的に、1回のインサートで少なくとも1,000行、理想的には10,000から100,000行の大きなバッチでデータをインサートすることをお勧めします。そのためには、Bufferテーブルエンジンを使用してバッチインサートを可能にするバッファメカニズムを実装するか、非同期インサートを利用することを検討してください(非同期インサートを参照)。
Tip
インサートのサイズに関係なく、インサートクエリの数を1秒に1回程度に保つことをお勧めします。この推奨の理由は、作成されたパートがバックグラウンドで大容量のパートにマージされ、読み取りクエリの最適化を行うためです。1秒間に多くのインサートクエリを送信すると、バックグラウンドのマージが多数の新しいパートに追いつけなくなる状況を引き起こす可能性があります。ただし、非同期インサートを使用する場合は、1秒間により多くのインサートクエリを使用することが可能です(非同期インサートを参照)。