了解分散式關聯式資料庫

適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)

Azure Cosmos DB 是全域分散式資料庫平台,適用於任何規模的 NoSQL 和關聯式資料庫。 本文探討 Azure Cosmos DB 關聯式 API 選項內容中的分散式關聯式資料庫。

如需 Azure 中其他資料儲存體選項的詳細資訊,請參閱在 Azure 架構中心選擇正確的資料存放區

挑戰

許多時候,當您讀取大量或高交易式工作負載時,很容易認為這些工作負載會比應用程式可能面對的工作負載都大得多。 假設您的工作負載可能是專案、想法或組織開始時的安全假設,保持在小型的工作負載。 不過,該假設可能快速導致出一種情節,就是您應用程式的工作負載增長遠遠超出您的預測。 經常聽到工作負載為了滿足單一執行個體資料庫的最大輸送量或處理效能,在專案的開始階段能夠既經濟又符合效率。

關聯式資料庫

關聯式資料庫將資料組織成資料表 (資料列/資料行)格式,並在資料庫中的不同資料表之間建立關聯性。 關聯式資料庫在各種企業中很常見。 這些企業通常擁有大量軟體開發人員,他們針對關聯式資料庫撰寫程式碼,或設計架構和管理關聯式資料庫平台的系統管理員。 關聯資料庫通常也支援具有 ACID 保證的交易。

可惜的是,許多關聯式資料庫系統一開始是由組織以單一節點方式設定,並受到計算、記憶體和網路資源的上限條件限制。 此內容可能會導致一種不正確的假設,即所有關聯式資料庫都是單一節點,雖然其本質是單一節點。

分散式資料庫

許多雲端原生白皮書,通常會聽到 NoSQL 資料庫的優點,使得關聯式資料庫似乎並非大型資料庫或分散式工作負載的理想選擇。 雖然許多 分散式資料庫 都是非關聯式資料庫,但分散式關聯式資料庫工作負載也有這些選項。

分散式關聯式資料庫的許多選項都需要組織從專案開始為大規模和分散式進行規劃。 此規劃需求會在項目開始時顯著增加複雜度,確保您的小組已設定、管理和維護所有關聯的伺服器節點。 全域分散式關聯式資料庫的規劃、實作和網路需求,很容易會增長為比站立單一執行個體 (或節點) 更為複雜。

Azure Cosmos DB

Azure Cosmos DB 是一種資料庫平台,可提供 NoSQL 和關聯式變體中的分散式資料 API。 具體而言,適用於 Azure Cosmos DB 的關聯式 API 是以 PostgreSQLCitus 擴充功能為基礎

Citus 是 PostgreSQL 擴充功能,可新增對 Postgres 的支援,以分散資料和交易。 Azure Cosmos DB for PostgreSQL 是一項完全受控的服務,使用 Citus 會自動為您提供高可用性,而無需手動規劃、管理和維護個別伺服器節點。 透過適用於 PostgreSQL 的 API,您可以從完全受控的單一節點叢集開始,建置您的資料庫解決方案,然後在應用程式隨著時間成長時以周全的方式調整。 有了適用於 PostgreSQL 的 API,就不需要事先規劃複雜的分散式專案,也不需要規劃專案,即可將資料從單一節點順著移轉至的分散式資料庫。

下一步

是否想要開始使用 Azure Cosmos DB?