Aurora DSQL 和 PostgreSQL - Amazon Aurora DSQL

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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 與 psqlpgjdbcpsycopg 相容。

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 和分散式交易