データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

AWSの主要DBMSサービス徹底解説:RDS・Aurora・DynamoDB・DMSの特徴と活用ポイント

Amazon® Web Services®(AWS®)は、リレーショナルデータベースと非リレーショナルデータベースの双方に対応したデータベース(DB)サービスを、Database-as-a-Service(DBaaS)およびPlatform-as-a-Service(PaaS)という2つのモデルで提供しています。

これらのサービスは、大手ベンダーが提供する商用ライセンス製品からオープンソース製品まで、ほとんどの製品に対応しており、エンタープライズレベルで安全かつスケーラブルなデータベースを効率的かつコスト効率よく構築・管理する手段となります。

本記事では、AWSのDBMSサービスと、それらがクラウドプラットフォーム上で高く支持される理由となる特徴について、簡潔にご紹介します。取り上げるAWSサービスは以下の4つです。

  • RDS:RDBMS(リレーショナル)サービス
  • Aurora:AWS自社開発のRDBMSサービス
  • DynamoDB:非リレーショナル(NoSQL)サービス
  • DMS:データベース移行サービス

AmazonのDBMSサービスの全体像

次の画像は、データの整理方式によるDBMSの分類を示したものです。

AWSの主要DBMSサービス徹底解説:RDS・Aurora・DynamoDB・DMSの特徴と活用ポイント

AWSは、商用ライセンスが必要なものから無料で利用できるものまで、多様なDBサービスをユーザーに提供しています。これらはリレーショナル型と非リレーショナル型の両方のカテゴリーに分類されます。Oracle®やMicrosoft®といった大手企業のDBMSエンジンを利用できるだけでなく、Amazon独自のDBMSサービスであるAurora®も展開しています。Auroraは高度な技術に基づく、安全性と信頼性に優れたサービスであり、専用のRDBMSサービスに加えて、軽量・オンデマンド・自動スケーリング対応のDBMSサービスとしても利用可能です。

Amazon Relational Database Service(RDS)

Amazon Relational Database Service(RDS)で利用できる代表的なリレーショナルデータベースには、Aurora、PostgreSQL®、MySQL®、MariaDB®、Oracle®などがあります。

AWSの主要DBMSサービス徹底解説:RDS・Aurora・DynamoDB・DMSの特徴と活用ポイント

RDSの主な特徴は以下の通りです。

  • DBaaS(Database as a Service)として、管理者の手間をかけずにフル機能のデータベースをプロビジョニング可能。
  • 仮想マシン上で動作しますが、サーバーへ直接ログインすることはできません。
  • RDSのOS(オペレーティングシステム)やDBへのパッチ適用はAWSが担当します。
  • MySQL、MariaDB、PostgreSQL、Oracle、MS SQL Server、Auroraなど、複数のDBエンジンをサポート。
  • 1つまたは複数のアベイラビリティゾーン(AZ)にデプロイ可能。
  • S3への自動バックアップや手動スナップショットなど、多彩なバックアップオプションを用意。
  • バックアップから復元すると、復元先は全新規のインスタンスになります。
  • 複数AZを活用した冗長構成(プライマリ/スタンバイモデル)により、同期レプリケーションと介入不要の自動フェイルオーバーを実現。
  • 読み取り専用の非同期レプリカ(リードレプリカ)を利用してパフォーマンスを強化できます。

Amazon Aurora

Amazon Auroraは、AWSが提供するリレーショナルデータベースサービスです。公式のAuroraユーザーガイドでは、
「AuroraはマネージドデータベースサービスであるAmazon Relational Database Service(Amazon RDS)の一部です。Amazon RDSは、クラウド上でのリレーショナルデータベースのセットアップ、運用、スケーリングを容易にするWebサービスです」
と説明されています。

Amazon Auroraの主な特徴は以下の通りです。

  • 「Amazon Auroraは、クラウド向けに構築されたMySQLおよびPostgreSQL互換のリレーショナルデータベースです。従来のエンタープライズデータベースのパフォーマンスと可用性に、オープンソースデータベースのシンプルさとコスト効率を兼ね備えています」(Amazon Aurora公式ドキュメントより)。
  • 「Amazon Auroraは標準的なMySQLデータベースの最大5倍、標準的なPostgreSQLデータベースの最大3倍の速度を発揮します。商用データベース並みのセキュリティ、可用性、信頼性を、1/10のコストで実現します」(同ドキュメントより)。
  • クラスター構成を基本とし、1つのプライマリインスタンスと0個以上のレプリカで構成されます。
  • すべてのインスタンスはクラスター ボリュームと呼ばれる共有ストレージを使用し、自己修復機能を備えています。クラスター ボリュームは自動的に拡張され、消費した容量に対してのみ課金されると同時に、S3へ継続的にバックアップされます。
  • データは最低3つのアベイラビリティゾーンにそれぞれ2コピー保持されるため、常時6コピー以上が確保されます。
  • ストレージはデータブロックとディスクを継続的にスキャンし、エラーを自動修復する仕組みを持ちます。
  • 最大15個のレプリカを構成でき、並列クエリ機能を利用可能。
  • リーダーエンドポイントを使うことで、すべてのレプリカ間で接続が自動的に負荷分散されます。

Aurora Serverless

Aurora Serverlessは、Amazon Aurora向けのオンデマンド型自動スケーリング構成です。アプリケーションの需要に応じてコンピュート容量が自動的にスケールアップ・ダウンする点が、手動で容量を管理する通常のAuroraプロビジョニング済みクラスターとの大きな違いです。使用頻度が低いワークロード、断続的なアクセス、予測困難な負荷に対して、シンプルかつコスト効率の良い選択肢となります。使用していない時間帯は自動的にシャットダウンされるため、無駄なコストが発生しません。

Aurora Serverlessの主な特徴:

  • Auroraと同じDBエンジンをベースとしていますが、ハードウェアを事前にプロビジョニングする代わりに、AWSがサービスとして管理します。
  • メモリ容量(GB単位)でAurora Capacity Unit(ACU)の最大値と最小値を指定するだけで利用開始できます。
  • Data APIを使用してDBへクエリを実行可能です。
  • 秒単位で課金され、非アクティブ期間中は一時停止できるため、ストレージ料金のみで運用できます。
  • 使用パターンが読みにくいアプリケーションや、非線形な負荷がかかるシナリオに最適です。

DynamoDB(NoSQL)

DynamoDBの主な特徴:

  • 「Amazon DynamoDBは、あらゆる規模で一貫した1桁ミリ秒のレイテンシーを求めるアプリケーション向けの、高速かつ柔軟なNoSQLデータベースサービスです。完全マネージド型で、ドキュメントモデルとキーバリューモデルの両方をサポートします。柔軟なデータモデルと信頼性の高いパフォーマンスにより、モバイル、Web、ゲーム、アドテック、IoTなど幅広い用途に適しています」。
  • 「Amazon DynamoDBは、あらゆる規模で1桁ミリ秒のパフォーマンスを実現するキーバリュー・ドキュメント型データベースです。組み込みのセキュリティ、バックアップと復元、インメモリキャッシングを備えた、完全マネージド型のマルチリージョン対応かつ高耐久なデータベースです」(Amazon Databaseホワイトペーパーより)。
  • リージョンごとにパーティション分割されたDBサービスで、テーブルを作成して利用します。
  • テーブルは、共通のパーティションキーとソートキー、および各種設定やパフォーマンス設定を共有する項目(アイテム)の集合体です。
  • 項目はテーブル内の属性の集合体であり、テーブル内のすべての項目が同じキー構造を共有します。
  • 属性はキーと値のペアで構成されます。

次の例は、Peopleテーブルに3つの項目が登録され、それぞれが人物ID(プライマリキー)、氏名などの属性を持つ構造を示しています。

AWSの主要DBMSサービス徹底解説:RDS・Aurora・DynamoDB・DMSの特徴と活用ポイント

画像出典:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html

AWS Database Migration Service(DMS)

AWS Database Migration Service(DMS)は、AWSが提供するデータベース移行ツールです。次の画像は、サービス間でのデータ移行の流れを示しています。

AWSの主要DBMSサービス徹底解説:RDS・Aurora・DynamoDB・DMSの特徴と活用ポイント

画像出典:https://aws.amazon.com/dms/

AWS DMSは以下の機能を提供します。

  • 「データベースを迅速かつ安全にAWSへ移行できます。移行中もソースデータベースは完全に稼働し続けるため、データベースに依存するアプリケーションのダウンタイムを最小限に抑えられます」。
  • データをAWSクラウドへ移行するだけでなく、オンプレミス環境間(AWSクラウド経由)、またはクラウドとオンプレミスの混在環境間での移行にも対応します。
  • 同一DBエンジンへの移行(ホモジニアス)だけでなく、異なるDBエンジンへの移行(ヘテロジニアス)もサポートします。
  • 「ターゲット側にテーブルや関連するプライマリキーが存在しない場合は自動的に作成します。ターゲットテーブルを手動で事前作成することも、AWS Schema Conversion Tool(SCT)を使ってテーブル、インデックス、ビュー、トリガーなどを一部または全部作成することも可能です」(AWS Database Migration Serviceより)。
  • 同一DBエンジンへの移行であれば、SCTは不要です。

まとめ

DBMSサービスはあらゆる組織にとって不可欠な存在であり、今やデータは「新しい石油」と呼ばれる時代となりました。生のデータだけでは混乱を招くこともありますが、適切なDBMSを導入すればトランザクション処理を支え、多様な情報から有益なインサイトを引き出せます。一方で、DBMSはセキュリティとスケーラビリティの確保が大きな課題となるため、専用インフラと技術力を持ったチームが必要になる複雑なシステムでもあります。

AWSは、フルマネージド型と部分マネージド型の両方の選択肢を含め、ほぼすべてのユースケースと予算感に対応できる幅広いエンタープライズクラスのDBMSエンジンと優れたスケーラビリティを提供しています。さらに、ニーズに応じてカスタマイズできるデータベースバックアップ機能や、移行を大幅に簡素化するAWS DMSも利用可能です。そのため、予算に制約のある新規事業やスタートアップにとって、AWSは要件を満たす理想的な環境といえます。また、大規模なレガシーシステムを抱える企業の間でも、AWSデータベースサービスの可能性が認識され、着実に移行が進んでいます。

AWSデータサービスの詳細については、お気軽にお問い合わせください。

フィードバックタブからコメントやご質問をお寄せいただくことも可能です。ぜひご意見をお聞かせください。

  1. AWSで動画ファイルを変換する方法|S3へのアップロードからMediaConvertでの変換まで徹底解説

    AWSで動画ファイルを変換する方法 動画編集は時間のかかる作業です。動画編集の経験がある方なら、完成した動画をさまざまなプラットフォームで再生できるように、複数の形式へ変換する際の難しさをよくご存じでしょう。 現在、企業や個人を問わず、かつてないほど多くの動画コンテンツが制作されており、その変換作業が大きな課題となっています。幸い、この問題には効果的な解決策があります。それがAmazon Web Services(AWS)です。 AWSを利用すれば、動画をクラウドにアップロードし、希望する形式へ変換できます。クラウドベースの変換の最大のメリットは、自分のPCへの負担を軽減しながら、手間をかけず

  2. Amazonのインテリジェント音声サービス「Alexa」の便利な機能を徹底解説【後編】

    「Alexa(アレクサ)」は、古代エジプトのアレクサンドリア図書館にちなんで名付けられた、Amazon Labsで開発されたインテリジェント音声サービスです。スケーラブルなクラウドサービスとして提供されており、Amazon Echoデバイスを単なるBluetoothスピーカーから「スマートスピーカー」へと進化させる立役者となっています。 前回の記事では、Alexaが持つスキルの一部をご紹介しました。より正確に定義するならば、Alexaが持つそれぞれのスキルは、それ自体が独立したアプリだと言えます。Amazonは「Alexa Skill Kit(Alexaスキルキット)」を一般公開しており、開発