コンテナ用 AlloyDB Omni は、高度に最適化された自己管理型の PostgreSQL データベースとして機能し、 Google Cloudのパフォーマンスと AI 機能をローカルまたはプライベート クラウド インフラストラクチャに提供します。これにより、パブリック クラウドへの全面的なコミットメントを必要とせずに、柔軟性と強力な機能を利用できます。
コンテナ用 AlloyDB Omni のユースケース
コンテナ用 AlloyDB Omni は、次のユースケースに最適です。
- 単一インスタンス データベース: 単一インスタンス データベースのみが必要な場合。高可用性や障害復旧などの機能は必要ない。
- 開発とテスト: コンテナ用 AlloyDB Omni は、パフォーマンスを含め、ノートパソコンやテスト環境での AlloyDB Omni の設定に適している。
- Kubernetes 以外の環境: インフラストラクチャで Kubernetes を使用していない場合や、コンテナ オーケストレーターの複雑さが必要ない場合。
- オフラインでの運用: インターネットから切断されても動作し続ける必要があるアプリケーション向け。
- 低レイテンシの要件: 可能な限り迅速なレスポンス時間を確保するために、データベースをユーザーの地理的に近い場所に配置する必要がある場合。
主な機能とパフォーマンス
AlloyDB Omni は、PostgreSQL 互換のデータベース サーバーを提供します。AlloyDB AI のサポートが含まれており、運用データを使用してエンタープライズ グレードの生成 AI アプリケーションを作成し、 Google Cloud AI エコシステムに統合できます。
AlloyDB for PostgreSQL の主要な Autopilot 機能も備わっているため、AlloyDB Omni の自己管理と自己調整が可能です。これには自動メモリ管理機能が含まれ、メモリ消費量を継続的にモニタリングして最適化し、メモリ負荷に基づいて共有バッファ キャッシュのサイズを動的に調整します。デフォルトでは、システムメモリの 80% の上限が設定され、共有バッファ キャッシュに 10% が割り当てられます。もう 1 つの Autopilot 機能は適応型自動バキュームです。これは、データベースのワークロードを分析し、バキュームの頻度と強度を自動的に調整して、干渉なしでピーク時のパフォーマンスを維持します。また、インデックス アドバイザーは、頻繁に実行されるクエリを分析し、クエリのパフォーマンスを向上させる新しいインデックスを推奨します。
分析クエリを高速化するために、AlloyDB Omni にはカラム型エンジンが搭載されています。このエンジンは、頻繁にクエリされるデータをメモリ内にカラム型形式で保持し、ビジネス インテリジェンス、レポート、トランザクションと分析のハイブリッド処理(HTAP)のワークロードのパフォーマンスを大幅に向上させます。Google のパフォーマンス テストによると、標準の PostgreSQL と比較して AlloyDB Omni のトランザクション ワークロードは 2 倍以上高速で、分析クエリは最大 100 倍高速です。
仕組み
コンテナ用 AlloyDB Omni は、SSD ストレージと CPU あたり 8 GB 以上のメモリを搭載した Linux システムなど、独自の環境にインストールする Docker コンテナで実行されます。アプリケーションは、標準の PostgreSQL データベース サーバーと同じように AlloyDB Omni に接続して通信します。ユーザー アクセス制御は PostgreSQL 標準に基づいています。ロギングからカラム型エンジンまでのデータベース動作の構成は、データベース フラグによって管理されます。
コンテナ化されたディストリビューションには、透明性の高い依存関係の管理、環境間でのポータビリティ、セキュリティ分離、リソース管理、シームレスなパッチ適用とアップグレードなどのメリットがあります。
アーキテクチャ
コンテナ用の AlloyDB Omni は、AlloyDB for PostgreSQL の拡張機能を含む PostgreSQL コンポーネントと、専用の AlloyDB for PostgreSQL コンポーネントで構成されています。
- データベース エンジン: クライアントのクエリを実行可能なプランに変換し、必要なデータを見つけて、フィルタリング、並べ替え、集計を行い、結果を返します。優れたデータモデルとクエリ設計を重視し、最小限のリソースでクエリに応答することを目的としています。
- データ ストレージ: データは、基盤となるファイル システムの固定サイズのページに保存されます。AlloyDB Omni は、データにアクセスするときに最初にバッファプールをチェックします。見つからない場合は、ファイル システムから読み取ります。パフォーマンスを向上させるには、バッファプール サイズを最大化することが重要です。AlloyDB Omni は動的メモリ管理を使用することで、構成した境界内でバッファプールを動的に拡大 / 縮小できます。そのため、サイズを手動で調整する必要がありません。
- リソース管理: クエリ処理には、CPU、メモリ、I/O、ネットワーク、同期プリミティブが必要です。ボトルネックを回避するには、CPU 使用率(70% 程度の安定状態を目指す)と IOPS をモニタリングすることが重要です。バッファプール内のデータを最大化してストレージへの読み取りと書き込みを最小限に抑えると、IOPS の上限に達するのを防ぐことができます。
- AI / ML ワーカー: VM 環境では、AI / ML バックグラウンド ワーカーが、データベースから Vertex AI モデルを直接呼び出すために必要なすべての機能を提供し、
omni ml worker
プロセスとして実行されます。
データのバックアップと障害復旧
コンテナ用 AlloyDB Omni には継続的なバックアップと復元システムが備わっており、調整可能な保持期間内の任意の時点から新しいデータベース クラスタを作成できます。また、データベース クラスタのデータの完全なバックアップをオンデマンドで、またはスケジュールに基づいて作成して保存し、AlloyDB Omni クラスタへの復元を可能にします。
障害復旧のために、別のデータセンターにセカンダリ データベース クラスタを作成することで、クロスデータセンター レプリケーションを実現できます。AlloyDB Omni は、プライマリ クラスタからセカンダリ クラスタにデータを非同期でストリーミングします。必要に応じて、セカンダリ クラスタをプライマリにプロモートできます。
AlloyDB for PostgreSQL のフルマネージド スケーリング、セキュリティ、可用性機能にアップグレードするには、AlloyDB Omni データを AlloyDB for PostgreSQL クラスタに移行します。
次のステップ
- AlloyDB Omni のサブスクリプションを購入する。
- 標準の PostgreSQL に対する AlloyDB for PostgreSQL の追加機能について学習する。
- AlloyDB for PostgreSQL のダウンロード オプションまたはインストール オプションを選択する。
- AlloyDB Omni 可用性リファレンス アーキテクチャを選択する。
- AlloyDB Omni のインストールを計画する。