sql >> データベース >  >> RDS >> PostgreSQL

複数のデータベースにわたるトランザクションを管理する方法

    CassandraとPostgreSQLはどちらも線形化可能性と比較設定(CAS)をサポートしているため、クライアント側でトランザクションを実装できます。

    シリアル化可能な分離レベルが必要な場合は、パーコレーターのトランザクション を確認する必要があります。 。 Percolatorのトランザクションは業界でよく知られており、Amazonので使用されています。 DynamoDBトランザクションライブラリCockroachDBデータベース そしてグーグルのペコレーターシステム自体で。 段階的な視覚化 パーコレーターのトランザクションの一部は、それを理解するのに役立つ場合があります。

    競合が予想され、Read Committed分離レベルに対処できる場合は、RAMPトランザクション ピーター・バイリスがあなたに合うかもしれません。また、ステップバイステップのRAMP視覚化 も作成しました。 。

    3番目のアプローチは、サガパターンとも呼ばれる補償トランザクションを使用することです。これは、80年代後半にSagas> 紙ですが、分散システムの台頭により、より現実的になりました。 Sagaパターンの適用 をご覧ください。 インスピレーションを得るために話します。




    1. 困惑するRuby/MySQLエラー:無効なパケット:シーケンス番号の不一致

    2. Oracleをphpに接続するようにOCI8をインストールして構成します

    3. プリペアドステートメントのプレースホルダーがサブクエリにある場合の「フィールドリスト」の不明な列

    4. 1行目の「■/」の近くにあるmysqldumpファイルERROR1064(42000)のインポート中