考虑一个分层文件系统,其中每个文件夹都维护一个版本历史(即名称和其他属性可能会更改)。我需要在其中实现这一点,MySQL 5.1
但未来的版本可能会移植到SQL Server 2012
.
我了解数据库中的树结构有多种选择:
这些技术之前已经在 StackOverflow 上讨论过。但是,我的问题为问题增加了另一个维度,因为我需要维护每个节点的历史记录。需要维护的数据可以看作是一个属性列表。例如姓名、日期、类型...
一些处所
- 该数据库预计将同时处理 5-10 个客户端。
- 该树预计将增长到 1000-5000 个父节点(具有任意数量的叶子)。
- 节点可以随时插入。
- 节点/叶子可能永远不会被更新或删除。Insted,维护版本历史。
- 不允许重组节点。(虽然,如果可能的话,这将是很好的!)
- 多个客户端可以同时添加/修改树节点。因此,客户端需要不断地重新读取树结构(不需要实时更新)。
- 重要性顺序:可追溯性(关键)、性能、可扩展性。
问:树结构及其版本控制节点数据的首选技术是什么?SQL 示例很受欢迎,但不是强制性的。