コンテンツに移動
データベース

スタートアップに適したデータベースの選択: AlloyDB と Spanner AlloyDB and Spanner databases for startups

2024年4月4日
Google Cloud Japan Team

※この投稿は米国時間 2024 年 3 月 23 日に、Google Cloud blog に投稿されたものの抄訳です。

今日の急速に変化するビジネス環境において、スタートアップは、自社のアプリのスケール、パフォーマンス、整合性を確保するためにクラウドの力を活用する必要があります。Google Cloud は、信頼性の高い PostgreSQL を実現する人気のクラウド データベースとして、SpannerAlloyDBCloud SQL の 3 つを提供しています。この記事では、AlloyDB と Spanner に焦点を当て、スタートアップがこれらを併用または個別に使用してインフラストラクチャの簡素化、運用コストの削減、パフォーマンスの最大化をどのように達成できるかに重点を置きながら、各データベースの機能と利点を見ていきます。

Spanner: スケーラブルなグローバル分散データベース

Video Thumbnail

Spanner は、リレーショナル ワークロードと非リレーショナル ワークロードの両方に適したフルマネージドのデータベースで、リージョンや大陸を越えて水平方向にスケールするよう設計されています。強整合性、高可用性、低レイテンシを兼ね備えており、高いスループットと迅速な応答時間が求められるミッションクリティカルなアプリケーションにとって理想的なソリューションです。

Spanner は PostgreSQL Interface を備えているため、スキーマやクエリを Google Cloud 内外の他の環境に移植できます。また、開発者はすでに習得しているツールや手法の多くを利用できるため、Spanner に移行する際の学習曲線が緩やかになります。

Spanner の主な特長の一つは、強力な ACID(不可分性、一貫性、独立性、永続性)トランザクションと使い慣れた SQL インターフェースを維持しながら複数のリージョンにわたってデータをレプリケートできることです。さらに、ダウンタイムなしのスキーマ変更、完全に自動化されたデータ レプリケーション、データの冗長化も可能です。そのため、デベロッパーは、データ整合性の問題、リージョン障害、計画的メンテナンスについて心配することなく、複数のリージョンの間でシームレスに動作するアプリケーションを構築できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Image1.max-700x700_NDKNCtS.png

Spanner が適しているケース

Spanner は、1 台のコンピューティング ノードの安価なスライス 1 つから数千台のノードまで自動的に水平スケーリングします(下記のグラフを参照)。そのため、スタートアップはワークロードの需要に応じてクエリやデータの容量を簡単に増減できます。ダウンタイムやその他の中断なしに弾力的にサイズを変更できるので、ワークロードに合わせて使用量をうまく調整できます。その結果、発生する料金は必要なリソースに対応する分のみとなり、費用の節約につながります。それに対して、旧式のスケールアップ データベースで容量を変更するには、通常次のステップが必要になります。1)新しいインフラストラクチャを立ち上げる、2)スキーマとすべてのデータを移行する、3)ダウンストリーム アプリケーションとの間でスケジュールを調整してビッグバン カットオーバーを行う。

Spanner では、読み取りと書き込みの容量をその場でダウンタイムなしに調整できます。組み込みのマネージド オートスケーラーが、CPU 使用率などのシグナルに基づいて容量を自動的に調整します。スケーリングは、小さなワークロード(0.1 ノードに相当する 100 処理ユニットと 400 GB のデータ)から、PB 規模のデータと 1 秒あたり数百万のクエリを処理する数千台のノードまで、線形に行われます。最近の改善により、ストレージ容量はノードあたり 10 TB に増加し、スループットは 50% 向上しました。たとえば、Niantic は Pokémon GO のトラフィックを処理するために 5,000 のノード インスタンスを実行しています。この弾力性は費用の節約とリスクの軽減につながり、スケーリングを保証します。起業したばかりでまだその規模に至っていなくても、Spanner を使用していれば、中断を伴う再構築なしに、Niantic や Gmail 規模のワークロードにまで成長できるという安心感が得られます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Image2.max-1200x1200.png

Spanner で小規模に始めて徐々に拡大する

AlloyDB: クラウドネイティブのマネージド PostgreSQL データベース

Video Thumbnail

Google Cloud AlloyDB for PostgreSQL は、1)トランザクション処理、2)分析処理、3)トランザクションと分析のハイブリッド処理(HTAP)を含む特に要求の厳しいワークロード向けに設計された、PostgreSQL 対応のフルマネージド データベース サービスです。

Google のパフォーマンス テストでは、AlloyDB による分析クエリの実行速度は標準的な PostgreSQL の最大 100 倍を記録しました。

AlloyDB は、アプリケーション開発を簡素化するために設計されたさまざまな機能も備えています。たとえば、標準の PostgreSQL 構文と拡張機能をサポートしており、クエリの記述やデータの操作が簡単です。他の重要な点として、AlloyDB は生成 AI アプリを開発する場合に適している可能性があります。その理由は、AlloyDB AI という、ベクトル、モデル、データを扱うための機能セットが組み込まれているためです。

AlloyDB ではカラム型エンジン用にカラム型ストレージが使用されており、これは分析クエリを高速化するよう設計されています。頻繁にクエリされるデータをメモリ内にカラム形式で保持することで、そのようなクエリのパフォーマンスを大幅に向上させます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Image3.max-700x700.png

行ベースとカラムベースの両方の形式を利用し、ワークロードに応じて動的に行われるインテリジェントなデータ編成。複数層のキャッシュによって優れたコスト パフォーマンスを確保します。

スタートアップに適したデータベースの選択

スタートアップに適したデータベースを選択する際は、考慮すべき要素がいくつかあります。何よりもまず、パフォーマンス、可用性、グローバルな整合性、スケーラビリティの観点から見たアプリケーションの要件を考慮する必要があります。開発するのは、数百万の同時ユーザーを想定したコンシューマ アプリですか?あるいは、リアルタイム分析に使用する企業向けアプリですか?各データベースにはそれぞれ独自の強みがあります。

機能

AlloyDB

Spanner

タイプ

クラウドネイティブのマネージド PostgreSQL データベース

スケーラブルなグローバル分散データベース

サポートされているエンジン

PostgreSQL

PostgreSQLGoogleSQL

セキュリティ

保存データと転送中データの暗号化

保存データと転送中データの暗号化

データ所在地

デフォルトは単一リージョン、マルチリージョンも使用可

デフォルトでマルチリージョンに対応

最適な用途

トランザクションと分析のハイブリッド ワークロード、AI アプリケーション

高いデータ整合性とグローバル リーチを持つミッションクリティカルなアプリ(複数のリージョンにわたるマルチライター)

Spanner は、高いスケーラビリティ、揺るぎない整合性、99.999% SLA 可用性が求められるミッションクリティカルなアプリケーションに最適です。スケーリングの制限を回避するためにシャーディングやアクティブ / アクティブ構成を評価するアプリケーションを構築しているチームでは、Spanner に組み込まれたハンズフリーのオペレーションが役立ちます。開発チームは、Spanner の使い慣れた SQL インターフェース(PostgreSQL 言語のサポートを含む)を使用して大規模なデータ処理をシームレスに行うことができます。これにより、ポータビリティと柔軟性が確保され、書き込みレートの高いスケーリング、グローバルな整合性、可変トラフィックへの適応性が要求されるユースケースが簡素なものになります。

AlloyDB は、高度な分析の組み込みサポートと完全な PostgreSQL 互換性を備えており、高パフォーマンスで信頼性の高いスケーラブルなデータベースを必要とするアプリケーションに適しています。AlloyDB は、データを複数の層(バッファ キャッシュ、超高速キャッシュ、ブロック ストレージなど)に自動的に配置し、クラスタあたり最大 64 TiB のデータをリアルタイムで処理できるため、リアルタイム分析アプリケーションに役立ちます。信頼性も高く、SLA 99.99% です(メンテナンスを含む)。

もう一つの検討対象として、Cloud SQL があります。これは、PostgreSQLMySQLSQL Server のエンジンが用意されたエンタープライズ向けのフルマネージド リレーショナル データベース サービスです。単純明快なユーザー インターフェースを備え、PostgreSQLMySQLSQL Server と簡単にやり取りできるようになじみ深い SQL インターフェースを搭載していることから、使い勝手がよく、ほんの数分でデータベースを稼働させることができます。

さらに、留意すべきもう一つの重要な要素として、チームの専門知識と各種データベース技術の習熟度が挙げられます。チームがすでにリレーショナル データベースと Google Cloud エコシステムに精通している場合は、Spanner の方が取り入れやすいでしょう。チームが PostgreSQL に慣れている場合は、AlloyDB の方が適しているかもしれません。

まとめ

結論として、Spanner AlloyDB という 2 つのパワフルなデータベースは、スタートアップにとってそれぞれ異なる利点や特長を持ち、ニーズに応じて併用または個別に使用できます。  

AlloyDB Spanner の併用によるダイナミックな連携は、Google のイノベーションに基づく高いパフォーマンスとスケーラビリティを実現し、レスポンシブなユーザー インタラクションと堅牢でスケーラブルなバックエンド機能を提供します。PostgreSQL Google Cloud を共通の基盤とすることで、両方のサービスをシームレスに共存させることができ、高いパフォーマンスと揺るぎない信頼性が求められるアプリケーションにとって、この組み合わせは心強い存在となります。たとえば、Character.ai は事業の中核にある 1 つのアプリで AlloyDB Spanner を次のように併用しています

  • インタラクティブなエクスペリエンスを強化するために AlloyDB を使用: AlloyDB はユーザーに面したフロントエンドで、迅速かつレスポンシブなインタラクションを支えるエンジンの役割を果たしています。その比類ないスピードとパフォーマンスは、AI モデルとやり取りする場合に特に重要となるスムーズで直感的なユーザー エクスペリエンスをもたらします。

  • 履歴とワークフローのバックボーンとして Spanner を使用: Spanner は舞台裏で、AI 統合に欠かせない完全な履歴とワークフローのデータを維持管理しています。その揺るぎないスケールと可用性は、負荷や複雑さにかかわらず、シームレスなデータ マネジメントを保証します。

Spanner AlloyDB はどちらも、広く利用されている PostgreSQL エコシステムの一員であり、一貫性のある統一された開発エクスペリエンスを提供します。そのため、開発者は既存のスキルや知識を活かして統合やワークフローを加速させることができます。さらに、Google Cloud Platform は両方のサービスのために堅牢で安全な環境を提供しており、シームレスなデータ マネジメントと運用効率を確保します。

-Google Cloud カスタマー エンジニア、Lea Ansorge

-Google Cloud テクニカル アカウント マネージャー、Lisa Ihde

投稿先