【问题标题】:Database solutions for storing/searching EXIF data用于存储/搜索 EXIF 数据的数据库解决方案
【发布时间】:2010-04-29 03:22:06
【问题描述】:

我的网站上有数千张照片(每张都有一个数字 PhotoID)并且我有 EXIF 数据(照片也可以有不同的 EXIF 标签)。

我希望能够有效地存储数据并进行搜索。

有些照片的 EXIF 数据比其他照片多,有些则相同,依此类推..

基本上,我希望能够查询说“选择所有具有 GPS 位置的照片”或“使用特定相机的所有照片”

我不能使用 MySQL(它不能很好地适应海量数据大小)。我想到了 Cassandra,但我认为它不能让我查询字段。我查看了 SimpleDB,但我宁愿:不为系统付费,我希望能够对数据运行更高级的查询。

另外,我使用 PHP 和 Linux,所以如果它可以很好地与 PHP 接口,那就太棒了。

编辑:我更愿意坚持使用某种形式的 NoSQL 数据库。

有什么想法吗?

【问题讨论】:

  • 你能澄清一下 MySQL 不能工作的原因吗?
  • 因为数据海量,我需要一个可以很好扩展的解决方案。
  • MySQL 经常用于查询数百万条记录和数百列。假设您不打算将整个图像文件存储在数据库中(您可以,但我当然不会推荐它),MySQL 不应该对您正在查看的数据量有任何问题。
  • 我不存储图像数据......但 MySQL 似乎在某一时刻它会在负载下崩溃。

标签: php database database-design exif


【解决方案1】:

我也怀疑 MySql 会有任何负载问题,但是看看 CouchDB:

Apache CouchDB 是一个分布式、容错和无模式的面向文档的数据库,可通过 RESTful HTTP/JSON API 访问。

【讨论】:

    【解决方案2】:

    我个人可能会坚持使用 MySQL,但如果您正在寻找 NoSQL 风格的系统,您可能需要查看 Solr。这允许诸如分面搜索之类的事情(例如,告诉您当前的搜索结果中有多少适合每种分辨率/格式/等,并允许您以这种方式缩小搜索范围)。

    【讨论】:

    • Solr 是一个有趣的想法。我猜 MySQL 也可以工作,但我宁愿为某些键提供数据类型(而不是只为键和值使用 varchar
    • 数据类型评论是针对 MySql 还是 Solr?如果是前者,那么你需要多做一点research。如果是后者,那么我承认不知道 Solr 的详细信息,但由于 tutorial 谈到价格范围搜索,我只能假设它知道。
    • 不,数据类型不会在 MySQL 中那样工作,因为我需要 (photoid,exifkey,exifvalue) 我必须为值使用通用数据类型 - 否则我会有很多空列
    • 我想我会承认并尝试使用 mysql,但如果有一个更类型化的系统会很好
    • 好的,我更了解你现在在做什么,我知道你打算如何存储数据。出于兴趣,exif定义了多少个字段?维基百科的文章只讨论了大约 30 个,但没有说明这是否是一个完整的列表。如果有一个完整的、定义明确的列表,我会很想给每一个列,并接受你会有很多空值。如果列表不完整,那么是的,您可能会坚持使用键/值对方法。
    猜你喜欢
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多