データベースをクラウドに置く方法はたくさんあります。考慮すべき点は次のとおりです。

Table of Contents

データベースをクラウドに置く方法はたくさんあります。考慮すべき点は次のとおりです。

Amazon RDSがPostgreSQLのサポートを開始してから10年が経ちました。1980年代にチューリング賞受賞者のマイケル・ストーンブレーカー氏が開発したこのリレーショナルシステムは、それ以来、プロの開発者の間で最も人気のあるデータベースとなり、Stack Overflowの2023年開発者調査によると、ほぼ半数の開発者が利用しています。

クラウドプロバイダーに誘惑されて、DBAやデータベースに詳しい人全員を解雇する人を見たことがあるが、その後、スキーマ設計やクエリの最適化が必要になると、Amazonは助けてはくれない。

PostgreSQLの人気の高まりに伴い、クラウドにデータベースシステムをデプロイしたり、PostgreSQL互換のデータベースサービスを利用したりする方法が驚くほど多様化しています。例えば、AzureやGoogleを含む主要3社のクラウドプロバイダーは、RDSと同様にPostgreSQLの標準バージョンをホスティングしているだけでなく、AuroraやAlloyDBといったPostgreSQL互換の拡張データベースサービスも提供しています。

一方、CockroachDB や Yugabyte など、PostgreSQL 互換のフロントエンドを備えたサーバーレス システムを構築しているベンダーもあります。

これはPostgreSQLに限った話です。MySQL、MongoDB、MariaDBなど、他の一般的なデータベースシステムでも同様の選択肢があります。これらの選択肢を適切に判断するには、開発者とデータベース管理者はそれぞれのアプローチの長所と短所を理解する必要があります。

MySQL パフォーマンスバイブルの著者であり、オープンソース データベース コンサルタント会社 Percona の創設者兼元 CEO である Peter Zaitsev 氏は、クラウドでデータベースを展開するさまざまな方法の台頭を目の当たりにし、軽々しく選択することについて警告しています。

完全に管理しますか、それとも少し手を加えるだけですか?

ユーザーが VM でデプロイを管理するか、ベンダーが管理するサーバーレス システムを採用するかは、ユーザーが実行したい作業の量、ユーザーが望む制御と柔軟性、および特定のベンダーにロックされることをどの程度許容できるかによって決まります。

さらに、クラウドベンダーは特定のワークロード向けに独自のデータベースを提供しています。Amazon は、完全に管理された独自の値キー データベースである DynamoDB を提供し、Google は、完全に管理されたサーバーレス データ ウェアハウスである BigQuery を提供しています。

「こうしたシステムは、特定のクラウドベンダーから購入した場合にのみ利用可能であり、独自に運用することはできない」とザイツェフ氏は語った。

あるいは、ユーザーは、PostgreSQL や MySQL などの一般的なオープンソース データベースをベースに、大幅に強化され、Amazon Aurora や Google の AlloyDB などの完全に管理されたサービスとして提供される標準システムを入手できます。

最後に、Google の Cloud SQL や Amazon の RDS など、MySQL または PostgreSQL をベースにした、完全に管理された「シュリンクラップ」サービスがあります。

「これは標準的なデータベース技術で、GUI とインターフェースがいくつか追加され、自動バックアップなどの機能も備わっています」と Zaitsev 氏は言う。

最初から最後まで見ていくと、ユーザーはそれぞれの選択肢において、最もロックインの度合いが高いものから低いものまで、さまざまなロックインに直面します。しかし、クラウドベンダーが「フルマネージドサービス」とは何を意味するのかについても、疑問に思うべきです。

「これはクラウドベンダーがユーザーに推奨し、押し付けるものでもあるが、通常は最も高いコストがかかる。なぜなら、データベースを稼働させるための基本的なインフラに比べて、その分だけ料金が高くなるからだ」と同氏は語った。

  • LLMを本番環境に導入するのは途方もない作業であるが、ベクトルデータベースがその道を照らす可能性がある。
  • 歯磨きとフロスを怠ると膿瘍ができます。MySQLのアップデートでも同じです。
  • FerretDB 1.0はオープ​​ンソースのドキュメントデータベースに新たなアプローチを提供します
  • AWSはPostgreSQL DBaaSの移行に長いダウンタイムを要した

DBA を解雇しないでください。

「しかし、フルマネージドサービスについて話すとき、『では、パフォーマンスやセキュリティの責任は誰が負うのですか?』と問うと、『これは共同責任です』と答えるのです。彼らは、環境の維持管理は自分たちが行う一方で、あなたには自分の役割を果たすことを期待しています。これはしばしば誤解されています。クラウドプロバイダーに誘惑され、DBAやデータベースに詳しい人全員を解雇してしまう人を目にしてきました。しかし、スキーマ設計やクエリの最適化が必要になる時期が来たら、Amazonは彼らを助けようとはしません。どのクラウドプロバイダーも、『データベースの維持管理は私たちが行いますが、アプリケーションやデータベースの使用に特有の作業はすべてあなたの責任です』と言うでしょう」とザイツェフ氏は述べた。

クラウド ベンダーのシュリンクラップされたデータベース サービスや拡張データベース サービスを使用する際のもう 1 つの課題は、企業のポリシーや地理的な制限に従って、ユーザーがさまざまなクラウド プロバイダーのクラウド インフラストラクチャ全体でシステムを使用したい場合に発生します。

「例えばAmazon RDSは、異なるクラウドで運用するまではシンプルに聞こえます。しかし、RDSとクラウドインフラの微妙な違いにも対処しなければならなくなり、非常に複雑になります」とザイツェフ氏は述べた。

ユーザーは仮想マシンを使用してクラウド内でのデータベースの展開を自分で管理できますが、データベースのクラウド展開への最も急成長しているアプローチは、Google が開発したオープンソースのコンテナ オーケストレーションである Kubernetes を使用する方法です。

「Kubernetesは、VMを扱うだけよりもはるかに柔軟で高度な、プログラム可能なインフラストラクチャを提供します。同時に、オンプレミスでもクラウドでも実行できます。Kubernetesは、ステートレスアプリケーション向けのソリューションとして設計された初期段階と比べて、はるかに成熟し、データベースの実行能力が大幅に向上しました」とザイツェフ氏は述べた。

クラウドにおけるデータベースの選択肢が溢れる中、ベンダー各社がサーバーレスシステムの提供を開始しています。これは、バックエンドは独自仕様ですが、フロントエンドは共通データベースと互換性があります。例えば、CockroachDBとYugabyteはどちらもPostgreSQL互換のフロントエンドを備えたサーバーレスデータベースを提供しています。

6月に、CockroachのCEO兼共同創業者であるスペンサー・キンボール氏はThe Registerに対し、サーバーレスシステムをAzureに移植するのに5年かかり、異なるクラウドアーキテクチャの許容範囲と障害を理解するなど「かなりの作業量」だったと語った。

Yugabyte は PostgreSQL との 100 パーセントの互換性を主張しており、MariaDB も最近、分散型 MariaDB バックエンドに PostgreSQL 互換のフロントエンドを導入しましたが、Kimball 氏は CockroachDB は完全な PostgreSQL 互換性を備えているわけではないものの、その実現に近づいていると認めました。

しかし、ユーザーはサーバーレスデータベースの背後に何があるのか​​疑問に思うべきだとザイツェフ氏は述べた。「結局のところ、サーバーは存在するんですよね?ただ、料金がかからないだけで、サーバーで何が起こっているのかを意識するかどうかはユーザー次第です。」

サーバーレスへのアプローチの一つは、負荷に応じてインスタンスサイズをスケールアップまたはスケールダウンすることでした。もう一つのアプローチは、Google SpannerやCockroachDBでマルチテナントアプローチを提供することでした。

「彼らは異なる考え方を持っています。複数のテナントで共有される分散データベースです。このアプローチの利点は、すぐに使える容量がより多くあり、それを動的に共有できることです。より多くのリソースが必要になった場合、インスタンスサイズを再割り当てして起動する必要はありません」とザイツェフ氏は述べた。

汎用データベースの図

オープンソース データベース: オープンソース データベースとは何か、そしてなぜ重要なのか?

続きを読む

サーバーレスは、負荷が非常に不規則な場合に便利です。ユーザーは、システムが使用されていない間はシステムの稼働維持費を支払う必要はありません。一方、システムが頻繁に使用され、オペレーターがシステムの需要を把握・予測できる場合、価格面での価値は低下する可能性があると彼は述べています。

ガートナーは今年初め、DBMS 市場が 2022 年に 14.4% 成長して 910 億ドルに達し、クラウド プラットフォーム アズ ア サービス モデルがその利益のほぼすべてを獲得し、クラウド支出が 55% でオンプレミス支出の 45% を上回ったと発表しました。

ガートナーは2019年に、2022年までに全データベースの75%がクラウドプラットフォームに導入または移行されると予測していましたが、クラウドへの移行はそれよりも遅れています。ユーザーは、将来のデータベース戦略を決定するにあたり、利用可能な多くの選択肢をじっくり検討しているようです。®

Discover More