本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora DSQL 和 PostgreSQL
Aurora DSQL 是 PostgreSQL 相容的分散式關聯式資料庫,專為交易工作負載而設計。Aurora DSQL 使用核心 PostgreSQL 元件,例如剖析器、規劃器、最佳化器和類型系統。
Aurora DSQL 設計確保所有支援的 PostgreSQL 語法提供相容的行為,並產生相同的查詢結果。例如,Aurora DSQL 提供類型轉換、算術運算,以及與 PostgreSQL 相同的數值精確度和比例。會記錄任何偏差。
Aurora DSQL 也引進進階功能,例如樂觀並行控制和分散式結構描述管理。透過這些功能,您可以使用熟悉的 PostgreSQL 工具,同時受益於現代、雲端原生、分散式應用程式所需的效能和可擴展性。
PostgreSQL 相容性重點
Aurora DSQL 目前是以 PostgreSQL 第 16 版為基礎。金鑰相容性包括下列項目:
- 線路通訊協定
-
Aurora DSQL 使用標準 PostgreSQL v3 線路通訊協定。這可讓 與標準 PostgreSQL 用戶端、驅動程式和工具整合。例如,Aurora DSQL 與
psql
、pgjdbc
和 相容psycopg
。 - SQL 相容性
-
Aurora DSQL 支援交易工作負載中常用的各種標準 PostgreSQL 表達式和函數。支援的 SQL 表達式會產生與 PostgreSQL 相同的結果,包括下列項目:
-
處理 null
-
排序順序行為
-
數值操作的規模和精確度
-
字串操作的等效性
如需詳細資訊,請參閱Aurora DSQL 中的 SQL 功能相容性。
-
- 交易管理
-
Aurora DSQL 會保留 PostgreSQL 的主要特性,例如 ACID 交易和相當於 PostgreSQL 可重複讀取的隔離層級。如需詳細資訊,請參閱Aurora DSQL 中的並行控制。
關鍵架構差異
Aurora DSQL 的分散式共用物件設計會產生與傳統 PostgreSQL 的一些基本差異。這些差異是 Aurora DSQL 架構不可或缺的一部分,並提供許多效能和可擴展性優勢。主要差異包括下列項目:
- 樂觀並行控制 (OCC)
-
Aurora DSQL 使用樂觀並行控制模型。這種無鎖定方法可防止交易彼此封鎖、消除死結,並啟用高輸送量平行執行。這些功能使得 Aurora DSQL 對於需要大規模一致效能的應用程式特別重要。如需更多範例,請參閱 Aurora DSQL 中的並行控制。
- 非同步 DDL 操作
-
Aurora DSQL 會以非同步方式執行 DDL 操作,在結構描述變更期間允許不間斷的讀取和寫入。其分散式架構可讓 Aurora DSQL 執行下列動作:
-
將 DDL 操作作為背景任務執行,將中斷降至最低。
-
協調目錄會隨著高度一致的分散式交易而變更。這可確保所有節點的原子可見性,即使在故障或並行操作期間也是如此。
-
使用解耦運算和儲存層,在多個可用區域中以完全分散式、無領導的方式操作。
如需詳細資訊,請參閱Aurora DSQL 中的 DDL 和分散式交易。
-