AWS为非关联式资料库DynamoDB提供ACID交易功能

每日动态2021-02-26 10:03:19
最佳答案

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多种读写选项,能满足各种布图的应用程式需求。

免责声明:本文由用户上传,如有侵权请联系删除!