0
会員になると、いいね!でマイページに保存できます。
Amazon Auroraとは、Amazon RDS(Relational Database Service)のデータベースエンジンの1つであり、クラウドの普及に伴って、Amazonがその内部アーキテクチャを再設計したデータベースのこと。今回は、オープンソースソフトウェア(OSS)やプロプライエタリなラインセンスを持つさまざまなデータベースエンジンを選択できるAmazon Auroraについてわかりやすく解説していきましょう。
Amazon Auroraの概要
Amazon Auroraは、RDSのデータベースエンジンの1つであり、クラウドの普及に伴って、Amazonがその内部アーキテクチャを再設計したデータベースです。
ここがポイント
- Auroraは、クラウド環境に最適化するよう、内部アーキテクチャをAWSが再設計したリレーショナルデータベース
- RDSと比べ、可用性やデータ同期・フェイルオーバーの高速化など性能が向上(性能は向上しているが、オンラインレスポンスが高速化するという意味ではない)
- 内部アーキテクチャがクラウドに最適化されているため、RDS より低コストで構成できる場合もある
Auroraの概要とアーキテクチャ
Auroraは、RDBの特性である
一貫性を持ち、RDSが持つ
リードレプリカといったハイパフォーマンスのための特徴を維持しています。
AP型データベースと同様、Quorumに基づく結果整合性でデータを分散して保存するストレージクラスノードクラスタを採用することで、高可用性を実現しています。そのため、あるアベイラビリティゾーンで障害が発生した場合でも、データベースを継続して運用することができます。RDSと違い、マルチアベイラビリティゾーン配置でスタンバイデータベースを作成する必要はありません。
Auroraの特徴
Amazon Aurora には次のような特徴があります。
■より高速なデータ同期・フェイルオーバー
プライマリインスタンス、リードレプリカともに、3つのアベイラビリティゾーンにレプリケートされた同じクラスタボリュームのデータコピーを参照するので、レプリカの非同期更新時間が小さくなっています。プライマリインスタンスに障害が発生した場合は、RDSより高速にリードレプリカへフェイルオーバーすることができます。
■自動ストレージ拡張
データは10GBずつ「protection groups」と呼ばれる論理的なグループに保存され、64TBまで自動的にスケールアップすることができます。
■さまざまなエンドポイント
RDSと同様、プライマリインスタンスを指し示す「クラスターエンドポイント」とリードレプリカを指し示す「読み取りエンドポイント」があります。また、ユーザがワークロードに応じて任意にレプリカを設定する「カスタムエンドポイント」を定義できます。
■リードレプリカのオートスケーリング
Auroraのリードレプリカは、メトリクスに応じて自動増減する「オートスケーリング」に対応しています。リードレプリカへの読み取りクエリの分散や、リクエストの増減分に応じたコスト最適化が可能です。
■DBバックアップ機能の拡充
RDSと同様、自動バックアップが常に有効になります。バックアップでもパフォーマンスに影響を与えることなく、セグメントごとにS3へ継続的にスナップショットが保存されます。
バックアップは、前回バックアップ時から追加・更新された部分のみを記録する増分バックアップで行われます。バックアップウィンドウで時刻を指定する必要はありません。データをある時点に戻すBackTrack機能もサポートされます。
■クロスリージョンデータベースの性能向上・低価格化
RDSと同様、クロスリージョンでのデータベースレプリケーションが、オプションとしてサポートされます。クロスリージョンは、1つのプライマリAWSリージョン(データを管理)と、最大5つのセカンダリAWSリージョン(読み取り専用)で構成されます。
各リージョンへの展開は、DBインスタンスがなくストレージクラスタボリュームのみになるため、より高速かつ低価格でのレプリケーションが可能です。
■パラレルクエリ
ストレージノードに搭載されたCPUを活用し、多数のストレージノードに対して並列にクエリを実行し、高速にスキャンすることができます。
Auroraのデータベースエンジンには、MySQLとPostgreSQL互換のバージョンが提供されています。これまで説明してきた通り、その内部アーキテクチャは従来のオープンソースのものと大きく異なるため、あくまで互換です。
サポートされているバージョンや機能制約はそれぞれ公式ガイド「Amazon Aurora MySQLの概要」および、「Amazon Aurora PostgreSQLのデータベースエンジンの更新」を参照してください。
【次ページ】Aurora Serverless
関連タグ