我想为文件存储一些与应用程序相关的元数据,而 NTFS 备用数据流 (AltDS) 将允许我将此元数据直接存储在文件中,而不是存储在单独的数据库中。
我只是觉得这不是一个好主意。我知道这仅适用于 NTFS,但至少如果用户将文件复制/移动到非 NTFS 驱动器,他们会收到来自 Windows 的警告(是的,是的,我知道没有人阅读警告)-
而且,在文件上存储额外的数据可能会变得非常浪费,因为即使我的应用程序被卸载,AltDS 也会保留。就像十年前,人们在卸载程序后使用“注册表清理器”从注册表中删除无用的条目以使他们的系统运行得更快(并且当清理器清理太多时稳定性会降低......)。
我只是想知道它们可以合理地用于什么?它们是否应该完全留给 Microsoft Apps 使用?或者是否有某种共同的政策,哪些类型的应用程序可以使用它们(恶意软件除外)?
编辑:只是为了澄清我的想法。我正处于为自己编写一个小型文档管理系统的早期阶段。因为我想自由移动文件,所以我想在文件上存储元数据,这样如果我移动/重命名/修改它们,我的应用程序仍然可以识别它们。它可以是整个元数据,也可以只是与单独数据库一起使用的 GUID。
总结给出的要点:
优点:
- 元数据随文件移动,因此无需通过散列或文件名识别它
- 适用于所有文件类型,甚至是无法在文件本身中存储任何数据的 .txt 文件
缺点:
- 仅适用于 NTFS,在未来的 Windows 版本中可能不是默认文件系统
- 尽管如果 MS 在将 WinFS 放在一起时不会自动转换它们,我会感到惊讶
- 即使我的应用程序被卸载,AltDS 仍然存在
- 隐私问题
- 脆弱的
- 大多数 USB 记忆棒都是 FAT32。许多私有文件服务器都是 Linux。从 Internet 下载文件应该只传输文件而不是流。简而言之:失去它们相当容易。