Aurora DSQL 的並行控制 - Amazon Aurora DSQL

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

Aurora DSQL 的並行控制

並行功能可讓多個工作階段同時存取和修改資料,而不會影響資料完整性和一致性。Aurora DSQL 提供 PostgreSQL 相容性,同時實作現代、無需鎖定的並行控制機制。其可透過快照隔離來維持完整的 ACID 合規,以確保資料一致性和可靠性。

Aurora DSQL 的主要優點是無需鎖定架構,可消除常見的資料庫效能瓶頸。Aurora DSQL 可防止緩慢交易封鎖其他操作,並消除死結的風險。這種方法讓 Aurora DSQL 特別適合效能和可擴展性至關重要的高輸送量應用程式。

交易衝突

Aurora DSQL 使用開放式並行控制 (OCC),其運作方式與傳統的鎖定型系統不同。OCC 會評估遞交時的衝突,而不是使用鎖定。如果更新相同資料列時發生多個交易衝突,Aurora DSQL 會管理交易,如下所示:

  • Aurora DSQL 會處理遞交時間最早的交易。

  • 衝突的交易會收到 PostgreSQL 序列化錯誤,指出需要重試。

您可以設計應用程式,實作重試邏輯來處理衝突。理想設計模式為等冪,並盡可能讓交易重試成為優先求助方法。建議邏輯類似於,標準 PostgreSQL 鎖定逾時或死結情況下的中止和重試邏輯。不過,使用 OCC 時,您的應用程式必須更頻繁地執行此邏輯。

最佳化交易效能的指導方針

為了最佳化效能,請將單一索引鍵或小型索引鍵範圍上的激烈爭用性降至最低。若要達成此目標,請使用下列指導方針設計結構描述,將更新分散至叢集索引鍵範圍:

  • 為您的資料表選擇隨機主索引鍵。

  • 避免使用會提高單一索引鍵爭用性的模式。即使交易量增加,此方法也能確保最佳效能。