コンテンツへスキップ
uencoder

Sharding

シャーディングは、大きなテーブルをシャードキーで複数ノードへ水平分割する技術である。各ノードはデータの一部を保持し、水平スケーリングを可能にする。

目的

水平スケーリング戦略を設計し、単一ノードのキャパシティやスループットのボトルネックを克服する。

メカニズム

シャーディング戦略には、レンジ分割(キー区間)、ハッシュ分割(hash(key) mod N)、ディレクトリ分割(ルックアップテーブルでのルーティング)がある。シャード横断クエリには scatter-gather が必要で、シャードキーの選択がデータ分布とクエリ局所性を左右する。

ユースケース

  • 水平スケーリングの設計
  • シャーディング戦略
  • 分散データベース

関連ツール

References