什么是最好的方式来存储EXIF数据从照片在数据库(MySQL在我的情况)。这是一个照片共享网站。什么是最重要的标签,什么是可丢弃的?
ifmq2ha21#
我们很难确定什么对您来说是重要的。一种方法是将所有属性存储在一个表中,该表的创建方式如下(近似SQL语法):
create table exif_info ( photo_id integer, name varchar, value varchar );
这个表中的每一行都将 one EXIF属性与 one photo关联起来,因此您需要一大堆行来保存一张照片的所有EXIF属性,但这正是关系数据库所擅长的。通过这种方式,您可以存储所有可用信息,而不必现在决定哪些信息以后可能会很重要。
whlutmcx2#
你的第二个问题...
皮卡萨
55ooxyrt3#
实际上,我建议将EXIF存储为一个blob(json?),因为生成EXIF的设备之间存在很大的差异。将其作为一个chuck来拉取,然后对其进行操作可能会更容易。如果这是一个照片共享网站,你可能也想存储IPTC信息,可能是以同样的方式。参见https://web.archive.org/web/20100728012813/http://bret.appspot.com/entry/how-friendfeed-uses-mysql
0h4hbjxa4#
EXIF是元数据。为什么不使用从头设计的数据格式来处理元数据呢?EXIF可以很容易地放入RDF中,RDF有大量的工具、库和存储选项。
4条答案
按热度按时间ifmq2ha21#
我们很难确定什么对您来说是重要的。一种方法是将所有属性存储在一个表中,该表的创建方式如下(近似SQL语法):
这个表中的每一行都将 one EXIF属性与 one photo关联起来,因此您需要一大堆行来保存一张照片的所有EXIF属性,但这正是关系数据库所擅长的。
通过这种方式,您可以存储所有可用信息,而不必现在决定哪些信息以后可能会很重要。
whlutmcx2#
你的第二个问题...
皮卡萨
网络相册
55ooxyrt3#
实际上,我建议将EXIF存储为一个blob(json?),因为生成EXIF的设备之间存在很大的差异。将其作为一个chuck来拉取,然后对其进行操作可能会更容易。
如果这是一个照片共享网站,你可能也想存储IPTC信息,可能是以同样的方式。
参见https://web.archive.org/web/20100728012813/http://bret.appspot.com/entry/how-friendfeed-uses-mysql
0h4hbjxa4#
EXIF是元数据。为什么不使用从头设计的数据格式来处理元数据呢?EXIF可以很容易地放入RDF中,RDF有大量的工具、库和存储选项。