PolarDB-X 1.0 は、分散トランザクションの原子性および一貫性を保証するため、2 フェーズ・コミット(2PC)を採用しています。
仕組み
2PC では、各分散トランザクションが以下の 2 つの順次実行されるフェーズに分割されます:
準備フェーズ — 各データノード(ApsaraDB RDS for MySQL インスタンス)が、トランザクションのコミットに必要なすべてのリソース(リソースのロックおよびログ記録を含む)を確保します。
コミットフェーズ — 全データノードが準備フェーズを正常に完了した後、トランザクションマネージャーとして機能する PolarDB-X 1.0 サーバーが、各データノードに対してコミットリクエストを送信します。その後、各ノードがそれぞれのトランザクション部分をコミットします。