DynamoDB, Cosmos DB, Firestoreって同じようなものだと思ってたけど、トランザクションについては結構違う。

Cosmos DBが1番制約がきつくて、Firestoreが1番リッチ。DynamoDBはその中間。

Cosmos DB: 指定したパーティションキーを持つ複数のレコードの読み書きをまとめて指定できるのみ。条件は基本的にETagのみ。PATCH操作のみ複雑な条件がつけられる。

DynamoDB: 任意の複数レコードの読み取りや任意の複数レコードの書き込みをまとめて指定できる。条件は複雑なものが指定できる。

Firestore: 悲観的ロックを伴うトランザクションが利用できる。ただし書き込み操作の前に読み取り操作を全て済ませる必要がある。REST APIはトランザクション開始、読み取り、コミット、ロールバックがあり、コミット時に書き込み操作をまとめて指定する。

Reply to this note

Please Login to reply.

Discussion

No replies yet.