Azure Cosmos DB for PostgreSQL でのアプリケーション ワークロードの分類
適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)
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 桁ミリ秒であり、コンカレンシー要件は高水準です。
- モノのインターネットなどの時系列データ。
次のステップ
アプリケーションに最適なものを選択します。