

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

# Aurora DSQL 和 PostgreSQL
<a name="working-with"></a>

Aurora DSQL 是與 PostgreSQL 相容的分散式關聯式資料庫，專為交易工作負載而設計。Aurora DSQL 使用核心 PostgreSQL 元件，例如解析器、規劃器、最佳化工具和類型系統。

Aurora DSQL 設計確保所有支援的 PostgreSQL 語法提供相容的行為，並產生相同的查詢結果。例如，Aurora DSQL 提供類型轉換、算術運算，以及與 PostgreSQL 相同的數值精確度和小數位數。系統會記錄任何偏差。

Aurora DSQL 也導入進階功能，例如開放式並行控制和分散式結構描述管理。透過這些功能，您可以使用 PostgreSQL 的熟悉工具，同時受益於現代、雲端原生、分散式應用程式的效能和可擴展性。

## PostgreSQL 相容性重點
<a name="dsql-pg-overview-compat"></a>

Aurora DSQL 目前是以 PostgreSQL 第 16 版為基礎。重點包括下列項目：

**有線通訊協定**  
Aurora DSQL 使用標準 PostgreSQL v3 線路通訊協定。因此可以整合標準 PostgreSQL 用戶端、驅動程式和工具。例如，Aurora DSQL 與 `psql`、`pgjdbc` 和 `psycopg` 相容。

**SQL 語法**  
Aurora DSQL 支援交易工作負載中常用的各種標準 PostgreSQL 運算式和函數。支援的 SQL 運算式會產生與 PostgreSQL 相同的結果，包括下列項目：  
+ 處理 null
+ 排序訂單行為
+ 數值運算的小數位數和精確度
+ 字串運算的等效性
如需詳細資訊，請參閱[Aurora DSQL 中的 SQL 功能相容性](working-with-postgresql-compatibility.md)。

**交易管理**  
Aurora DSQL 會保留 PostgreSQL 的主要特性，例如 ACID 交易和相當於 PostgreSQL 可重複讀取的隔離層級。如需詳細資訊，請參閱[Aurora DSQL 的並行控制](working-with-concurrency-control.md)。

## 分散式架構優點
<a name="dsql-pg-overview-arch"></a>

Aurora DSQL 的分散式、共用物件設計可提供超越傳統單一節點資料庫的效能和可擴展性優勢。主要功能包括下列項目：

**開放式並行存取控制 (OCC)**  
Aurora DSQL 使用開放式並行存取控制模型。這種無鎖定方法可防止交易彼此封鎖、消除死結，並啟用高輸送量平行執行。這些功能使 Aurora DSQL 特別適用於需要大規模一致效能的應用程式。如需更多範例，請參閱 [Aurora DSQL 的並行控制](working-with-concurrency-control.md)。

**非同步 DDL 作業**  
Aurora DSQL 會以非同步方式執行 DDL 作業，確保在結構描述變更期間不間斷的讀取和寫入。其分散式架構可讓 Aurora DSQL 執行下列動作：  
+ 以背景任務執行 DDL 作業，將中斷降至最低。
+ 座標目錄會隨著高度一致的分散式交易而變更。這可確保所有節點的原子可見度，即使在故障或並行作業期間也是如此。
+ 使用分開的運算和儲存層，在多個可用區域中以完全分散式、無領導的方式操作。
如需在 PostgreSQL 中使用 EXPLAIN 命令的詳細資訊，請參閱 [Aurora DSQL 的 DDL 和分散式交易](working-with-ddl.md)。