アマゾン ウェブ サービス (AWS) ではリレーショナルデータベースとしてAmazon Relational Database Service
(Amazon RDS)を提供しています。本記事では、Amazon RDSの基本的な概念と特徴・利点などを初心者の方向けに解説します。
AWS が提供しているデータベースの種類
Amazon RDSについて解説する前に、AWS が提供しているデータベースの種類について解説します。
AWS が提供しているデータベースにはさまざまな種類がありますが、本記事ではリレーショナルデータベース
(Relational Database、以下RDB)とNoSQLデータベースの2つについて取り上げます。
RDBとは、複数のデータを相互に関連する表として管理し、その関連性を確認できるようにした形式のデータベースを指します。RDBを操作する際はSQL(Structured Query Language)というデータベース言語を使用します。
一方、NoSQLデータベースとはRDBでは対応できないデータ処理を行うために開発されたものです。【NoSQL】とはNot Only SQLの略語で、操作のための言語はSQLだけではなく、他のプログラミング言語でも操作が可能です。
その他、この2つのデータベースの違いを整合性や処理速度の面から下記の表にまとめました。
RDB | NoSQLデータベース | |
整合性 | 保てる | 担保されない |
処理速度 | 遅い | 速い |
RDBは高度な検索精度をもち、データの整合性に優れている一方、NoSQLデータベースはRDBほどのデータの整合性はないものの、大量のデータの処理や拡張性、柔軟性に優れているといえます。どちらにもメリット・デメリットがあるため、使用する際の要件やニーズに合わせて選択するのが良いでしょう。
Amazon RDSとは?
ここからは本題であるAmazon RDSについて解説します。
AWS にはさまざまなデータモデルがあり、利用目的によって使い分けることが可能となっています。Amazon RDSはその中でもRDBにあたり、MySQLやPostgreSQLなど主要なデータベースソフトウェアに対応しています。データベースを選ぶ基準は次に詳しく記載します。
Amazon RDSで利用できるデータベースエンジン
Amazon RDSにて利用できるデータベースエンジン※ は主に5つあります。データベースを選択する基準は使用するデータの規模、アプリケーションの要件、予算、ライセンス、拡張性などです。利用可能なデータベースエンジンと選ぶ際の基準を下記にまとめました。
※データベースエンジンとはデータベース上のデータを管理するためのシステムです。
基準 | |
MySQL | オープンソースのためコストを抑えて利用が可能。 カスタマイズも比較的容易で、 小規模から中規模のアプリケーションに適する。 |
PostgreSQL | |
MariaDB | |
Oracle | エンタープライズアプリケーション向け。 高可用性とセキュリティが強化されていますが、 コストが高い場合がある。 |
SQL Server | |
Amazon Aurora |
MySQLやPostgreSQLと互換性があり、 高可用性、大規模ストレージスケーラビリティ等が 必要なwebゲームやモバイルゲームに適する。 |
Amazon RDSのメリット・特徴
Amazon RDSには下記4点のようなメリットがあります。
① 自動バックアップとリストア
Amazon RDSは自動的にバックアップを作成し、必要に応じてリストアが可能です。
② ソフトウェアへの自動パッチ適用
データベースエンジンのアップデートやセキュリティパッチの適用を自動で行います。
③ 拡張性
トラフィックの増加に合わせて簡単にデータベースのリソースをスケールアップできます。
④ セキュリティ
Amazon RDSは暗号化やアクセス制御などのセキュリティ機能を提供しています。
また、マネージド型サービスという特徴があり、バックアップやメンテナンスなど面倒なことを AWS が管理します。そのため、利用者のデータベースに関する運用負担を減らせるメリットがあります。その反面、使用可能なデータベースのバージョンが限定されるため、最新のバージョンが発表されてもすぐに使用できない、容量は無制限ではない、などの点に注意が必要です。
まとめ
Amazon RDSは、クラウド上でRDBを簡単にセットアップ、運用、スケーリングができるサービスです。初心者から専門家まで幅広いユーザーにとって有用なツールであり、データベースの運用から解放する便利なツールです。