CassandraとPostgreSQLはどちらも線形化可能性と比較設定(CAS)をサポートしているため、クライアント側でトランザクションを実装できます。
シリアル化可能な分離レベルが必要な場合は、パーコレーターのトランザクション を確認する必要があります。 。 Percolatorのトランザクションは業界でよく知られており、Amazonので使用されています。 DynamoDBトランザクションライブラリ 、CockroachDBデータベース そしてグーグルのペコレーターシステム自体で。 段階的な視覚化 パーコレーターのトランザクションの一部は、それを理解するのに役立つ場合があります。
競合が予想され、Read Committed分離レベルに対処できる場合は、RAMPトランザクション ピーター・バイリスがあなたに合うかもしれません。また、ステップバイステップのRAMP視覚化 も作成しました。 。
3番目のアプローチは、サガパターンとも呼ばれる補償トランザクションを使用することです。これは、80年代後半にSagas> 紙ですが、分散システムの台頭により、より現実的になりました。 Sagaパターンの適用 をご覧ください。 インスピレーションを得るために話します。