すべてのプロダクト
Search
ドキュメントセンター

Data Management:プロセスに基づくテーブルスキーマの発行

最終更新日:Oct 25, 2024

セルフサービスでテーブルスキーマを変更した後、プロセスに基づいてテーブルスキーマを公開して、テーブルスキーマが企業の設計仕様を満たし、さまざまなデータベース環境で一貫していることを確認できます。 これにより、テーブルスキーマを本番環境に公開する成功率が大幅に向上します。 このトピックでは、標準の安全な研究開発 (R&D) プロセスに基づいてテーブルスキーマを公開する方法について説明します。 この例では、スキーマ設計用のカスタムR&Dプロセスが使用され、開発 (Dev) 、テスト、および製品ノードで構成されています。

背景情報

スキーマ設計のメリット

説明

テーブルスキーマを本番環境に公開する成功率を確保します。

新しいテーブルスキーマを本番環境に公開する前に、スキーマ設計機能は、R&Dプロセスの各ノードでテーブルスキーマを検証します。 これにより、公開失敗の原因となる未検証のスクリプトを使用してテーブルスキーマを本番環境に公開することができなくなります。 これにより、テーブルスキーマを本番環境に公開する成功率も保証されます。

さまざまな環境でテーブルスキーマの一貫性を確保します。

データ管理 (DMS) は、R&Dプロセスに基づいて、各データベース環境のテーブルスキーマを変更します。 これにより、特定の環境で失敗したスキーマの変更によって引き起こされるテストや公開の遅延などの問題が防止されます。

テーブルスキーマの標準化を保証します。

スキーマ設計のR&D仕様には、テーブルの作成、テーブルフィールドの変更、テーブルインデックスの変更など、複数の操作に関する40近くの標準が含まれています。 これにより、開発者は企業のR&D仕様を満たすテーブルスキーマを設計できます。 これにより、仕様を満たさないテーブルスキーマの公開によって引き起こされる運用障害を防ぐことができます。 さらに、スキーマ設計機能により、O&Mスタッフが仕様をチェックする際の作業負荷を軽減し、R&D効率を向上させ、テーブルスキーマの迅速な反復と公開をサポートできます。 詳細については、「テーブルスキーマの設計仕様」をご参照ください。

概要

  1. スキーマ設計のためのR&Dプロセスのカスタマイズ: オプション。 DevノードとProductノードで構成されるデフォルトのR&Dプロセスを使用できます。 また、ビジネス要件を満たすためにR&Dプロセスをカスタマイズすることもできます。

  2. データベースインスタンスのセキュリティルールセットを設定します。 カスタムR&Dプロセスを含むセキュリティルールをデータベースインスタンスに関連付けます。

  3. データベースのテーブルスキーマを設計する: スキーマ設計チケットを提出して、複数のデータベース内のテーブルスキーマの一貫性と、テーブルスキーマを本番環境に公開する成功率を確保します。

テスト環境の準備

  1. 3つのApsaraDB RDS for MySQLインスタンスを作成し、データベースインスタンスにアカウントとデータベースを作成します。 詳細については、「ApsaraDB RDS for MySQL インスタンスの作成」をご参照ください。

    この例では、データベースインスタンスの名前は、Schema_Design-dev、Schema_Design-test、およびSchema_Design-productです。

    データベースの名前は、dev_database、test_database、およびproduct_databaseです。

  2. DMS管理者またはデータベース管理者 (DBA) の権限を持つAlibaba Cloudアカウントを使用して、作成したデータベースインスタンスをDMSに登録します。 データベースインスタンスの制御モードを [Security Collaboration] に設定します。 Schema_Design-devのデータベース環境タイプをDev、Schema_Design-testのデータベース環境タイプをTest、Schema_Design-productのデータベース環境タイプをProductに設定します。 詳細については、「Alibaba Cloudデータベースインスタンスの登録」をご参照ください。

    データベースインスタンスを登録する方法の例

    image

データベースインスタンスとR&Dプロセスのノード間のマッピング

image

1. スキーマ設計のためのR&Dプロセスのカスタマイズ

このセクションでは、セキュリティルールセットを作成し、スキーマ設計のためのR&Dプロセスを構成する方法について説明します。 R&Dプロセスは、Dev、Test、およびProductノードで構成されます。

1.1 DMSにログインし、[セキュリティルール] ページに移動します

  1. DMSコンソールV5.0 にログインします。

  2. 左上隅の2023-01-28_15-57-17.pngアイコンの上にポインタを移動し、[すべての機能] > [セキュリティと仕様] > [セキュリティルール] を選択します。

  3. 説明

    DMSコンソールを通常モードで使用する場合は、上部のナビゲーションバーで [セキュリティと仕様] > [セキュリティルール] を選択します。

1.2 (オプション) セキュリティルールセットの作成

[セキュリティルール] ページで、左上の [ルールセットの作成] をクリックします。 [ルールセットの作成] ダイアログボックスで、ビジネス要件に基づいてパラメーターを設定します。 この例では、SD-DTという名前のセキュリティルールセットが作成されます。

セキュリティルールセットが作成されると、セキュリティルールセットの [詳細] ページが自動的にDMSコンソールに表示されます。

1.3 R&Dプロセスのカスタマイズ

テーブルスキーマの設計に必要なステップと各ステップで許可される操作を指定するために、セキュリティルールセットでスキーマ設計のR&Dプロセスを構成します。

  1. オプションです。 管理するセキュリティルールセットを見つけ、[操作] 列の [編集] をクリックして、セキュリティルールセットの [詳細] ページに移動します。

    説明

    変更するセキュリティルールセットが新しく作成された場合は、この手順をスキップします。

  2. 詳細ページの左側のペインで、スキーマデザインをクリックします。

  3. [スキーマデザイン] タブで、R & Dプロセスという名前のルールを見つけ、[操作] 列の [編集] をクリックします。 次に、[設定項目の変更] ダイアログボックスで次の手順を実行します。

    1. 2番目のノードの名前をテストに変更し、データベース環境タイプをテスト.

    2. [Add Node] をクリックして3番目のノードを追加します。 3番目のノードの名前をProductに変更し、データベース環境タイプをProductに変更してから、[アンカー] 列のチェックボックスをオンにします。

      説明

      ノードの [アンカー] 列のチェックボックスをオンにして、そのノードにチケットを入力すると、チケットは公開され、変更できません。

      image

    3. [送信] をクリックします。

2. データベースインスタンスのセキュリティルールセットの設定

Schema_Design-devデータベースインスタンスの制御モードをSecurity Collaborationに設定し、SD-DTセキュリティルールセットをデータベースインスタンスに関連付けます。

  1. DMSコンソールのホームページで、左側のインスタンスリストでSchema_Design-devデータベースインスタンスを右クリックします。

  2. 表示されるショートカットメニューで、制御モード > セキュリティコラボレーション > SD-DTを選択します。

3. データベースのテーブルスキーマの設計

このセクションでは、スキーマ設計用に構成されたR&Dプロセスを使用して、データベースのテーブルスキーマを設計、テスト、および公開する方法について説明します。

3.1 スキーマデザインウィザードに移動する

  1. DMSコンソールV5.0 にログインします。

  2. 上部のナビゲーションバーで、データベース开発 > スキーマの変更 > スキーマデザインを選択します。

    説明

    DMSコンソールをシンプルモードで使用する場合は、コンソールの左上隅にある2023-01-28_15-57-17.pngアイコンの上にポインターを移動し、[すべての機能] > [データベース開発] > [スキーマ変更] > [スキーマデザイン] を選択します。

  3. ページの右上隅にあるスキーマデザインをクリックします。

3.2 スキーマデザインチケットの設定

  1. スキーマデザインチケットを作成します。

    チケットの作成ステップで、[ベースデータベースの変更] ドロップダウンリストから環境タイプがDevのデータベースを選択し、ビジネス要件に基づいてその他のパラメーターを設定します。

    この例では、dev_databaseデータベースが選択されています。

  2. [スキーマ設計] ステップで、dev_databaseデータベースにテーブルを作成します。

    1. [SQL文のインポート] をクリックします。 [SQL文のインポート] ダイアログボックスで、テーブルの作成に使用するSQL文を入力し、[OK] をクリックします。

      サンプルコード

      CREATE TABLE `teacher` (
          `teacher_id` varchar(20) NOT NULL COMMENT 'The teacher ID',
          `teacher_name` varchar(20) NULL COMMENT 'The name of the teacher',
          `phonenumber` varchar(20) NULL COMMENT 'The mobile number of the teacher',
          PRIMARY KEY (`teacher_id`)
      ) DEFAULT CHARSET=utf8 COMMENT='Teacher information table'; 
    2. [保存] をクリックします。 [結果の事前確認] メッセージで、[変更の確認] および [保存するために送信] をクリックします。

    3. [ベースデータベースへの変更の実行] をクリックします。

    4. 表示されるパネルで、[実行戦略] パラメーターを設定し、実行するSQL文が有効かどうかを確認し、[OK] をクリックします。

    5. 承認者が手動で変更を承認すると、DMSは新しいテーブルスキーマをdev_databaseデータベースに書き込みます。

    6. [次のノードに移動] をクリックします。

      説明

      [次のノードに移動] をクリックする前に、このノードのdev_databaseデータベースの新しいテーブルスキーマを変更して検証する必要があります。 [次のノードに移動] をクリックすると、DMSはcreateスクリプトを生成し、そのスクリプトを次のノードに公開します。

  3. [テスト] ノードで、前のノードで作成したテーブルスキーマをtest_databaseデータベースに同期します。

    1. ターゲットデータベースへの変更の実行をクリックします。

    2. 表示されるパネルで、test_databaseデータベースを選択し、今すぐ実行実行戦略パラメーターを設定し、OKをクリックします。

    3. 承認者が変更を承認すると、DMSは変更されたテーブルスキーマをtest_databaseデータベースに書き込みます。

      重要

      次のノードは、アンカーとして指定されたProductノードです。 [製品] ノードに進んだ後は、前のノードにロールバックして設計または公開操作を実行することはできません。

    4. [次のノードに移動] をクリックします。

  4. [Product] ノードで、テーブルスキーマをproduct_databaseデータベースに同期します。

    1. ターゲットデータベースへの変更の実行をクリックします。

    2. 表示されるパネルで、product_databaseデータベースを選択し、今すぐ実行実行戦略パラメーターを設定し、OKをクリックします。

    3. 承認者が変更を承認するまで待ちます。

      承認者が変更を承認すると、DMSは変更されたテーブルスキーマをproduct_databaseデータベースに書き込みます。 product_databaseデータベースにデータを書き込むこともできます。

    4. 次のノードに移動をクリックすると、スキーマ設計のR&Dプロセスが終了し、チケットが自動的に閉じられます。

関連ドキュメント

  • スキーマデザイン機能のセキュリティルールの詳細については、「スキーマデザイン」をご参照ください。

  • スキーマデザイン機能のシナリオと機能の詳細については、「スキーマのデザイン」をご参照ください。

  • API操作を呼び出してスキーマデザインチケットの公開の詳細を照会する方法の詳細については、「ListDDLPublishRecords」をご参照ください。