我正在开发基于 gnu tar 的 LTO 备份/恢复解决方案。我们要么将磁带保留在内部,要么客户可能从我们这里购买这些备份。因此,选择广泛可用且免费的解决方案,而不是特定的备份解决方案。由于我们不知道客户可能拥有哪种类型的备份解决方案。
要备份的数据很容易超过几百万个文件,我需要创建一个目录进行文件级恢复。此外,对于同一个项目,我们可以有多个备份集,跨越多年的工作(客户可能今年开始一个项目,需要备份,2 年后,回来做更多的工作。所以一个新的备份需要)
由于目录表将在短短几个月内变得非常大,因此我需要考虑如何管理此表。我认为分区可以帮助我解决这个问题。但是分区(或任何其他解决方案)不应基于日期,而应基于项目。恐怕随着时间的推移,分区的数量可能会成为一个问题。
数据库表结构是这样的:
- 项目(ID、名称等...)
- 工作(id、jobname、project_id 等...)
- 磁带(ID,条形码,...)
- job_tape_lnk(job_id,tape_id)
- 卷(id,卷名,tape_id)
- 目录(id,volume_id,文件名,....)
我想按项目对表目录进行分区。这可行吗?还是我需要寻找另一种结构化数据的方式?我可以使用 MySQL 或 PostgreSQL,但没有分区经验