本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 作業,將中斷降至最低。
-
座標目錄會隨著高度一致的分散式交易而變更。這可確保所有節點的原子可見度,即使在故障或並行作業期間也是如此。
-
使用分開的運算和儲存層,在多個可用區域中以完全分散式、無領導的方式操作。
如需在 PostgreSQL 中使用 EXPLAIN 命令的詳細資訊,請參閱 Aurora DSQL 的 DDL 和分散式交易。
-