クラウドコンピューティングは、このテクノロジーが提供するすべての機能を利用するために、すべての企業でますます使用されるようになっています。
インターネットを介してコンピューティングパワー、データベース、ストレージ、アプリケーション、その他のリソースをオンデマンドで利用できるため、強力なサーバーを購入したり構築したりするために多額の費用をかける必要はありません。独自のデータセンター。
Database as a Service(DBaaS)は、物理ハードウェアのセットアップ、ソフトウェアのインストール、またはデータベースの構成を必要とせずに、ユーザーがデータベースにアクセスできるようにするクラウドコンピューティングサービスです。これらの管理タスクとメンテナンスはすべてクラウドプロバイダーによって処理されるため、ユーザーが行う必要があるのはデータベースを使用することだけです。
問題は、最高のDBaaSソリューションは何ですか?残念ながら、これに対する簡単な答えはありません。そのため、このブログでは、PostgreSQL用のさまざまなDBaaSプロバイダーの主な機能について説明します。
PostgreSQL用AmazonRDS
Amazon RDS for PostgreSQLは、クラウドでデータベースサービスを提供する最大のプロバイダーの1つです。このDBaaSソリューションを使用すると、クラウド内のデータベースを簡単に管理できます。
公式ウェブサイトによると、主な機能は次のとおりです。
- 汎用(SSD):プロビジョニングされたGBあたり3 IOPSの一貫したベースラインを提供し、最大3,000IOPSをバーストする機能を提供します。
- プロビジョニングされたIOPS(SSD):データベースインスタンスごとに最大64TBのストレージと80,000IOPSをプロビジョニングできます。
- PostGIS、全文検索辞書、HStore、JSONデータ型、pg_stat_statementsなどのサポートされているPostgreSQL機能
この製品を使用すると、使用した分だけ支払うことになり、最低料金はかかりません。 AWS Pricing Calculatorを使用して、毎月の請求額を見積もることができます。インスタンスには2つのタイプがあります:
- オンデマンドDBインスタンス :DBインスタンスが起動されてから停止または削除されるまで、DBインスタンスが実行される時間ごとに、長期的なコミットメントなしで、コンピューティング容量の支払いを行うことができます。これにより、ハードウェアの計画、購入、保守のコストと複雑さが解消され、一般的に大きな固定費であるものがはるかに小さな変動費に変わります。
- 予約済みインスタンス :DBインスタンスを1年または3年の期間予約するオプションがあり、DBインスタンスのオンデマンドインスタンスの価格と比較して大幅な割引を受けられます。 Amazon RDSリザーブドインスタンスは、PostgreSQLデータベースエンジンにサイズの柔軟性を提供します。価格にはストレージやI/Oの費用は含まれていません。
詳細については、AmazonRDSの価格設定セクションを確認してください。
Amazon Aurora for PostgreSQL
Amazon Auroraは、クラウド用に構築されたMySQLおよびPostgreSQL互換のリレーショナルデータベースです。 AWSのWebサイトによると、Amazon Auroraは標準のPostgreSQLデータベースの3倍の速度であり、商用データベースのセキュリティ、可用性、信頼性を1/10のコストで提供します。主張に関係なく、これは真のPostgreSQLインスタンスではなく、互換性のあるエンジンにすぎません。ただし、AmazonでPostgreSQLを実行することを検討している場合は、これを可能な代替手段として確実に検討する必要があります。 Auroraと、AuroraとPostgreSQLとの関係について詳しくは、こちらをご覧ください。
公式ウェブサイトによると、主な機能は次のとおりです。
- PostgreSQLの最大3倍のスループット
- Auroraレプリカを使用したマルチAZデプロイ
- 自動、継続的、増分バックアップおよびポイントインタイム復元
Amazon RDSと同様に、ここでは前払い料金なしで支払いを行います。最低料金はありません。インスタンスには次の3つのタイプがあります。
- オンデマンドインスタンス :DBインスタンスが起動されてから停止または削除されるまでの時間単位でデータベースの料金を支払うことができ、長期的なコミットメントや前払い料金はかかりません。これにより、ニーズに先立ってデータベース容量を計画および購入するコストと複雑さから解放されます。オンデマンド価格設定では、従量課金制であり、開発、テスト、およびその他の短期間のワークロードに最適です。
- サーバーレス :データベースの容量は、アプリケーションのワークロードのニーズに合わせて自動的にスケールアップまたはスケールダウンし、非アクティブな期間中にシャットダウンするため、コストと管理時間を節約できます。データベースストレージに加えて、データベースがアクティブなときにデータベースが消費するデータベース容量とI/Oの料金を支払います。
- 予約済みインスタンス :定常状態のデータベースワークロードに適しており、オンデマンドよりも大幅に節約できます。 1年間のリザーブドインスタンスは最大45%の割引を提供し、3年間のリザーブドインスタンスはオンデマンドに対して最大66%の割引を提供します。リザーブドインスタンス期間の全期間を確約し、以下に示すように前払い料金と割引時間料金を支払います。使用状況に関係なく、期間の1時間ごとに請求が行われます。
詳細については、AmazonAuroraPricingセクションを確認してください。
Google Cloud SQL for PostgreSQL
GoogleのCloudSQLは、クラウドでのPostgreSQLデータベースのセットアップ、保守、管理を容易にするフルマネージドデータベースサービスを提供します。高性能とスケーラビリティを提供し、世界中のどこで実行されているアプリケーションにもインフラストラクチャを提供するGoogleCloudPlatformでホストされています。
公式ウェブサイトによると、主な機能は次のとおりです。
- クラウドSQL第2世代プラットフォームに基づく、クラウド内の完全に管理されたPostgreSQLデータベース。
- GoogleCloudConsoleでインスタンスを作成および管理します。
- 米国、EU、アジア、またはオーストラリアで利用可能なインスタンス。
- Googleの内部ネットワーク、データベーステーブル、一時ファイル、バックアップで暗号化された顧客データ。
- CloudSQLプロキシまたはSSL/TLSプロトコルを使用した安全な外部接続のサポート。
- SQLダンプファイルを使用してデータベースをインポートおよびエクスポートします。
- PostgreSQLクライアントサーバープロトコルと標準のPostgreSQLコネクタのサポート。
- GoogleCloudのオペレーションスイートのロギングとモニタリングとの統合。
- 複数のPostgreSQLバージョンのサポート:9.6、10、11、および12。
- Cloud SQL for PostgreSQLは、多くのPostgreSQL拡張機能をサポートしています。完全なリストについては、PostgreSQL拡張機能を参照してください。
Cloud SQL for PostgreSQLの料金は、次の料金で構成されています。
- インスタンス :共有コアインスタンスにのみ適用されます。最大96個のvCPUと416GBのメモリを持つことができる専用コアインスタンスは、コアの数とそれらが持つメモリの量によって課金されます。リードレプリカは、スタンドアロンインスタンスと同じレートで課金されます。
- CPUとメモリ :専用コアインスタンスの場合、必要なCPUの数とメモリの量、最大96個のCPU、および416GBのメモリを選択します。
- ストレージとネットワーキング :インスタンスが配置されている地域によって異なります。ネットワークトラフィックがCloudSQLインスタンスを離れるときに適用される料金は、トラフィックの宛先、場合によってはパートナーが関与しているかどうかによって異なります。インターネット出力は、ローカルサーバーを使用してCloud SQLからデータを読み取るなど、CloudSQLインスタンスをGoogle製品ではないクライアントに送信するネットワークトラフィックです。
詳細については、GoogleCloudSQLの料金セクションを確認してください。
PostgreSQL用のAzureデータベース
Azure Database for PostgreSQLは、高可用性やインテリジェンスなどの組み込み機能を備えたサービスとしてのフルマネージドデータベースです。事前の費用をかけずに、選択した言語とフレームワークを引き続き使用できます。使用した分だけ支払います。
公式ウェブサイトによると、主な機能は次のとおりです。
- 数分でプロビジョニングし、数秒でコンピューティングまたはストレージを個別にスケーリングします
- JSONB、地理空間サポート、リッチインデックスなどの貴重なPostgreSQL機能との統合
- 数十の拡張機能(PLV8、PostGIS、TimescaleDBなど)
- Hyperscale(Citus)拡張機能を使用したPostgreSQLでの高性能水平スケーリング
- クエリパフォーマンスインサイト機能を使用して、パフォーマンスを妨げる可能性のある破壊的なイベントを監視および検出します
- AzureIPアドバンテージを備えたフルマネージドPostgreSQL
- Azure Advanced Threat Protectionで発生する潜在的な脅威を発見、追跡、および修正します
- Azure Database for PostgreSQLは、HIPAA、PCI DSS、FedRAMP、ISOなどに準拠しています
ワークロードに応じて、2種類の製品があります。
- 単一サーバー :単一ノードのコンピューティング、メモリ、およびストレージで適切に実行できるワークロードに最適です。
- ハイパースケール(Citus) :パフォーマンスと同時実行性の要件が高く、PostgreSQLを水平方向にスケールアウトする必要があるアプリケーションに最適です。 Hyperscale(Citus)を使用すると、マルチノードデータベースクラスターの集約されたコンピューティング、メモリ、およびストレージを利用できます。
詳細については、Azure DatabaseforPostgreSQLの価格設定セクションを確認してください。
EnterpriseDBクラウドデータベース
EnterpriseDB PostgreSQL Plusクラウドデータベースは、PostgreSQLデータベースをクラウドサーバーインスタンスにデプロイするために使用されます。マスターデータベース、すべてのレプリカインスタンス、およびデータベースのAmazonストレージは、ユーザーが所有するAWSインスタンスで実行されますが、Postgres Plusクラウドデータベースコンソールは、EnterpriseDBが所有および運用します。
公式ウェブサイトによると、主な機能は次のとおりです。
- PostgreSQL構成の調整
- IOPSまたはレプリカに上限はありません
- PostgreSQLコントリビューターからのサポート
- 24時間年中無休のメール、ポータル、電話によるサポート
2つのバージョンがあります:
- PostgreSQL :これはPostgreSQLのコミュニティバージョンであり、EnterpriseDBによって配布されます。
- Postgres Plus Advanced Server :これは、Oracle機能、Oracleデータベース互換性、多くのパフォーマンス機能(高速データローダー、インデックスアドバイザー、DynaTune、SQL待機状態統計を含む)、組み込み関数パッケージ、ソフトウェア更新モニターを追加するEnterpriseDB商用製品です。 、エンタープライズ監視ツール、SQLパフォーマンスプロファイラー、SQLインジェクション攻撃保護、データベース移行ツールキット、およびOracleとSQLServerを使用した異種レプリケーション。
DBインスタンスのコストには、コンピューティングおよびソフトウェアライセンスのコストが含まれます。ストレージ、IOPS、データ転送、およびその他のサービスは追加です。
詳細については、EnterpriseDBの公式ウェブサイトを確認してください。
ElephantSQL、Heroku、Composeなどの他のオプションもあり、おそらく上記と同じくらい優れていますが、広範なブログ投稿を避けるために、現在最も一般的なDBaaSプロバイダーに焦点を当てています。
会社の規模、要件、そしてもちろん予算に依存するため、どのDBaaSソリューションが最適かはわかりませんが、このブログがいくつかのプロバイダーオプションの主な機能を理解し、あなたの会社にとって最良の決断です。