Skip to content

パーティショニングとシャーディングの構成

これは誰に向けたものですか

通常のフィールド モデリングを完了し、大規模なテーブルのパフォーマンスまたは分散シナリオのために構造の最適化が必要なユーザー向け。

これで解決すること

テーブル設計時にパーティショニングまたはシャーディングを構成し、パフォーマンスとスケーラビリティの制約をスキーマ設計に移行できます。

前提条件

  • ベーステーブルとフィールドの設定が完了しました。
  • 正しいターゲット データベース タイプを選択しました。

ステップ

  1. まず、Partitioning または Sharding タブが表示されるかどうかを確認します。結果: 現在のデータベースがこの高度な機能をサポートしているかどうかを判断できます。 MySQL、MariaDB、TiDB では Partitioning が表示されます。 PostgreSQL Citus では Sharding が表示されます。
  2. パーティション分割を構成する場合は、まず Enable partitioning を有効にしてから、パーティション タイプを選択します。結果: システムはパラメータをタイプ別に公開します。 RANGE / LIST は範囲または列挙型シナリオに適合し、HASH / KEY は均等分布シナリオに適合します。
  3. パーティション式またはフィールドを構成し、パーティション数またはパーティション定義を完了します。結果: 完全なパーティション ステートメントが右側の DDL に表示されます。
  4. シャーディングを構成するときは、最初に Reference Table または Distributed Table モードを選択します。結果: システムは、対応する Citus セマンティクスを生成します。 Distributed Table を選択した後、分布列を指定する必要があります。
  5. ビジネス クエリ パターンに対して構成を再確認します。結果: パーティション キーまたはシャーディング キーが高頻度フィルターに合わせてパスを結合します。

いつ完了するか

  • 対応する詳細設定が表示され、ターゲット データベースで完了します。
  • DDL には、パーティション化またはシャーディング関連のステートメントが含まれます。
  • キーの選択はビジネス アクセス パスに合わせて行われます。

よくある落とし穴と障害の処理

  • データベースの種類が間違っていると、タブが表示されません。最初にデータベースの種類を確認してください。
  • 明確な戦略がない限り、パーティション式とパーティション フィールドを混合しないでください。
  • 分散テーブルに分散列が設定されていない場合、シャーディング構成は不完全です。
  • 「高度な機能がある」という理由だけでパーティショニング/シャーディングを構成すると、保守コストが増加する可能性があります。まずは実際のビジネス価値を確認してください。