Important
Azure Cosmos DB for PostgreSQL は、新しいプロジェクトではサポートされなくなりました。 このサービスは、新しいプロジェクトには使用しないでください。 代わりに、次の 2 つのサービスのいずれかを使用します。
Azure Cosmos DB for NoSQL は、99.999% 可用性サービス レベル アグリーメント (SLA)、インスタント 自動スケール、および複数のリージョン間の自動フェールオーバーを使用する 大規模 なシナリオ向けに設計された分散データベース ソリューションに使用します。
オープンソースの Citus 拡張機能を使用して、シャード化された PostgreSQL 用の Azure Database For PostgreSQL のエラスティック クラスター機能 を使用します。
Azure Cosmos DB for PostgreSQL に最適なワークロードの一般的な特性について説明します。
必須コンポーネント
この記事では、スケーリングの基本的な概念を理解していることを前提としています。 理解が不足している場合は、基本概念に関する記事を先にお読みください。
マルチテナント SaaS の特性
- テナントは独自のデータを参照します。他のテナントのデータは参照できません。
- ほとんどの B2B SaaS アプリはマルチテナントです。 例としては、Salesforce や Shopify があります。
- ほとんどの B2B SaaS アプリでは、数百から数万のテナントが加盟しており、テナントはさらに増え続けています。
- マルチテナント SaaS アプリの主な機能は運用とトランザクションであり、データベース クエリの待機時間の要件は 1 桁ミリ秒です。
- これらのアプリでは従来型のリレーショナル データ モデルを採用し、RoR、Hibernate、Django などの ORM を使用して構築されます。
リアルタイム運用分析の特性
- これらのアプリでは、顧客またはユーザーが対話形式で分析ダッシュボードを操作し、クエリの待機時間の要件は 1 秒未満です。
- 高いコンカレンシー (最低でも 20 ユーザー) が必要です。
- 過去 1 秒以内から数分以内の最新データを分析します。
- イベント、ログなどの時系列データがあることがほとんどです。
- これらのアプリでの一般的なデータ モデルには、次のものがあります。
- スター スキーマ - いくつかの大きなテーブル (ファクト テーブル) があり、残りは小さなテーブル (ディメンション テーブル)
- ほとんどの場合、メジャー テーブルは 20 個未満
高スループット トランザクション型の特性
- NoSQL/ドキュメント スタイルのワークロードを実行しますが、トランザクション、外部/主キー、トリガー、PostGIS などの拡張機能のような PostgreSQL 機能が必要です。
- ワークロードは 1 つのキーに基づきます。 CRUD とそのキーに基づく検索があります。
- これらのアプリには、数千から数十万 TPS という高水準のスループット要件があります。
- クエリの待機時間は 1 桁ミリ秒であり、コンカレンシー要件は高水準です。
- モノのインターネットなどの時系列データ。
次のステップ
アプリケーションに最適なものを選択します。