Spanner: DMLトランザクションの累積ミューテーショ... ノート

Spanner: DMLトランザクションの累積ミューテーション制限の削除

Google Cloud Spanner、グローバルに一貫性のあるリレーショナルデータベースは、より大きく複雑な操作のためのトランザクション処理を更新しました。以前は、Spanner はトランザクションの変更を合計 80,000 の「ミューテーションモッド」に制限していました。行数に列数を掛け、インデックスを加えた値として計算されるこの制限は、進化するアプリケーションによって到達される可能性がありました。新しい柔軟性により、この 80,000 ミューテーションモッドの制限は、トランザクション全体から個々のデータ操作言語 (DML) ステートメントに移行しました。これは、各ステートメントが独自の 80,000 モッド制限を遵守する限り、単一のトランザクションに複数の DML ステートメントを含めることができることを意味します。これにより、開発者はビジネス要件によって DML ステートメントを論理的にグループ化でき、人工的な分割が不要になります。この変更は既存の Spanner クライアントライブラリと後方互換性があり、アプリケーションコードの更新は不要です。ただし、開発者は、より大きなトランザクションはロックをより長く保持し、アボートを増加させる可能性があることに注意する必要があります。80,000 モッド制限は DML ステートメントに個別に適用されますが、Mutation API を使用した単一のコミット呼び出しにおけるミューテーションのセット全体には引き続き適用されます。開発者は、CommitStatsmutation_count を介して合計モッドを監視できます。80,000 モッドを超える単一の DML ステートメントは引き続きエラーとなり、バイトサイズなどの他のトランザクション制限は有効なままです。ベストプラクティスには、CommitStats の監視と大規模な操作の最適化が含まれます。Spanner は、スケーラブルで常時稼働する運用アプリケーションにとって信頼性の高い選択肢であり、現在、開発者向けの柔軟性が向上しています。