AWS的DynamoDB現在原生支援交易處理,推出Amazon DynamoDB Transactions功能。由於開發人員時常需要跨一個或是多個資料庫表格,執行多重或是全有全無(All-or-Nothing)商業邏輯,而這可能增加實作上的複雜性,Amazon DynamoDB Transactions原生支援交易特性,讓這些使用案例更容易建構在DynamoDB之上。

Amazon DynamoDB Transactions可以為開發人員在個別帳戶或是區域,對單一或是多個資料庫表格提供原子性、一致性、隔離性和持久性(ACID)交易。開發者可以在建構協調插入、刪除或是更新到多個項目的應用程式時,使用交易特性作為單一業務邏輯操作的一部分。AWS提到,DynamoDB是目前唯一支援多分區和資料庫交易的非關聯式資料庫。

交易功能將讓DynamoDB有能力應付要求更高的工作負載,包括金融交易、管理訂單、建構多人遊戲引擎或是協調分散式元件和服務。DynamoDB加入了兩個新操作以處理交易,分別為TransactWriteItems和TransactGetItems。TransactWriteItems為包含寫入集(Write Set)的批次處理操作,具有一個或是多個PutItem、UpdateItem,和DeleteItem操作,TransactWriteItems可以選擇在進行更新之前,必須要滿足的先決條件,這些條件可能牽涉寫入集中相同或不同的項目,不符合條件則拒絕交易。

第二個新操作則是TransactGetItems,包含讀取集(Read Set)的批次處理操作,具有一個或多個GetItem操作。當TransactGetItems對已經起動寫入交易的項目發出讀取請求,則讀取交易取消,要獲取之前提交的值,則可以使用標準讀取。

每一筆交易最多可以包含10個唯一項目或是至多4MB的資料。交易功能提供了DynamoDB多種讀寫選項,能滿足各種布圖的應用程式需求。


Advertisement

更多 iThome相關內容