各フォルダがバージョン履歴を保持する階層ファイル システムを検討してください(つまり、名前と追加のプロパティが変更される可能性があります)。これを に実装する必要がありMySQL 5.1
ますが、将来のバージョンは に移植される可能性がありますSQL Server 2012
。
データベースのツリー構造にはいくつかのオプションがあることを理解しています。
これらの手法は、以前に StackOverflow で説明されています。ただし、各ノードの履歴を維持する必要があるため、私の問題は問題に別の側面を追加します。維持する必要があるデータは、プロパティのリストとして見ることができます。例: 名前、日付、種類...
一部の敷地
- データベースは、5 ~ 10 の同時クライアントを処理することが期待されています。
- ツリーは、1000 ~ 5000 個の親ノード (葉の数は任意) まで成長すると予想されます。
- ノードはいつでも挿入できます。
- ノード/リーフが更新または削除されることはありません。代わりに、バージョン履歴が維持されます。
- ノードの再編成は許可されていません。(ただし、可能であれば、これがあればいいのですが!)
- 複数のクライアントが同時にツリー ノードを追加/変更する場合があります。したがって、クライアントはツリー構造を継続的に再読み取りする必要があります (リアルタイムの更新は必要ありません)。
- 重要度: トレーサビリティ (重要)、パフォーマンス、スケーラビリティ。
Q: ツリー構造とそのバージョン管理されたノード データに最適な手法は何ですか? SQL サンプルは歓迎されますが、必須ではありません。