データベースの活用は企業活動において重要であり、業務を効率化できるような価値を持つデータベースを選べばよりよい開発環境の構築につなげられます。
そこで役立つのが、Azure Database for PostgreSQLです。本記事では、Azure Database for PostgreSQLの特徴を解説するとともに、導入することで得られるメリットを紹介します。
本体のAzureの概要については、下記の記事で詳しく解説しています。ぜひ本記事と併せてご覧ください。
Microsoft Azureとは|何ができる?入門内容からわかりやすく解説
Azure Database for PostgreSQLとは
Azure Database for PostgreSQLとは、Microsoftが提供するクラウド型のデータベースです。オープンソースベースであるPostgreSQLを基に構成されたリレーショナルデータベースであり、ライセンスが緩く導入しやすいとされています。オープンソースながらさまざまなOSに対応しており、商用利用も可能な性能と信頼性を兼ね備えています。
また、Azure Database for PostgreSQLはマネージド型のデータベースであり、運用やメンテナンスはサービスを提供している側で行われるのが特徴です。そのため、Azure Database for PostgreSQLを利用する企業は、バックアップや監視、セキュリティなどを自動化することで、データベースの運用や構築などに集中できます。
2022年4月時点でサポートされているメジャーバージョンは、PostgreSQL バージョン 10~14です。また、定期的にメンテナンスが行われ、マイナーバージョンアップグレードが自動で実行されます。
Azure Database for PostgreSQLの特徴
Azure Database for PostgreSQLの特徴として、高い可用性が挙げられます。シングルサーバーでは99.99%のアップタイムを誇り、機能が停止したり中断したりする時間が少なく、高可用性のデータベースを提供可能です。計画外のことが起きても迅速に復旧できるため、ダウンタイムが抑えられます。
また、柔軟性の高いデータベースであることもAzure Database for PostgreSQLの特徴です。フレキシブルサーバーでは、ユーザーの要件に基づき柔軟性の高いサービスを提供しています。さらに、拡張機能のエコシステムによって自由な拡張を実現できるため、幅広い開発につなげることが可能です。
そして、Azure Database for PostgreSQLはハイレベルなセキュリティとコンプライアンスによって、データベースを保護できます。Azure Database for PostgreSQLでは、仮想ネットワークを構成することでデータの分離を制御することが可能です。また、データは保存中や移動中に自動で暗号化されます。
Azure Database for PostgreSQLのデプロイモデル
Azure Database for PostgreSQLは、シングルサーバーとフレキシブルサーバー、そしてHyperscale (Citus)という3つのデプロイモードを利用することが可能です。
シングルサーバー(単一サーバー)では、最小限の要件のみでデータベースをカスタマイズできます。シングルサーバーのプラットフォームは、修正プログラムの適用やバックアップの他、最小限のユーザー構成と制御によるセキュリティなど、データベースに必要な管理機能のほとんどを処理できるように設計されているのが特徴です。
細かい制御の必要がなく、自動化された修正プログラムを処理するように設計されているクラウドネイティブアプリケーションには、シングルサーバーが適しています。
またフレキシブルサーバーでは、シングルサーバーよりも高い柔軟性を持ち、より細かくカスタマイズすることが可能です。データベースの管理機能や制御が細かいユーザー要件に基づいて提供されるので、より高い可用性を実現します。
優れた制御、またはカスタマイズを必要とするアプリ開発がしたい場合や、サーバーを停止したり起動したりする機能が備わった制御が必要な場合などは、フレキシブルサーバーが適しているといえるでしょう。
そしてHyperscale (Citus) オプションでは、シャーディング技術によって複数のマシンのあいだでクエリを水平にスケーリングできるのが特徴です。複数のサーバー間でクエリを並列処理することにより、大規模なデータセットに対する応答が高速化されます。そのため、大きなスケーリングとパフォーマンスを必要とするアプリにも対応することが可能です。
Azure Database for PostgreSQLを導入するメリット
Azure Database for PostgreSQLのメリットとして、設定がシンプルで比較的使いやすいことが挙げられます。データベースを作成するためには、サーバー名とリソースグループの他、サーバー管理者のログイン名とログインパスワードの情報だけが必要です。他にも設定できる項目はありますが、最初に変更しなくても設定を終えられます。そのため、スムーズに導入でき使いやすいといえるでしょう。
そして、拡張性が高いことも大きなメリットです。一般的なクラウド型データベースの場合は、自由な拡張があまりできません。より自社で使いやすいデータベースを構築したい場合は、Azure Database for PostgreSQLを利用すると満足できるでしょう。
また、Azure Database for PostgreSQLを導入することで、運用にかかるコストを削減できるというメリットもあります。これは、Azure Database for PostgreSQLが自社で運用するデータベースではなくクラウド型のデータベースだからです。
自社で運用するデータベースの場合は、サーバーの選定をはじめとした設備選びに時間や手間がかかりやすいため、メンテナンスやセキュリティにコストをかけなければなりません。一方、Azure Database for PostgreSQLのようなクラウド型のデータベースであれば、サービスを提供しているMicrosoftがデータベースを準備してくれるため、運用にかかる無駄な時間やコストを削減できます。そのため、効率的にデータベースを構築し、開発により多くの時間を使うことが可能です。
Azure Database for PostgreSQLの料金体系
Azure Database for PostgreSQLの料金体系は、使用した分だけ支払う従量課金制です。ここでは、シングルサーバーを利用する場合の料金を見ていきましょう。以下、使用地域は東日本で通貨は円(1USドル=122.71円)で料金を表示します。
シングルサーバーの料金プランは、Basicと汎用、メモリの最適化という3つがあります。そして、いずれもGen5(2.3 GHz Intel E5-2673 v4 (Broadwell) プロセッサ)をベースとした論理CPUをしています。
まずBasicの場合、vCore1のメモリは2GiBで1時間あたり6.381円です。vCore2のメモリは4GiBで1時間あたり12.762円です。
また、サーバー用にプロビジョニングしたストレージに対しても課金が発生し、最大で1TBまでストレージを用意できます。ストレージは1GBにつき1ヵ月14.726円です。
サーバーの自動バックアップを長い期間保有する場合は、サーバーで使われるバックアップストレージも増えます。バックアップストレージは、プロビジョニングされたサーバーストレージの合計が100%になるまで追加料金は発生しません。100%をオーバーした場合は、月あたりのGB数で追加料金が請求されます。その際、ローカル冗長で1GBにつき1カ月14.726円となります。
続いて、汎用の料金です。vCore2のメモリは10GBで従量課金制では1時間あたり31.144円ですが、1年予約では1時間あたり19.6116円、3年予約では13.9620円となります。汎用では、vCoreは64まで選択が可能です。
また、ストレージは最大16TBまでプロビジョニングでき、1GBにつき1カ月あたり16.934円となります。バックアップはローカル冗長で1GBにつき1カ月あたり14.726円、地理冗長で1GBにつき1カ月あたり29.451円です。
最後に、メモリの最適化の料金です。vCoreは32まで選択可能で、vCore2のメモリは20GiBで従量課金制では1時間あたり34.801円とされています。1年予約では1時間あたり23.4499円、3年予約では16.2297円です。また、メモリの最適化のストレージおよびバックアップの料金は、汎用と同様となります。
詳しくは以下をご参照ください。
「Azure Database for PostgreSQL の価格」
https://azure.microsoft.com/ja-jp/pricing/details/postgresql/server/
まとめ
Azure Database for PostgreSQLはクラウド型のデータベースで、シンプルながら拡張性が高く、企業に合わせて使うことができます。また、コストを抑えながら運用できるうえにセキュリティのレベルが高いので、安心して使えます。
シンプルで使いやすいデータベースや開発に多くの時間を費やせるようになるデータベースを探している場合は、Azure Database for PostgreSQLの利用を検討してみてください。