🗄

Alibaba Cloud で RDS (MySQL)の立ち上げおよびDMSを使う

2024/05/17に公開

Alibaba CloudのDatabase製品を触れてみたら、DMS(Data Management Service)が結構使いやすくて良いなと感じたので、記事にしました。

RDSとは?

RDS (Relational Database Service) とは、Alibaba Cloudが提供する、クラウド上でのリレーショナルデータベースのホスティングサービスです。RDSは、ユーザーがデータベースのインフラ管理を心配することなく、データベースの作成、運用、スケーリングを簡単に行えるようにすることを目的としています。

RDSがサポートするデータベースエンジン

RDSは以下のデータベースエンジンに対応しています:

  • MySQL
  • SQL Server
  • PostgreSQL
  • MariaDB

各エンジンの対応バージョン

RDSは各エンジンの複数のバージョンに対応しています。2024年5月現在の対応状況になります。

例えば:

  • MySQL: 5.5, 5.6, 5.7, 8.0
  • SQL Server: 2012, 2014, 2016, 2017, 2019, 2022
  • PostgreSQL: 11, 12, 13, 14, 15, 16
  • MariaDB: 10.3

RDSとPolarDBの使い分け

Alibaba Cloud上でDBを利用する場合、RDS の他にPolarDB の2つの選択肢があります。それぞれの使い分けについて説明します。今回はDMSの動作をメインで利用したい為、RDSを利用します。

RDS

  • コスト重視: 予算を抑えたい場合に適しています。
  • 性能面そこまで重要ではない: 極端な高性能が不要な場合に適しています。
  • PolarDB MySQL非対応バージョンの利用: PolarDB MySQLが対応していないMySQLバージョンを利用したい場合に適しています。
  • Oracleの利用が選択できない: Oracleを利用するには、PolarDBを選択する必要があります。

PolarDB

  • 性能重視: 高性能が求められる場合に適しています。PolarDBは、クラスタ化されたデータベースサービスで、リードとライトのパフォーマンスを大幅に向上させます。
  • スケーラビリティ: 自動スケーリングが必要な場合に適しています。
  • コストより性能優先: コストが高くても性能が重要な場合に適しています。
  • SQLServerおよびMariaDBが選択できない: これらを利用する際、RDSを選択する必要があります。

DMSとは?

公式にもこのように説明されているように、統合的なDatabaseの管理を行うサービスになています。

DMSは、MySQL、SQL Server、PostgreSQL、PolarDB、DRDS、OceanBase、Oracleなどのリレーショナルデータベース、AnalyticDB、Data Lake Analytics、ClickHouseなどのOLAPデータベースなどのデータウェアハウス関連データベース、MongoDB、RedisなどのNoSQLデータベースを含む複数のデータベースの統合管理をサポートします。これは、データ管理、構造管理、ユーザー認証、セキュリティ監査、傾向分析、およびデータトレースをカバーする包括的なデータ管理サービスです。DMSは、データベースとサーバーを一元管理するための使いやすいポータルを提供し、より安全なデータ、より効率的な管理、より明確なデータ価値を保証します

DMSのサービス・機能はとても多く、全てを伝えることは難しい為、いくつかの機能をよく利用する機能に絞って説明していきます。

https://www.alibabacloud.com/help/en/dms/product-overview/features-1

Untitled

作業詳細

今回は下記の作業を行っていきます。

  1. RDS (MySQL)を立ち上げ

  2. RDSのアカウントを作成する

  3. RDSにデータをインポートする

    DMSを利用して、RDSにデータをインポートします。データのインポート画面から、SQLファイルをアップロードし、インポートタスクを実行します。

  4. RDSからデータをエクスポートする

    DMSを利用して、RDSからデータをエクスポートします。データエクスポート画面から、エクスポートするデータベース名やテーブルを選択し、エクスポートタスクを実行します。

  5. RDS内でSQL操作を行う

    DMSのSQLコンソールを利用して、RDS内でSQL操作を行います。クエリの実行、結果の確認、データの可視化などが可能です。

RDS(MySQL)を立ち上げる

ApsaraDB RDS を利用します。

https://rdsnext.console.aliyun.com/dashboard/

インスタンス作成の基本設定画面では、必要な選択のみを行います。

rdsbuy.console.aliyun.com_create_bards_mysql.png

インスタンス作成時にいくら掛かるかが分かるのが、とてもありがたいですね。

今回はデモ用で作るので、VPCも自動で割り振られたものを利用します。

rdsbuy.console.aliyun.com_create_bards_mysql (1).png

確認画面から、今すぐ支払いを押します。他のサービスと違って言葉が新鮮ですね。

rdsbuy.console.aliyun.com_create_bards_mysql (2).png

インスタンスリストの画面で少々待ち、画面リロードをすると実行中のステータスになっていることを確認します。

https://rdsnext.console.aliyun.com/rdsList/ap-northeast-1/basic/normal

rdsnext.console.aliyun.com_rdsList_ap-northeast-1_basic_normal (1).png

RDSにアカウント adb_test アカウントを作成します。

rdsnext.console.aliyun.com_detail_rm-0iw7786r3ihd2893v_account_list_spm=5176.28369458.0.0.6fb9a33a5zkdfn&region=ap-northeast-1&DedicatedHostGroupId= (1).png

RDSにデータをインポートする

DMSというAlibaba Cloudのデータベースを管理するWebブラウザベースのツールを起動します。

作成したDatabase Account adb_test とパスワードを入力し、 Test Connection で接続が問題ない事を確認し、Loginします。

dms.alibabacloud.com__spm=5176.19908259.0.0.3f5fa33ayOQkNg&regionId=ap-northeast-1&dbType=mysql&instanceId=rm-0iw7786r3ihd2893v&instanceSource=RDS.png

テストデータをインポートします。

Data Import の画面が用意されており、SQLファイルを投入し、Submit します。

dms.alibabacloud.com__spm=5176.19908259.0.0.3f5fa33ayOQkNg&regionId=ap-northeast-1&dbType=mysql&instanceId=rm-0iw7786r3ihd2893v&instanceSource=RDS (6).png

確認画面を経て、Taskの実行を行います。スケジュールで行うか、即時実行を行うか。今回は即時実行で行いました。

dms.alibabacloud.com__spm=5176.19908259.0.0.3f5fa33ayOQkNg&regionId=ap-northeast-1&dbType=mysql&instanceId=rm-0iw7786r3ihd2893v&instanceSource=RDS (8).png

world データベースが作成され、データの中身も確認出来ることが確認できれば、完了になります。

dms.alibabacloud.com__spm=5176.19908259.0.0.3f5fa33ayOQkNg&regionId=ap-northeast-1&dbType=mysql&instanceId=rm-0iw7786r3ihd2893v&instanceSource=RDS (9).png

RDSからExport

Web ブラウザ上からDatabase のデータをエクスポートします。

データエクスポートの画面へ移り、データベース名や出力テーブルの単位などを選択します。

今回は、contryテーブルのみをエクスポートしました。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (2).png

作業指示リストにチケットとして反映され、エクスポートタスクが実行されます。

その後、ファイルのダウンロードを行い、エクスポートデータを取得可能となります。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (3).png

UIも分かりやすく、エクスポートが簡単に出来ました。

タスクの指定を細かく行うことで、定期的なエクスポートも可能なようでした。

RDS内でSQL操作

SQL Consoleを利用していきます。接続しているデータベースに対して、クエリを発行できます。

コンソール上ではとても細かい設定が可能で、Format機能や実行計画を簡易的に呼べたしたり、実行結果をExcelやCSV、選択した箇所のみをInsert文でコピーしてくれる機能などのあったら嬉しい機能が満載でした。特に、実行後のデータを視覚的に出来るVisualoizeボタンは、数値だけで見ることでは分からない部分も発見につながる可能性があり、とても使い勝手が良いです。

いくつかのSQLを実行していきます。

1. 国別の都市数ランキング

世界の各国には、大小さまざまな都市があります。どの国が最も多くの都市を持っているのかをランキング形式で表示するSQLクエリ

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (4).png

BarChartを表示しています。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (9).png

国別言語の話者数ランキング

世界各国で話されている言語の中で、最も多くの人々によって話されている言語は何かを見つけることができます。これは、**CountryテーブルとLanguage**テーブルを結合して計算します。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (5).png

データの使い方としては余り正しくありませんが、レーダーチャートを表示しています。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (6).png

人口密度が高い国ランキング

国の人口と面積を比較することで、人口密度が高い国をランキングできます。これは、**Country**テーブルから計算することが可能です。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (8).png

Pie Chartで表示しています。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (5).png

GDPランキング

国ごとのGDP(国内総生産)をランキング形式で表示します。これは、経済の大きさや国の富を比較する一つの方法です。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (7).png

Word Cloud を表示しています。

dms-ap-northeast-1.alibabacloud.com___uid=5160309003758438&_region=ap-northeast-1&_from=cn-hangzhou&spm=5176.19908978.0.0.6fb97d33d6XjmM&instanceSource=RDS&type=console (15).png

まとめ

DMSを利用することで、データベースの管理から簡易的なBIツールとしても利用する事が出来ました。様々なデータベースツールを使ってきましたが、速度も早く使い勝手やUIはとても良かった。今後もAlibaba Cloudでデータベース関連を利用する際は利用していきます。

Discussion