2番目の考慮事項は、ベースラインが適用されたドキュメントのアクティブなドキュメントまたはフォルダに関連付けられたテーブルデータのコピーを作成し、安全な保管のために保管してください。コードの複雑さの節約は膨大なものになりますが、ストレージの使用量には影響はありますが、スキーマはよりシンプルに保たれます(ただし、それほど大きくないとは思えません)リレーショナルデータベースでバージョン管理されたテーブルのコピーを保守するためのインテリジェントな方法(プログラミングに関する考慮事項)
1
A
答えて
3
これは私も同様です現在のプロジェクトでいくつかの良い答えhere。
私は個人的にオプション#1を使用して、各「バージョン管理」テーブルのpkeyにバージョン列を追加しています。 FKeysはバージョン列も使用します。私の主な考慮事項は、ストレージ要件が高いため、クエリの容易さでした。私は周りのバージョンの数を厳密に制限する余裕があり、その問題を緩和します。
1
私は本当にあなたがtemporal databaseを探していると思います。私たち自身の実装では、テーブルに「IDの作成」と「IDの削除」という一対の監査ログ識別子が追加されました(データベースを変更したすべてのトランザクションは「監査ログ」に要約され、テーブルにレコードを追加したトランザクションごとに、監査ログ識別子が作成IDとして使用され、削除IDはゼロでした。レコードが変更されたとき、新しいバージョンに新しい作成IDが割り当てられ、同じIDが古いバージョンの削除IDとして使用されました。
削除IDがゼロのテーブルのビューを作成して、現在のデータのみの仮想テーブルを作成するのはかなり簡単でした。また、特定のトランザクションが処理される直前または直後のテーブルの内容を検索したり、テーブルの特定の行を変更したトランザクションのリストを取得したりすることもできます。
時間、スペース、および複雑さのペナルティがありますすべてこれのために。しかし、私たちのために、大金を扱うなら、それはそれに値するものでした。
関連する問題
- 1. 管理されていない管理オプション:パフォーマンスに関する考慮事項
- 2. ClickOnceデプロイされたアプリケーションのプリズムアーキテクチャに関する考慮事項
- 3. パフォーマンスに関する考慮事項のためのJavadocタグ
- 4. setuidラッパーに関する考慮事項
- 5. パラレル化に関する考慮事項
- 6. Javaポータルアーキテクチャーに関する考慮事項
- 7. ウェブサイトの再設計のためのSEO /ページランクに関する考慮事項
- 8. 公開されたASP.NETアプリケーションのセキュリティに関する考慮事項
- 9. NUI/touchインターフェイスに関する一般的な考慮事項
- 10. データをONEファイルまたはMULTIPLEに保存する際の考慮事項
- 11. 難読化されたNuGetパッケージと配備の考慮事項
- 12. OOGenericsのデザインに関する考慮事項
- 13. 大容量データのログに関する考慮事項
- 14. 長期実行PHPスクリプトのメモリに関する考慮事項
- 15. Django QuerySetとraw SQLのパフォーマンスに関する考慮事項
- 16. ASP.NET Core WebAPIのセキュリティに関する考慮事項
- 17. マルチサーバー展開のASP.netソリューションに関する考慮事項
- 18. JQuery Datatablesと.NET WebAPIのパフォーマンスに関する考慮事項
- 19. JDBCとJavaのキャッシュに関する考慮事項
- 20. トラフィックが多いASP.NET MVCのコーディングに関する考慮事項
- 21. SharePoint 2003から2007へのアップグレードに関する考慮事項
- 22. スマートクライアントアプリケーションの同期フレームワークに関する考慮事項
- 23. XSLTのパフォーマンスに関する考慮事項
- 24. client_idのOAuth2セキュリティに関する考慮事項
- 25. SQL Azureのパフォーマンスに関する考慮事項
- 26. Rackspace:SQL Serverの最大サーバーメモリに関する考慮事項
- 27. MySQLのメモリに関する考慮事項
- 28. Windows Azureでnode.jsアプリケーションを開発するための移植性と柔軟性に関する考慮事項?
- 29. 迅速なプロトコルでのhashValueのパフォーマンスに関する考慮事項Hashable
- 30. CSS3移行パフォーマンスに関する考慮事項