5

JavaSpringアプリケーションのAWSDynamoDBでマルチオペレーションアップデートのトランザクション性を有効にするための最も適切な方法は何でしょうか?

AWSのDynamoDBは、行ごとの更新でのみアトミックです。セカンダリインデックスを個別のテーブルとして維持する必要があるため、メインテーブルに「メイン」行を挿入してから、セカンダリインデックステーブルに行を挿入します。2番目の挿入が失敗した場合、データの一貫性を保つために、最初の挿入を「ロールバック」したいと思います。DynamoDBには、トランザクションまたはロールバックのネイティブサポートはありません。

HibernateなどのJPAデータソースを操作するときにSpringトランザクションマネージャーを使用することはよく知っていますが、独自のトランザクション管理コードを実装するための最良のアプローチが何であるかはわかりません。

4

1 に答える 1

3

同様の要件があります。私たちが採用しているのは「多言語」アプローチです。つまり、メイン テーブルであるトランザクション部分をリレーショナル データベースに保持します。トランザクションがメイン テーブルでコミットされた後にのみ、DynamoDB のセカンダリ インデックスを更新します。

于 2012-10-30T17:57:07.517 に答える