私はすべてのSOの質問、コーディングホラーの記事を読み、管理データをリビジョン管理するための最良の方法を探すために頭を悩ませました。それらはすべて機能し、ユースケースなどに基づいて適切な実装があります。私が本当に知りたいのは、なぜデータベースがデータレベルでのリビジョンをネイティブにサポートするように作成されていないのかということです。
私が困惑しているのは、APIがすでにトランザクションで実際に配置されていることです。トランザクションを開始し、一部のデータを変更して、コミットします。私たちはデータベースに対しても認証を行っているので、責任があります。私の会社は、タグに相当する会計目的で、データベース全体の月末バージョンを保存しています。これはRCSを悲鳴を上げませんか?
分岐は、データよりもスキーマに関して、データベースが非常に恩恵を受ける可能性があるものです。私は本当にデータだけを気にしているので、これは実装の難しさを大幅に増加させるので、タグとコミットだけに固執します。
データベースは非常にタイムクリティカルなアプリケーションであることがわかったので、不要なオーバーヘッドはすべて無視され、一部のデータベースは壮大なレベルで巨大であり、リビジョンはそのサイズを指数化するだけです。テーブルごとのオプトインリビジョン管理は、間違いなく、ミリ秒の余裕があり、データ履歴がある程度重要である中小規模の環境に適しています。コミット、ログ、復帰、差分、非難、タグ、チェックアウトが必要です。MF-ingリビジョン管理が必要です。
どこかに質問があります...