MEGAZONE

MEGAZONEブログ

Why AWS is the place to build and grow your MySQL workloads
Database re:Invent 2023

Why AWS is the place to build and grow your MySQL workloads

Pulisher : Managed & Support Center ムン・ボンギ
Description : MySQLのイノベーションを活用する方法と、AWSがMySQLワークロードの構築と拡張に最適な場所である理由について学ぶセッション。

普段、オープンソースDBに興味があり、AWSにはRDS MySQLとAurora MySQLの2種類がありますが、この2種類のオープンソースDBがワークロードを構築して拡張するのに最適な理由と、既存のEC2にインストールするMySQLとどのような違いがあるのか気になってセッションを申し込みました。

AWSがMySQLワークロードの構築と拡張に最適な場所であることを確認するセッションです。

  • Fully Managed
    • RDS for MySQLは、数回のクリックでMySQLデータベースを設定、運営、拡張することができる完全に管理されたデータベースで、データベース管理の複雑さを最小限に抑え、安定的な運営を提供します。
  • Cost-Effective
    • RDS for MySQLは、高価な商用データベースの性能と可用性をオープンソースデータベースのシンプルさとコスト効率と組み合わせて、従来の商用データベースのコストを回避します。
  • Highly Available
    • MySQLは、数回のクリックでHA構成を設定することでデータベースの可用性を強化し、複数のデプロイメントオプションを通じて、本番ワークロード用の高可用性アーキテクチャを提供します。
  • Easy Migration
    • Migraionの作業を簡素化するために多様なインスタンスタイプをサポートし、Database Migration Service(DMS)を提供してデータベース移行を支援します。

  • Performance and Scalability
    • Aurora MySQLは、データの書き込みと読み取りに効率的なログレコードの複製と分散ストレージアーキテクチャにより、優れた性能と拡張性を提供します。読み取りレプリケーションとストレージ拡張は、データの大きさに応じて自動的に調整され、効率的な運営をサポートします。
  • Availability and Durability
    • Aurora MySQLは、分散型ストレージアーキテクチャと高い耐久性により、データベースの可用性を強化します。複数の読み取り複製と自動復旧能力により、システム障害時にも迅速な復旧が行われます。
  • Highly Secure
    • Aurora MySQLはAWSの安全なクラウドインフラストラクチャを基盤としており、データの安全のための多様なセキュリティモニタリングと自動復旧機能を提供します。また、データの暗号化及びアクセス制御を通じて高いセキュリティを提供します。
  • Fully Managed
    • Aurora MySQLは完全に管理されるサービスとして、データベースのプロビジョニング、モニタリング、復旧作業などを自動的に処理し、ユーザーがデータベース管理を気にすることなく安定的に運営できるように支援します。

Aurora Serverless v2は、垂直スケーリングの難しさを克服するための革新的なサービスです。 インスタンスの種類やサイズを気にすることなく、迅速な自動スケールアップとスケールダウンが可能です。ワークロードの増加に伴い動的に増加し、ワークロードが減少すると自動的に縮小します。スケールアップは瞬間的でダウンタイムがないため、パフォーマンスが必要な時は最適な環境を提供し、必要ない時はコストを削減することができます。

グローバルデータベースの主なユースケースは大きく2つあります。1つは地域間の災害復旧、もう1つは迅速なローカル読み取りです。地域間ディザスタリカバリの場合、主要リージョンに障害が発生した場合、生き残ったセカンダリリゾートの1つにフェイルオーバーすることができます。これにより、アプリケーションが中断されることなくトポロジが維持されます。 また、お客様の中には、「太陽を追う」モデルのような要件があり、これはグローバルデータベーススイッチオーバーによってサポートされています。補助リージョンの1つに移動して、そのリージョンを昇格させるように指示すると、そのリージョンが昇格され、データベースが即座に切り替わります。

Aurora Fast Cloningは、その名の通り、基本的にインスタントです。Fast Cloningを使用すると、新しいストレージやクローンを作成することはありません。 既存のストレージを活用して新しいコンピューティングを接続します。クローンを作成する際にページ移動がないため、Copy on Writeアルゴリズムを使用します。 そのため、単に新しいコンピューティングを接続するだけで、高速クローンが作成されます。これを使用して、時点レポート、スナップショット分析、アップグレードテストなど様々な用途に活用することができます。 もう一つの利点は、新しいリポジトリのコピーを作成しないため、リポジトリに対して二重の費用を支払う必要がないことです。ページが変更され始めたとき、つまりクローンされたリポジトリに支払いを開始することになるからです。

お客様は、機械学習モデルを学習することなく、単純なSQLクエリを使用するだけで、リレーショナルデータベースのデータをエンリッチしたいと考えていました。 機械学習統合で提供されたのは、SageMakerやComprehendなどの機械学習機能を利用する機能であり、Auroraで直接これらのエンドポイントを使用することができます。そのためには、一般的なSQLクエリを実行するだけです。機械学習統合を使用すると、この6ステップのプロセスが3ステップのプロセスになり、モデルの選択と設定、簡単なクエリの実行、データエンリッチメントと機械学習機能の活用が可能になります。

Aurora I/O optimizedを有効にすると、IOPSコストが事実上ゼロになります。IOPSがゼロになると、どれだけ多くのIOPSを使用しても関係ありません。 コストがゼロになるため、コンピューティングとストレージのコストのみを支払うことが予測可能になります。実際、IOPSコストをゼロにすると、コンピューティングとストレージに追加料金が発生します。簡単な例で説明すると、Auroraのコストが100ドル、コンピューティングに65ドル、ストレージに5ドル、残りはIOPSに支払われます。 I/O optimizedスイッチをオンにすると、IOPSのコストがゼロになり、コストが約96から97に減少します。IOPS、コンピュータ、ストレージに追加料金がかかりますが、すぐにコストが減少します。IOPSの使用量が多ければ多いほど、より多くの節約になります。例えば、30%を使用すると若干の節約があり、40%を使用するとより多くの節約があります。これにより、価格が予測可能になり、I/O使用量が多い場合はコスト削減につながります。

Amazon RDS Blue/Greenディストリビューションは、アップグレード、パッチ適用、スキーマ変更などの作業を行う際に、ダウンタイムを回避または最小化し、このすべての作業を自動的に処理します。ユーザーは数回クリックするだけでBlue/Greenディストリビューションを作成することができます。新しいインスタンスで変更を使用することができ、アプリケーションは変更を適用する必要がありません。

また、データ損失を防止する機能も追加されました。デプロイボタンを押したときに待機時間を設定し、設定された時間内に完了しない場合はロールバックされます。

zero-ETL は、MySQL または MariaDB のデータを Redshift に移動することができます。これにより、データをAuroraからRedshiftにリアルタイムで移動するための低レイテンシーを提供します。この機能は、毎秒百万トランザクションを処理できるほど高い性能を示しています。既存のBinlogsは多くのレプリケーション機能を提供しますが、使用時に書き込みに対する追加待ち時間が発生する問題がありました。

したがって、これに対する解決策としてBinlogsの性能を向上させ、オーロラでの復旧性能を大幅に改善しました。 また、Local write forwarding機能が追加され、リージョン内のリードレプリカでも使用できるようになりました。 したがって、リードレプリカを使用して読み取りだけでなく、書き込み作業に対しても活用することができます。

RDS MySQL 8.0.35では、内部最適化により性能が向上し、ベンチマークで最大3倍の性能向上が確認されました。Multi-AZ DBクラスターはローリングアップグレードとRDSプロキシをサポートしています。 また、MySQLの革新的なリリースを試して新機能を確認したい場合は、RDSプレビュー環境で提供されています。

新しいバージョンや機能への要望はあるものの、既存のコードを使用し、古いバージョンで運用を続けているお客様もいらっしゃいます。その解決策として、Amazon RDS Extended Supportを提供し、これを有効にすると、重要なセキュリティパッチやバグ修正を提供し、製品の標準ライフサイクルを超えて3年間の追加サポートを受けることができます。Amazon Auroraを使用している場合は、1年間の追加サポートを受けることができます。

過去のMySQLは他の商用Databaseに比べて安全性や性能が比較的低いという評価を受けましたが、Amazon RDS MySQL、Aurora MySQLは性能や安定性、拡張性の面でかなり発展しており、zero-ETLを通じて分析ワークロードで使用することができ、既存のオープンソースDBとは違って標準ライフサイクルを超えて最大4年追加サポートを受けることができるので、差別化されたメリットであり、今後Databaseを導入する際にも他のDatabaseに比べて優先順位が高いようです。

ブログ一覧

この記事の読者はこんな記事も読んでいます