Auroraとは
AWSが開発したRDBMSであり、マルチAZで分散されたクラスター構成によって、高速・高性能なリレーショナルデータベース
- その特徴はNoSQL型の分散高速処理とRDBとしてのデータ操作性を両立させたこと
- MySQLとPostgreSQLとの完全な互換性を持ち、グローバル規模で圧倒的な高パフォーマンスと高可用性を実現する設計
MySQLと比べると最大5倍の性能を持ちPostgreSQLの最大3倍高速と言われています。
特徴
高い並列処理によって大量の読み書きをするのに適したDB
- 高い並列処理によるストレージアクセスによってクエリを高速処理することが可能
- 大量の読み込み、書き込みを同時にすることができる
- データベースの集約やスループット向上が見込まれる
耐障害性・自然回復性
3つのAZに2つコピーを設置可能で合計6つのコピーが可能
過去のデータがそのままS3に継続的バックアップ
リストアも差分適用がなく高速
どのタイミングでも安定したリストア時間を実現
99.99%の高可用性と高耐久性
スケーラビリティ
10GBから最大64TBを提供するSSDデータプレーンを利用してシームレスに拡張可能
Auto-Scalingなどのクラウド独自のスケーラブルが可能
最大15のリードレプリカを利用した高速読み取りが可能
Aurora レプリカ
RDSでは「リードレプリカ」と呼ばれるインスタンスを配置することにより、データ読み込みの負荷を分散させることができる。
- 「 Aurora レプリカ」はリードレプリカでありながら、自動フェイルオーバー機能を備えているため、セカンダリデータベースの役割を兼ねることができます。
- さらに、他のRDBMSではリードレプリカの数は最大5個であるのに対し、Amazon Auroraでは15個のAuroraレプリカを配置することができる。
マルチマスター構成
複数のWriterインスタンスを実行することができるのがマルチマスター構成です。
以前はシングルマスターのみだったため1つのWriterインスタンスに異常が発生すると書き込み機能の障害が発生していました。
2017年からはWriterインスタンスも複数別AZに設置することで書き込み処理の冗長化が実現できるようになりました。
Aurora Serverless
使用頻度の低いアプリケーションや開発・テスト用のデータベースなどの場合、常に稼働させなくて良い場合もあるためAurora サーバーレスオプションを利用することによってインスタンスの起動や停止を自動化が可能。
おわりに
DBにも違いがあってたくさんのユースケースの中から一番良いものを選ぶにはどうやって使用するのかメリットデメリットを知らないとアーキテクチャ設計ができないと感じました。
構築してみたりしてしっかりとした技術を身につけたいと思ってます。