给定一个具有相关元数据的文件集合,建议使用哪些存储该元数据的方法?

有些文件格式支持在内部存储元数据(EXIF,ID3等),但并非所有文件格式都支持这种格式,那么还有哪些更通用的选项呢?

一些元数据几乎可以肯定是唯一的(标题/描述/等),而另一些元数据则在不同程度上具有重复性(类别/标签/等)。
如果需要不同类型的属性,则对元数据进行分组也可能很有用。

理想情况下,解决方案应涵盖概念,而不是特定的语言实现。

最佳答案

将元数据存储在数据库中有一些优点,但是数据库的主要问题是元数据没有直接连接到您的数据。如果metada保留数据-例如目录中的特殊文件或类似的文件,则更健壮。

某些文件系统提供了可用于元数据的特殊功能,例如NTFS Alternate streams。不幸的是,这只能用于特殊情况下的元数据存储,因为在将数据复制到不支持它的存储系统时,这些流很容易丢失。我相信linux文件系统也具有类似的存储机制。

无论如何,最常见的解决方案是:

  • 单独的隐藏文件(每个目录),用于保存元数据
  • 一些应用程序使用特殊的隐藏目录和元数据(如subversion,cvs等)。
  • 数据库(各种类型),用于所有特定于应用程序的元数据-在大多数情况下,该数据库也可用于缓存目的

  • IMO没有通用解决方案。我会选择使用数据库来将元数据存储在隐藏文件中(稳健性),以实现快速访问和缓存。

    关于file - 用于存储与单个文件关联的元数据的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/524302/

    10-11 02:38
    查看更多