AlloyDB Omni for Containers は、高度に最適化された自己管理型の PostgreSQL データベースとして機能し、 Google Cloudのパフォーマンスと AI 機能をローカルまたはプライベート クラウド インフラストラクチャに提供します。これにより、パブリック クラウドへの完全なコミットメントを必要とせずに、柔軟性と強力な機能を利用できます。
コンテナ用 AlloyDB Omni のユースケース
コンテナ用 AlloyDB Omni は、次のユースケースに最適です。
- 単一インスタンス データベース: 単一インスタンス データベースのみが必要な場合。高可用性や障害復旧などの機能は必要ない。
- 開発とテスト: AlloyDB Omni for Containers は、パフォーマンスを含め、ノートパソコンやテスト環境で AlloyDB Omni を設定するのに適しています。
- 非 Kubernetes 環境: インフラストラクチャで Kubernetes を使用していない場合や、コンテナ オーケストレーターの複雑さが必要ない場合。
- オフライン オペレーション: インターネットから切断されても動作し続ける必要があるアプリケーション。
- 低レイテンシの要件: 可能な限り迅速なレスポンス時間を確保するために、データベースをユーザーの地理的に近い場所に配置する必要がある場合。
主な機能とパフォーマンス
AlloyDB Omni は、PostgreSQL 互換のデータベース サーバーを提供します。AlloyDB AI のサポートが含まれており、運用データを使用してエンタープライズ グレードの生成 AI アプリケーションを作成し、 Google Cloud AI エコシステムに統合できます。
AlloyDB for PostgreSQL の主要な Autopilot 機能も備わっているため、AlloyDB Omni の自己管理と自己チューニングが可能です。これには、メモリ使用量を継続的にモニタリングして最適化し、メモリ プレッシャーに基づいて共有バッファ キャッシュのサイズを動的に調整する自動メモリ管理が含まれます。デフォルトでは、システムメモリの 80% の上限を設定し、共有バッファ キャッシュに 10% を割り当てます。もう 1 つの自動パイロット機能は適応型自動バキュームです。これは、データベースのワークロードを分析し、バキュームの頻度と強度を自動的に調整して、干渉なしでピーク パフォーマンスを維持します。インデックス アドバイザーは、頻繁に実行されるクエリを分析し、クエリのパフォーマンスを向上させる新しいインデックスを推奨します。
分析クエリを高速化するために、AlloyDB Omni にはカラム型エンジンが搭載されています。このエンジンは、頻繁にクエリされるデータをインメモリ カラム型形式で保持し、ビジネス インテリジェンス、レポート、トランザクションと分析のハイブリッド処理(HTAP)のワークロードのパフォーマンスを大幅に向上させます。Google のパフォーマンス テストによると、AlloyDB Omni のトランザクション ワークロードは標準の PostgreSQL よりも 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 のインストールを計画する。