Data Management (DMS) が提供するスキーマ設計機能を使用すると、テーブルのスキーマを変更して、テーブルを特定のR&D標準に準拠させることができます。 開発環境、テスト環境、本番環境などの複数の環境間でスキーマの一貫性を確保するために、さまざまなビジネス用にR&Dプロセスをカスタマイズできます。 このトピックでは、論理テーブルのスキーマデザイン機能の使用方法について説明します。
前提条件
データベースの種類は次のとおりです。
MySQL: ApsaraDB RDS for MySQL、PolarDB for MySQL、ApsaraDB MyBase for MySQL、およびその他のソースのMySQLデータベース
OceanBase
データベースが属するデータベースインスタンスは、[セキュリティコラボレーション] モードで管理されます。 詳細については、「インスタンスの制御モードの表示」をご参照ください。
設計フェーズでは、開発環境タイプの論理データベースがベースデータベースとして指定され、リリースフェーズでは、運用環境タイプの論理データベースが必須データベースとして指定されます。 論理データベースと環境タイプを設定する方法の詳細については、「論理データベース」および「インスタンスの環境タイプの変更」をご参照ください。
説明MySQLのデフォルトのセキュリティルールに基づいて、R&Dプロセスの構造設計フェーズのデータベース環境は開発データベースとして構成され、リリースフェーズのデータベース環境は本番環境として構成されます。 ビジネス要件に基づいてR&Dプロセスを調整できます。 詳細については、「スキーマデザイン」をご参照ください。
ベースデータベースと必須データベースを変更する権限が必要です。
使用上の注意
基本データベースと必須データベースのタイプは同じである必要があります。 たとえば、ベースデータベースのタイプがMySQLの場合、必要なデータベースもMySQLタイプである必要があります。
背景情報
データベースまたはテーブルがシャードされた後、シャードのスキーマを変更するために実行されるDDLステートメントは、他のシャードで同時に有効になる必要があります。 また、可能であれば複雑な操作を行わないでください。 DMSが提供するスキーマ設計機能は、論理データベースと論理テーブルに基づいています。これにより、シャードデータベース内のテーブルを、ユーザーが透過的な操作を実行できる単一のテーブルとして使用できます。
手順
DMSコンソールV5.0 にログインします。
上部のナビゲーションバーで、 を選択します・
説明DMSコンソールをシンプルモードで使用する場合は、コンソールの左上隅にあるアイコンの上にポインターを移動し、
を選択します。[Schema DesignTickets] ページで、右上隅の [Schema Design] をクリックします。
スキーマデザインチケットを作成するためのパラメーターを設定し、[送信] をクリックします。 下表に、各パラメーターを説明します。 パラメータの説明:
パラメーター
説明
ベースデータベースの変更
スキーマ設計操作を実行する論理データベース。 この例では、Secure Collaborationモードでデータベースを選択します。 論理データベースが属する環境のタイプは、データベースのセキュリティルールに対応するR&D標準に準拠している必要があります。 詳細については、「スキーマデザイン」をご参照ください。
利害関係者の変更
スキーマ設計の利害関係者。 指定されたすべての利害関係者は、チケットの詳細を表示し、開発者が開発および承認プロセスを加速するのを支援できます。
説明DMS管理者およびデータベース管理者 (DBA) 以外の関係のないユーザーは、チケットの詳細を表示できません。
論理テーブルを作成します。
論理テーブルは、次のいずれかの方法で作成できます。
Use the GUI
[論理テーブルの作成] をクリックします。
[論理テーブルの作成] タブで、[基本情報] 、[列情報] 、[インデックス情報] をクリックして、基本情報、列、インデックスに関するパラメーターを設定します。
テーブルshardingトポロジー をクリックし、[論理テーブル式] フィールドに論理テーブルの式を入力します。 論理テーブルの式の詳細については、「論理テーブルの式」をご参照ください。
説明論理テーブルの式を変更すると、DMSは元のテーブルを削除し、変更された式に基づいて新しいテーブルを作成します。 この操作を実行すると、元に戻すことはできません。 作業は慎重に行ってください。
テーブルトポロジ分布の計算 をクリックして、論理テーブルの名前と物理分布をプレビューします。 名前または物理分布が要件を満たしていない場合は、式を変更して再度お試しください。
[保存] をクリックします。
SQL文の使用
[SQL文のインポート] をクリックします。
表示されるダイアログボックスで、必要に応じて
CREATE TABLE
またはALTER TABLE
文を入力し、[OK] をクリックします。たとえば、次のステートメントを使用して、
orders_logic_[05]
およびorders_logic_[06]
という名前のテーブルを作成できます。CREATE TABLE `orders_logic_[05-06]` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key', `gmt_create` datetime NOT NULL COMMENT 'create time', `gmt_modified` datetime NOT NULL COMMENT 'modify time', PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET=utf8 COMMENT='Create Logical Table';
[論理テーブルの作成: orders_logic_[05-06]] タブで、テーブル情報とスキーマを確認し、[保存] をクリックします。
説明既存のテーブルのテーブルシャードの式は変更しないことをお勧めします。
事前チェック結果メッセージで、事前チェック結果を表示します。
事前チェックに合格した場合は、正しいことを確認し、送信して保存します をクリックします。
警告のみが表示される場合は、警告を無視して保存を続行. または、閉じる をクリックし、R&D標準に基づいてテーブルスキーマを変更し、[保存] をクリックします。
エラーが報告された場合は、エラーの原因を確認し、閉じる をクリックし、R&D標準に基づいてテーブルスキーマを変更し、[保存] をクリックします。
説明DMSは、既定のセキュリティルールで設定されているR&D標準に基づいて、テーブルの作成または変更について上記のSQL文を検証し、エラーと警告がある場合はレポートします。
DMSは、テーブルの作成やフィールドとインデックスの変更に役立つ40近くのR&D標準を提供しています。 必要に応じて、セキュリティルールでR&D標準を設定できます。
事前チェックに合格すると、[プロジェクトホームページ] タブに移動します。 プロジェクトによって編集されたテーブル タブで、変更または作成したテーブルを表示し、必要に応じて他のテーブルを変更または削除できます。
スキーマの変更を基本データベースに適用します。
[ベースデータベースへの変更の実行] をクリックします。ベースラインライブラリの変更を実行する
ベースラインライブラリの変更を実行するパネルで、実行戦略、カナリアモード、カナリアアクションのパラメーターを設定し、確認をクリックします。
スキーマ変更操作が承認された後、システムはスキーマ変更をベースデータベースに自動的に適用します。 実行履歴の変更 タブで操作のステータスを確認できます。
説明各物理データベースでの操作のステータスがタブに一覧表示されます。
ベースデータベースの [SQLConsole] タブで、スキーマの変更が期待どおりに実行されたかどうかを確認できます。
デフォルトのセキュリティルールに基づいて、スキーマ変更のチケットを送信する必要があります。 カスタムセキュリティルールを使用することもできます。 たとえば、開発データベースのスキーマ変更に対して承認が不要であることを指定できます。 本番データベースでスキーマ変更チケットを承認できるユーザーを指定することもできます。
[次のノードに移動] をクリックします。 表示されるメッセージで、[次のノードに移動] をクリックします。
スキーマの変更を本番データベースに適用します。
[プロジェクトホームページ] タブで、ターゲットデータベースへの変更の実行.
では、ターゲットデータベースへの変更の実行パネル、ターゲットデータベースを選択し、確認 をクリックします。
説明複数のライブラリセットを追加する をクリックして、複数の運用データベースでスクリプトを実行することもできます。
スキーマ変更操作が承認された後、システムは自動的にスキーマ変更を本番データベースに適用します。 本番データベースの [SQLConsole] タブで、スキーマの変更が期待どおりかどうかを確認できます。
[次のノードに移動] をクリックします。 表示されるメッセージで、[次のノードに移動] をクリックします。
チケットがクローズされた後、各ステップをクリックして、変更レコードと公開レコードを表示できます。
次のステップ
論理テーブルを作成したら、ルーティングアルゴリズムを設定する必要があります。 詳細については、「ルーティングアルゴリズムの設定」をご参照ください。