Amazon Auroraとは?詳しく解説します
Amazon Auroraの概要について
ここでは、Amazon Auroraについて説明させていただきます。 Amazon AuroraはAWS(Amazon Web Services)のサービスの一つであり、 クラウド向けに構築された、MySQL および PostgreSQL と互換性のあるRelational Database(リレーショナルデータベース)となります。 AWSはAmazon.comにより提供されているクラウドコンピューティングサービスとなり、世界でトップシェアを誇るクラウドサービス群として有名です。オンデマンドおよびセルフサービス製品のスイートを提供するクラウドコンピューティングプラットフォームで、主な機能は次のとおりです。 クラウドで信頼性が高く、スケーラブルで、安全なオンデマンドコンピューティング容量を提供し、信頼性が高く安価なデータストレージオプションのストレージサービスの提供、開発者がアプリケーション用のスケーラブルで高性能なデータベースにアクセスできるようにするデータベースサービスを提供などです。 AWSは、コンピューティング能力、データベースストレージ、コンテンツ配信などを含む一連のサービスを提供するクラウドコンピューティングプラットフォームであり、そのユーザーフレンドリーなインターフェースと費用対効果の高い価格設定により、ここ数年人気を集めていることは知られております。世界最大のクラウドコンピューティングプラットフォームで、これは企業がより機敏で費用効果の高いアプリケーションを構築するのに役立つ幅広いサービスを提供します。また、Amazon Elastic Compute Cloud(EC2)、 Amazon Simple Storage Service(S3)、Amazon SimpleDB、Amazon Glacier、AWSLambdaなどの一連の製品を提供するクラウドコンピューティング企業です。 このサービスは元々、Webサイトをホストし、これらのサイトやその他のオンラインサービスにストレージを提供するように設計されていました。 AWSの目標は、お客様がハードウェアやインフラストラクチャに事前に投資することなく、独自のITインフラストラクチャを構築できるようにすることで、クライアントが必要とするサービスのレベルに応じて、クライアント向けにさまざまな価格設定モデルを用意しています。
Amazon Auroraは商用データベースと同等のパフォーマンスと可用性を、従来の10分の1というコストで実現することが可能となります。 Amazon Auroraを理解するためにはRelational Database(リレーショナルデータベース)というIBMのエドガー・F・コッドによって考案されたデータベースを知る必要があります。 Relational Databaseは、データベースを利用する際にクエリをデータベースに与えデータを検索することや変更することが可能となり従来の性能を大きく向上させる革新的なテクノロジーでした。 エドガー・F・コッドは"A Relational Model of Data for Large Shared Data Banks" (大規模共有データバンクのデータ関係モデル)という論文でRelational Databaseの概念を発表しておりました。 ただしIBMでは既存顧客に対して導入していたIBMのIMS ( Information Management System)との兼ね合いもあり、Relational Databasに舵を切るタイミングが遅れたと言われております。 また、エドガー・F・コッドの"A Relational Model of Data for Large Shared Data Banks" に影響を受けて製品開発を行ったのがOracleのラリー・エリソンとなります。 IBMが開発に時間をかけている間隙を縫い製品をリリースし、市場のシェアを奪うことに成功します。 エドガー・F・コッドはSQL/DS(DB2)やSQLの開発も行いました。 これらはSQLがIBMのでRelational Database標準となることでOracleの製品もシェアを伸ばしていきます。 その後Relational Databaseが大きな市場になっていることは周知の通りですが、これらを理解することでAmazon Auroraに関する理解も深まるでしょう。
では、Amazon Auroraの性能面について説明させていただきます。 Amazon Auroraでは、高いパフォーマンスを誇ることがその特徴の一つと言えます。 AWSの説明によりますと標準的な MySQLデータベースと比較して最大で5倍、標準的な PostgreSQLデータベースと比較すると最大で3倍高速で 処理が実行することができます。 また、クラウドならでは利点を生かしエンタープライズ向けの同等のセキュリティ、可用性、信頼性を担保しながらコストを10分の1程度に 削減することが可能となります。 また、Amazon Aurora は Amazon Relational Database Service (RDS) を使った完全マネージド型サービスであるため、柔軟性向上とハードウェアのプロビジョニング、 データベースのセットアップ、パッチ適用、バックアップといった時間のかかる管理タスクが自動化といったメリットがあります。 Amazon Relational Database Service (Amazon RDS)はAmazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle データベース、SQL Serverなどデータベースエンジンから選択できます。 AWS Database Migration Serviceを使用すると、既存のデータベースをAmazon Relational Database Service (Amazon RDS)を簡単に移行することができます。 以上が簡単ではありますがAmazon Auroraに関する説明とさせていただきます。
Amazon Auroraのメリットについて
Amazon Auroraのメリットについて簡単に説明させていただきます。
一点目が高いパフォーマンスとなります。
すでに紹介させていただきました通りですが、Amazon AuroraはAWSの説明によりますと標準的なMySQLデータベースと比較して最大で5倍、標準的な PostgreSQLデータベースと比較すると最大で3倍高速で
処理が実行することができます。
また、企業がサービスを利用する際に非常に重要である拡張性が高いこともその特徴であり、
データ量の増加や減少に応じて、小さなインスタンスタイプから大きなインスタンスタイプに、データベースデプロイを簡単にスケールアップやスケールダウンすることが可能です。
これによりビジネスに対して柔軟に対応することや、無駄なコストがかからないなど様々なメリットがあります。
もちろんこれらはAWSの多くのサービスに共通するメリットではあります。
さらに、Amazon Aurora Serverlessによって自動的に起動、シャットダウン、および容量を拡大または縮小します。
Aurora Serverless を使用すると、データベース容量を管理せずにクラウド内でデータベースを実行することが可能となりユーザーをバックアップします。Amazon Auroraのストレージは、必要に応じて、データベースインスタンスごとに最大128TB まで自動的に拡張されます。
二点目が高可用性と耐久性となります。
これらの性能によりユーザーのシステムを強力に支援します。
具体的にはAmazon Auroraは3つのアベイラビリティーゾーンにわたってユーザーのデータを6個レプリケーションします。
また、それらを継続的に Amazon S3にバックアップすることで、高い可用性を実現しております。
物理ストレージの障害は透過的に復旧され、インスタンスのフェイルオーバーは30秒未満で完了することができます。
Amazon Aurora Global Databaseを利用することでさらにスムーズに稼働することが可能となります。
Amazon Aurora Global Databaseでは単一のAmazon Auroraデータベースを複数のAWS リージョンにまたがって運用することが可能です。
データベースのパフォーマンスに影響を与えずにデータをレプリケートし、
各リージョンでレイテンシーを低減してローカル読み取りを高速化し、リージョン規模の停止からの災害復旧を実現するテクノロジーであり、
これによりユーザーのシステムはパフォーマンスを維持しながらスムーズに運用されます。
三点目がセキュリティの高さとなります。
Amazon Auroraでは複数のレベルのセキュリティを設定することで高いセキュリティによる
稼働を可能としており、特に暗号化によるテクノロジーがそれらを支援しており、様々な方法で制御されております。
暗号化されたAmazon Auroraインスタンスでは、基盤となるストレージが暗号化されます。同じクラスター内にある自動化バックアップ、スナップショット、およびレプリカも暗号化されます。
四点目がMySQL、PostgreSQLとの互換性となります。
Amazon AuroraはMySQLやPostgreSQLの既存のオープンソースデータベースと完全互換性があります。
Amazon Auroraではユーザーが使用しているコード、アプリケーション、ドライバー、ツールを変更せずに利用することが可能です。
五点目がフルマネージド型であることとなります。
すでに紹介させていただきましたRDSを使った完全マネージド型サービスとなり、AWSでは様々なツールを準備しております。
以上が簡単ではありますがAmazon Auroraのメリットの説明とさせていただきます。
Amazon Auroraの料金について
Amazon Auroraの料金について説明させていただきます。
Amazon Auroraの料金は利用した時間単位で料金が発生し、初期費用な長期契約の制限がなく
利用することができるという特徴があります。
リザーブドインスタンスを選択することでさらにコスト削減を実施することができる点も忘れてはいけません。
Aurora Serverlessでは、アプリケーションのニーズに応じて自動的に起動、停止、容量のスケールが行われ、消費した容量分だけ支払うという形であることからユーザーの無駄なコストを削減することが可能です。
オンデマンドインスタンスにおいては、データベース容量を事前にプランニングしたり、購入したりする必要がなくすぐに利用することが可能でありビジネスを実施する際の迅速なスタートを約束します。
では、Amazon Auroraのデータベースインスタンスについて紹介させていただきます。
Amazon AuroraのMySQL互換エディションはインスタンス料金は読み込み/書き込みのワークロードに使用されるプライマリインスタンスと、読み込みをスケールし、フェイルオーバーを向上する Amazon Auroraレプリカの両方に適用されます。
Amazon Auroraの料金体系はリージョンごとに分類されますので、サービスを利用する地域ごとに異なります。
スタンダードインスタンスはdb.t4g.mediumを0.113USD(1H)~という形であり、
メモリ最適化インスタンスはdb.r6g.largeを0.313USD(1H)~という形で設定されております。
次に、Amazon Auroraのデータベースストレージおよび I/Oについて説明させていただきます。
Amazon Auroraデータベースのストレージ消費量は GB/月単位で課金されます。
また、Amazon Auroraデータベースのストレージを消費する I/O には100万件のリクエストごとに課金されます。
料金はAmazon Auroraデータベースが消費したストレージおよび I/Oの分のみ発生し、事前にプロビジョニングすることは不要です。
I/O 料金は、ワークロードとデータベースエンジンによって大幅に異なる場合があります。
Amazon AuroraのデータベースストレージおよびI/Oについてもリージョンごとに分類されておりますが東京の場合ストレージ料金0.12USD/毎月のGBあたり、I/O料金は0.24USD/100万リクエストといった形で設定されております。
次に、Amazon Auroraのバックアップストレージについて説明させていただきます。
バックアップストレージは毎月0.023USD/GBといった形の料金体系で運用されております。
また、バックアップストレージはリージョンごとに割り当てられます。
バックアップストレージの合計容量は、そのリージョンのバックアップすべてに対するストレージの合計と等しくなります。
Amazon Auroraのバックアップストレージは、自動化されたデータベースバックアップや、ユーザーの作成した
DBクラスタースナップショットに関連します。
以上がAmazon Auroraのバックアップストレージに関する説明とさせていただきます。
Snapshot Exportではスナップショットサイズ1GB あたりの料金が0.012USDとなっております。
また、これらのAmazon Auroraに関する料金体系は料金計算ツールなどを利用することで事前にある程度数字の把握ができるため、気になる方は使ってみてください。
以上が簡単ではありますがAmazon Auroraの料金についての説明とさせていただきます。
Amazon DynamoDB
Amazon Auroraに関連するキーワードとしてAmazon DynamoDBがあります。
Amazon DynamoDBは1桁ミリ秒単位で規模に応じたパフォーマンスを実現する高速で柔軟なNoSQLデータベースサービスで、理解するためにはNoSQLデータベースについて理解する必要がありますので、
簡単に説明させていただきます。
NoSQLは、非リレーショナルな方法でデータを格納するデータベースです。これは、データが従来のテーブル以外の構造に格納され、各データが一連の列と行とともに格納されることを意味します。
SQLは、リレーショナルデータベースのクエリ言語であり、すべてのデータをテーブルに格納および取得します。
NoSQLデータベースは、テキストや画像などの非構造化データを格納するために人気があります。これは、簡単にインデックスを作成してクエリを実行できるためです。 SQLデータベースのような1種類のドキュメントに限定されません。
NoSQLデータベースは、Webアプリケーションでよく使用されるデータベースの一種で、このタイプのデータベースを使用することには多くの利点があります。最も広く知られている利点は、データを取得できる速度です。これは、テーブルでの並べ替えや検索を必要とする結合やその他の操作がないためです。
さらに、NoSQLデータベースは、結合や並べ替え操作を使用する必要がないため、SQLデータベースよりもスケーラブルです。これは、クラスター内にノードがいくつあるかを気にすることなく、利用可能なすべてのハードウェアを利用し、必要に応じて拡張できることを意味します。
近年、NoSQLデータベースの人気が高まっています。これは、従来のSQLデータベースよりもはるかに柔軟でスケーラブルであるためです。これらは、JSONやXMLなどの構造化データから非構造化データ、半構造化データまで、あらゆる種類のデータに使用できます。
ニーズに最適なNoSQLデータベースは、保存するデータの種類、データを取得する速度、データセットのサイズなどによって異なります。大規模なデータセットを処理できるデータベースを探している場合は、迅速な検索時間を提供し、QLoudMystKDB+やCodaなどのさまざまなオプションを利用できます。
NoSQLデータベースは、SQLに基づかないデータベースでありオープンソースで記述され、かつ分散されており、スケーラブルです。 NoSQLデータベースには、Webサーバーからのデータのログ記録、IoTデバイスからのデータの保存、ログファイルの保存など、さまざまな用途があります。
NoSQLデータベースは、他のタイプのデータベースと同じタイプのメンテナンスを必要としないため、ストレージ容量とパフォーマンスの点でスケーリングに最適です。
最も人気のあるNoSQLデータベースには、MongoDB、Cassandra、HBaseがありますが、簡単に紹介させていただきますので、参考にしてみてください。
まず、MongoDBは、Webアプリケーションを構築するために多くの企業で使用されているオープンソースのドキュメントデータベースです。柔軟なデータモデル、簡単なインストール、および高性能を備えています。
日本国内での知名度はそこまで高くないものの、世界的な知名度は非常に高く注目を浴びているデータベースでNoSQLデータベースの中ではトップシェアを誇ります。
また、NoSQLの中で分類ではドキュメント型のデータベースに分類され、 ドキュメント型データベースを代表する製品の一つとなります。
指針としては、開発者がデータの課題を解決できるよう支援することであり 最先端の最新データベース上に構築されたアプリケーションデータプラットフォームを提供します。
一般的なクエリインターフェイスと開発者が好むデータモデルを使用しながら、トランザクション、検索、分析、モバイルにおいて開発者を強力に支援することが可能となります。
特徴としては「より速く構築する」「拡張性」「高可用性」などを実現するためのテクノロジーを追求している点をあげることができます。
「より速く構築する」という内容においては、柔軟なドキュメントデータモデルとあらゆるユースケース向けの統合クエリインターフェイスを使用して、高速化を実現します。
「拡張性」においては全てのユーザーに対して拡張性とSLA(Service Level Agreement)を保証し提供します。
「高可用性」についてはデータの整合性を保護し、ミッションクリティカルなワークロードのセキュリティとコンプライアンスの基準を満たします。
ここで、MongoDBを支えるテクノロジーとして有名な技術を紹介させていただきます。 一つはシャーティングとなります。
シャーディングとは、データベースの負荷分散の手法の一つであり、複数のサーバを使用して単一の論理データベースを構成する手法のことを指します。
シャーディングの最大のメリットは拡張性に優れていることとなります。
データ量やアクセス量に応じてスケールアウトし、柔軟な構成を構築することが容易である点は大きな魅力です。 また、可用性に優れていることもその特徴となります。
シャーディング構成のおいてはそれぞれのサーバーが独立して存在していることもあり、障害が起きた際に別のサーバーに対して影響を与えず高可用性を担保することが可能となります。
以上がMongoDBに関する説明とさせていただきます。
次に、Cassandraは、標準のハードウェアコンポーネントから構築された多くのコモディティサーバー全体で大量のデータを処理するように設計されたオープンソースデータベースでもあります。単一障害点のないフォールトトレラント設計であり、重いワークロードを簡単に処理できます。 正式名称をApache Cassandra(アパッチ カサンドラ)と呼びオープンソースのデータベース管理システムとして有名であり、元々はFacebook社によって開発されたサービスとなっております。 Cassandraは高いパフォーマンスが最大の特徴であり、そのための様々なテクノロジーが利用されておりますので、簡単に紹介させていただきます。 Log-structured merge-tree(LSM tree)というアルゴリズムによって高速データ書き込みを可能とし、マスターレスであることでノードトラブルに迅速に対応することが可能であるという点も大きな特徴です。 これにより安心してサービスを利用することができ、大規模データにも対応することが可能です。 また、拡張性の高さもその特徴です。 Cassandraではスケールアップやスケールダウン操作を容易に行うことが可能であり、ビジネスの変化に柔軟に対応することが可能となります。 また、操作性の高さもその特徴であり、それを実現するために独自のクエリ言語であるCassandra Query Language(CQL)を導入しております。 これらは一般的に多くのエンジニアが利用しているSQLの知識によって操作が可能であり、多くのエンジニアがスムーズに 利用することができます。 ユーザーが既製のハードウェアを使用して、 ダウンタイムなしでデータベースを動的に拡張することができるためCassandraは高いパフォーマンスを実現できます。他のデータベースと比較するとコスト面が削減することも可能であり。 OracleやMySQLデータベースと比較すると明らかとなります。
最後にHBaseは、設計されたもう1つのオープンソースデータベースであり、拡張性の高さやパフォーマンスの高さがその特徴となります。 特にビッグデータとの相性が良く、これからの時代にさらにニーズが高まることが予想されております。また、リアルタイムスピードに優れているため特定のサービスや領域と相性が良いことでも知られております。ネットオークション、広告、災害時などの情報処理をリアルタイムに伝える必要がある分野ではさらに需要が高まると言われております。 以上が簡単ではありますがNoSQLデータベースに関する説明とさせていただきます。
Amazon DynamoDBの説明に戻りますと、ハイパフォーマンスなアプリケーションをあらゆる規模で実行するために設計された、 フルマネージド、サーバーレスの key-value NoSQLデータベースです。DynamoDB は、内蔵セキュリティ、継続的なバックアップ、 自動化されたマルチリージョンでのレプリケーション、インメモリキャッシング、データエクスポートツールを提供するサービスとなります。 Amazon DynamoDBはスケールに応じたパフォーマンス、エンタープライズ対応などがその最大の特徴となります。 以上が簡単ではありますがAmazon DynamoDBの説明とさせていただきます。
Google Cloud Spannerについて
Amazon Auroraに関連するサービスとして
Google Cloud Spannerを紹介させていただきます。
Google Cloud Spannerはトランザクション処理の大規模分散処理を可能とした
リレーショナルデータベースとなります。2017年にリリースされ、従来のリレーショナルデータベースで
実現できない大規模分散処理などを実現するサービスとして大きな注目を集めております。
Google Cloud Spannerを利用するメリットの一点目が拡張性となります。
グローバルに分散したACID準拠のデータベースでレプリカ、シャーディング、トランザクション処理を自動的に行うため、ユーザーの使用パターンに応じて迅速にスケールすることが可能となります。
二点目が高可用性となります。
Google Cloud SpannerではGoogleの専用ネットワーク上に構築されております。
世界最大規模のインフラ基盤を有するGoogleサービスを利用することで、
高可用性とパフォーマンスを提供します。
また、計画的なメンテナンスやスキーマ変更に、ダウンタイムなしで最大99.999%の可用性を提供することも
その特徴として紹介させていただきます。
三点目が操作性のシンプルさとなります。
IT管理者やDBAなどITの専門担当者は、データベース運用に伴う数多くの作業が存在するため
操作性が重要となってきます。
Cloud Spannerではグローバルにレプリケートされるデータベースをほんの数クリックで作成スケーリングすることができ、非常にシンプルな操作性を誇ります。
また、それによりデータベースの維持費も削減されます。
次にGoogle Cloud Spannerの機能に関する説明をさせていただきます。
一点目がリレーショナルデータベースであるということです。
スキーマ、SQLクエリ、ACID トランザクションなど、リレーショナルデータベースに求められる機能はすべて実証済みであり、読み取りと書き込みのグローバルなスケーリングが可能であり、Google Cloud Spannerを利用することでリレーショナルデータベースのメリットを十分に活用することが可能となります。
二点目が可用性となります。
Google Cloud Spannerの可能性についてはすでにメリットの部分でも紹介させていただきましたが、
技術的な理解をさせていただくとTrueTime アトミッククロックと透過的な同期レプリケーションを備えたマルチリージョンインスタンスで業界トップクラスの99.999%の可用性を実現することが
可能となります。また、ゼロダウンタイムでトラフィックを処理しながら、100%オンラインでのスキーマ変更とメンテナンスを実現することができるというのが
Google Cloud Spannerの可用性に関する技術的な紹介となります。
三点目が自動シャーディングとなります。
データベースにおけるシャーディングは、大規模なデータベースを扱う上で非常に重要な機能となります。
特に大規模データベースにおいてはデータセットが大量となり1つのデータベースに格納できない場合に
必要なテクノロジーとして知られております。
Google Cloud Spannerの自動シャーディングではリクエストの負荷とデータサイズに基づいてデータを自動的にシャーディングして、パフォーマンスを最適化します。
再設計による中断なしでデータベースをスケールすることが可能となります。
四点目がフルマネージドであるということです。
フルマネージドであることで、高い専門性をもつスタッフを常駐される必要がなくなります。
Google Cloud Spannerあらゆるステージで、あらゆるサイズのデータベースを容易にデプロイし、
同期レプリケーションとメンテナンスは組み込み済みで、自動実行されユーザーの負荷を大きく減少することが可能となり、よりビジネスに集中することができる環境を提供します。
五点目がトランザクションの強整合性となります。
六点目が詳細なインスタンスのサイズ設定です。
Google Cloud Spannerではユーザーの利用状況によって柔軟にインスタンスの設定をすることが可能となり、
1か月65ドルの小さなインスタンスで開始することが可能です。
ユーザの利用量に応じてダウンタイムや再設計の必要なしにスケーリングすることができるため、
無駄なコストがかかりません。また、事前にGoogle Cloud Consoleからプレビュー版で利用することができるため
始めて使うユーザーも安心して利用することができるでしょう。
七点目がPostgreSQLインターフェースとなります。
Google Cloud Spannerの特徴であるスケーラビリティと信頼性と、PostgreSQL の使いやすさとポータビリティを兼ね備え利用することが
可能です。PostgreSQLは、拡張性とSQL準拠を強調するフリーでオープンソースのリレーショナルデータベースとして知られております。
データベースの市場においても上位クラスのシェアを誇り、世界中で利用されているデータベースとなります。
Google Cloud Spannerは多くのユーザーがすでに取得しているPostgreSQLの知識を活用することが可能であり、
将来性も担保することができるというメリットを享受することができます。
八点目がリージョンとマルチリージョンの構成となります。
マルチリージョンは複数の地域によって構成されるシステム構成を指し、世界的なベンダーであるAWSなどでも積極的に導入されております。Google Cloud Spannerではユーザーがどこにいても、世界中の強整合性が保たれた最新のデータを読み書きできます。
マルチリージョンインスタンスを実行している場合、データベースがリージョンの障害から保護され、業界最高水準の99.999% の可用性を実現します。
Google Cloud Spannerを利用することで世界中のどの地域からでもビジネスに支障なくシステムを維持することが可能です。
九点目がBigQueryを使用した連携クエリとなります。
BigQueryはデータウェアハウス(Data Ware House)の一つで、Googleが手掛けるGoogle Cloud Platformにおけるビッグデータ領域の中でも代表的なサービスとして有名です。
データウェアハウスとはデータを集めて整理するデータの倉庫のようなイメージであり、
データを時系列で保存することでデータを正しく分析することが可能になります。
BigQueryはGoogleの運営するサービスとの連携がスムーズに行えるため、普段業務で取得している様々なデータを無駄にすることなく活用することが可能となります。
BigQueryはPB(ペタバイト)規模であっても高速な処理を行うことが可能となります。 BigQueryの高速処理を実現しているのは、カラム型データストアとツリーアーキテクチャといった 構造と技術となります。 カラム型データストアでは列単位でのデータ保存を行い、
ツリーアーキテクチャでは複数処理分散を 行うことでデータの高速データ処理を技術的に実現しております。
また、普段ユーザーが利用しているSQL操作を実行することができる点もその特徴となります
Google Cloud SpannerではBigQueryからリアルタイムでデータの移動やコピーをすることなくクエリを実行し、運用データと分析の間のギャップを埋め、統合されたデータライフサイクルを構築できます。
十点目がGoogle Cloud ネットワーク上に構築することができるという点となります。
世界最高のテクノロジーをもつGoogle Cloudのプラットフォーム上で構築することで高いパフォーマンスはもちろん高いセキュリティ性を実現することが可能です。
十一点目がエンタープライズ クラスのセキュリティと管理となります。
十二点目がポイントインタイム リカバリ(PITR)のバックアップと復元となります。
十三点目が豊富なアプリケーションとツールのサポートとなります。
また、リアルタイムの変更データ キャプチャとレプリケーションやオブザーバビリティもGoogle Cloud Spannerの特徴と言えます。
以上が簡単ではありますがGoogle Cloud Spannerの説明とさせていただきます。
Azure SQL Databaseについて
Amazon Auroraに関連するサービスとしてAzure SQL Databaseを紹介させていただきます。
Azure SQL Databaseは、フルマネージドのPaaSデータベース エンジとして知られており、
Azureのサービスの一つです。
アップグレード、修正プログラムの適用、バックアップ、監視などのほとんどのデータベース管理機能を提供しており、クラウド用に構築された常に最新のリレーショナル データベース サービスです。アプリの要件を満たすように自動的にスケーリングし、
最大99.995%の可用性でアプリを実行し続けることができます。
フルマネージドマルチモデルデータベースのシンプルさと柔軟性を備え、高いパフォーマンスを備えたデータベースとして知られているAzure SQL Databaseに関する特徴をいくつか紹介させていただきます。
一点目はフルマネージドであるということです。
これにより更新、プロビジョニング、バックアップが自動化されるため、ユーザーはアプリケーション開発に集中することが可能となります。
二点目は柔軟で応答性の高いサーバーレス コンピューティングと Hyperscaleストレージにより、変化する要件に迅速に適応できるという点
となります。これによりユーザーはビジネスに支障なくサービス環境を利用することができるというメリットがあります。
三点目が保護レイヤー、組み込みの制御、インテリジェントな脅威検出により、データを安全に保つことができるという点となります。ユーザーはAzure SQL Databaseのセキュアな環境でサービスを利用しデータを安全に運用することが可能となります。
四点目が組み込みのAIと高可用性により、最大99.995%のSLAでピーク時のパフォーマンスと持続性を維持することができるという点となります。
以上が簡単ではありますがAzure SQL Databaseに関する説明とさせていただきます。
ではここから、さらに詳しくAzure SQL Databaseについて説明させていただきます。 Azure SQL Databaseは様々な形のサービスに適しており、導入することで、 Azureのアプリケーションやソリューションのための高可用性かつ高パフォーマンスのデータストレージ層を作成することが可能となります。 SQL Database を使用することで、グラフ、JSON、空間、XML などのリレーショナル データと非リレーショナル構造の両方を処理できるようになるため、 さまざまな最新のクラウドアプリケーションに適していると言えるでしょう。 その名の通りMicrosoftのAzure上で展開されるサービスのため、 Microsoft SQL Serverデータベースエンジンの最新の安定したバージョンに基づいています。 それにより高パフォーマンスのメモリ内テクノロジやインテリジェントなクエリ処理など、高度なクエリ処理機能を利用することが可能となります。 SQL Serverの最新機能のリリースはSQL Databaseから始まり、その後SQL Server自体に対してリリースされます。 修正プログラムの適用やアップグレードのオーバーヘッドなしでSQL Serverの最新の機能を取得して、数百万のデータベースでテストすることができ、 ユーザーは常に最新の状態でサービスを利用することが可能となるというメリットがあります。 SQL Databaseを使用すると、2つの異なる購入モデル (仮想コアベースの購入モデルと DTU ベースの購入モデル) の中でパフォーマンスを簡単に定義してスケールすることができます。 SQL Database は、高可用性、バックアップ、その他の一般的なメンテナンス操作が組み込まれた完全なマネージド サービスです。 SQLとオペレーティング システムのコードの修正プログラムの適用と更新は、すべてMicrosoftで処理されますのでユーザーが対応する必要はありません。 以上が簡単ではありますがAzure SQL Databaseに関する説明とさせていただきます。
Cloud SQLについて
Amazon Auroraに関連するサービスとしてCloud SQLを紹介させていただきます。
Cloud SQLはGoogle Cloud(GCP)上で提供されるクラウド型のデータベースサービスで、リレーショナル データベースの設定、維持、運用、管理を支援するフルマネージドのデータベースサービスであり、Cloud SQLはMySQL、PostgreSQL、または SQL Serverで使用することが可能です。
ローカルMySQL、PostgreSQL、SQL Server データベースの代替となるクラウドベースのサービスとして提供されており、ユーザーはCloud SQL を使用することで、データベースの管理にかかる時間を減らし、データベースを効率よく利用することが可能となります。
また、すでに説明させていただきましたようにGCP上で提供されているため
Compute Engine、App Engine、Google Cloud の他のサービスで実行されている多くのアプリケーションは、データベース ストレージにCloud SQLを使用しております。すでに多くの機能が準備されておりユーザーが利用する際にそれらを構築する必要がないという点も特徴となります。
Cloud SQLで準備されている主な機能としてはバックアップ、高可用性とフェイルオーバー、ネットワーク接続
、エクスポートとインポート、メンテナンスと更新、モニタリング、ロギングといったものがあります。
それぞれについて簡単に説明させていただきます。
まず、バックアップ機能を利用することで失われたデータを Cloud SQLインスタンスに復元することが可能です。
インスタンスに問題がある場合は、バックアップを使用してインスタンスを上書きすることで以前の状態に戻すことができます。
また、必要なデータを含むインスタンスを自動的にバックアップできます。バックアップはデータの損失や破損を防ぐことができますので
ユーザーは安心してサービスを利用することが可能となります。
また、クローン作成やレプリカ作成などの一部のオペレーションでも、自動バックアップとバイナリロギングを有効にする必要があります。
次に高可用性とフェイルオーバーですが、Cloud SQLでは高可用性(HA)構成を採用しゾーンまたはインスタンスが利用できなくなったときのダウンタイムの削減を可能とします。
また、ゾーンでサービスが停止した場合や、インスタンスが破損した場合においてもクライアントアプリケーションで引き続きデータを使用することが可能で、HA構成によりデータの冗長性を確保します。
Cloud SQLインスタンスは「リージョン インスタンス」とも呼ばれ、構成されたリージョン内のプライマリゾーンとセカンダリゾーンに配置されます。
リージョンインスタンスはプライマリインスタンスとスタンバイインスタンスで構成され、各ゾーンの永続ディスクへの同期レプリケーションにより、
トランザクションがコミットされレポートされる前に、プライマリインスタンスへの書き込みのすべてが両方のゾーンのディスクに複製されます。
インスタンスまたはゾーンに障害が発生した場合、スタンバイ インスタンスが新しいプライマリ インスタンスになります。
ユーザーは新しいプライマリに再転送されこのプロセスは、フェイルオーバーと呼ばれます。
Cloud SQLではインスタンスが応答しなくなると、Cloud SQLは自動的にスタンバイインスタンスからデータを提供するように切り替えます。
フェイルオーバーが発生したかどうかを確認するには、オペレーション ログのフェイルオーバー履歴を調べることになります。
ネットワーク接続においては様々な接続オプションが用意されております。
ユーザーはCloud SQLインスタンスに接続する方法やCloud SQLがデータベースの接続、認可、認証のために提供しているオプションについて理解しておくことが大切です。
以上が簡単ではありますがCloud SQLの説明とさせていただきます。
まとめ
いかがでしたでしょうか? Amazon Auroraについて簡単に説明させていただきましたので、 参考にしてみてください。