パーティショニングとシャーディングの構成
これは誰に向けたものですか
通常のフィールド モデリングを完了し、大規模なテーブルのパフォーマンスまたは分散シナリオのために構造の最適化が必要なユーザー向け。
これで解決すること
テーブル設計時にパーティショニングまたはシャーディングを構成し、パフォーマンスとスケーラビリティの制約をスキーマ設計に移行できます。
前提条件
- ベーステーブルとフィールドの設定が完了しました。
- 正しいターゲット データベース タイプを選択しました。
ステップ
- まず、
PartitioningまたはShardingタブが表示されるかどうかを確認します。結果: 現在のデータベースがこの高度な機能をサポートしているかどうかを判断できます。 MySQL、MariaDB、TiDB ではPartitioningが表示されます。 PostgreSQL Citus ではShardingが表示されます。 - パーティション分割を構成する場合は、まず
Enable partitioningを有効にしてから、パーティション タイプを選択します。結果: システムはパラメータをタイプ別に公開します。RANGE/LISTは範囲または列挙型シナリオに適合し、HASH/KEYは均等分布シナリオに適合します。 - パーティション式またはフィールドを構成し、パーティション数またはパーティション定義を完了します。結果: 完全なパーティション ステートメントが右側の DDL に表示されます。
- シャーディングを構成するときは、最初に
Reference TableまたはDistributed Tableモードを選択します。結果: システムは、対応する Citus セマンティクスを生成します。Distributed Tableを選択した後、分布列を指定する必要があります。 - ビジネス クエリ パターンに対して構成を再確認します。結果: パーティション キーまたはシャーディング キーが高頻度フィルターに合わせてパスを結合します。
いつ完了するか
- 対応する詳細設定が表示され、ターゲット データベースで完了します。
- DDL には、パーティション化またはシャーディング関連のステートメントが含まれます。
- キーの選択はビジネス アクセス パスに合わせて行われます。
よくある落とし穴と障害の処理
- データベースの種類が間違っていると、タブが表示されません。最初にデータベースの種類を確認してください。
- 明確な戦略がない限り、パーティション式とパーティション フィールドを混合しないでください。
- 分散テーブルに分散列が設定されていない場合、シャーディング構成は不完全です。
- 「高度な機能がある」という理由だけでパーティショニング/シャーディングを構成すると、保守コストが増加する可能性があります。まずは実際のビジネス価値を確認してください。