共用方式為


判斷適用於 Azure Cosmos DB for PostgreSQL 的應用程式類型

適用於: Azure Cosmos DB for PostgreSQL (由 Citus 資料庫延伸模組支援 PostgreSQL)

在叢集上執行有效率的查詢,需要在伺服器之間正確地散發資料表。 建議的散發會因應用程式類型及其查詢模式而有所不同。

有兩種應用程式可在 Azure Cosmos DB for PostgreSQL 上運作良好。 資料庫模型化的第一步,就是要找出哪種應用程式與您的應用程式較為類似。

速覽

多租用戶應用程式 即時應用程式
結構描述中時而數十或數以百計的資料表 少量資料表
每次僅與單一租用戶 (公司/商店) 相關的查詢 利用彙總而相對簡單的分析查詢
為 Web 用戶端提供服務的 OLTP 工作負載 大量內嵌大部分的不可變資料
為每個租用戶分析查詢提供服務的 OLAP 工作負載 通常集中在事件的大型資料表

範例和特性

多租用戶應用程式

這些通常是為其他公司、帳戶或組織提供服務的 SaaS 應用程式。 大部分的 SaaS 應用程式原本就是關聯式應用程式。 它們具有跨節點散發資料的自然維度:只依 tenant_id 分區。

Azure Cosmos DB for PostgreSQL 可讓您將資料庫擴增至數百萬個租用戶,而不必重新設計應用程式的架構。 您可以保留所需的關聯語意,例如聯結、外部索引鍵條件約束、交易、ACID 和一致性。

  • 範例:裝載其他商務店面的網站,例如數位行銷解決方案或銷售自動化工具。
  • 特性:與單一租用戶相關的查詢,而非在租用戶之間聯結資訊。 這包括為 Web 用戶端提供服務的 OLTP 工作負載,以及為每一租用戶分析查詢提供服務的 OLAP 工作負載。 在資料庫結構描述中具有數十或數百個資料表也是多租用戶資料模型的指標。

使用 Azure Cosmos DB for PostgreSQL 調整多租用戶應用程式,也需要對應用程式程式碼進行最低限度的變更。 我們支援 Ruby on Rails 和 Django 等熱門架構。

即時分析

需要大量平行處理原則的應用程式,其會協調數百個核心,以取得數值、統計或計算查詢的快速結果。 透過對橫跨多個節點的 SQL 查詢進行分區化和平行化,Azure Cosmos DB for PostgreSQL 可讓您在不到一秒之間對數十億筆記錄執行即時查詢。

即時分析資料模型中的資料表通常是由資料行散發,例如 user_id、host_id 或 device_id。

  • 範例:需要不到一秒回應時間的客戶面向分析儀表板。
  • 特性:少數資料表通常以裝置、網站或使用者事件的大型資料表為中心,而且需要大量內嵌大部分不可變的資料。 相對簡單 (但計算密集) 且涉及數個彙總和 GROUP BY 的分析查詢。

如果您的情況與上述任一案例類似,則下一個步驟便是決定如何在叢集中將您的資料分區。 資料庫管理員選擇的散發資料行必須符合一般查詢的存取模式,才能確保效能。

下一步