2010-04-29 6 views
2

J'ai des milliers de photos sur mon site (chacune avec un PhotoID numérique) et j'ai des données EXIF ​​(les photos peuvent avoir des tags EXIF ​​différents aussi).Solutions de base de données pour stocker/rechercher des données EXIF ​​

Je souhaite être capable de stocker les données de manière efficace et de les rechercher.

Quelques photos ont plus de données EXIF ​​que d'autres, certains ont même, ainsi de suite ..

Fondamentalement, je veux pouvoir interroger dire « Sélectionner toutes les photos qui ont une position GPS » ou « Toutes les photos avec une caméra spécifique '

Je ne peux pas utiliser MySQL (il ne sera pas bien adapté à la taille des données). J'ai pensé à Cassandra, mais je ne pense pas que cela me permette d'interroger les champs. J'ai regardé SimpleDB, mais je préfère: ne pas payer pour le système, et je veux être en mesure d'exécuter des requêtes plus avancées sur les données.

De plus, j'utilise PHP et Linux, donc ce serait génial s'il pouvait bien s'interfacer avec PHP.

Modifier: Je préférerais m'en tenir à une forme de base de données NoSQL.

Des idées?

+4

Pourriez-vous préciser ce que sur MySQL ne fonctionne pas? – Zarigani

+0

Parce que les données sont massives, et j'ai besoin d'une solution qui peut bien évoluer. –

+1

MySQL est régulièrement utilisé pour interroger des millions d'enregistrements et des centaines de colonnes. En supposant que vous ne prévoyez pas de stocker l'ensemble du fichier image dans la base de données (vous pourriez, mais je ne le recommanderais certainement pas), MySQL ne devrait pas avoir de problèmes avec la quantité de données que vous regardez. – Zarigani

Répondre

1

Je serais probablement personnellement fidèle à MySQL, mais si vous cherchez un système de style NoSQL, vous pouvez regarder Solr. Cela permet des choses comme les recherches à facettes (par exemple, vous indique combien de vos résultats de recherche actuels correspondent à chaque résolution/format/etc et vous permet de restreindre votre recherche de cette façon).

+0

Solr est une idée intéressante. Je suppose que MySQL fonctionnerait aussi, mais je préférerais avoir des types de données pour certaines clés (plutôt que juste 'varchar' pour la clé et la valeur) –

+0

Le type de données commente-t-il MySql ou Solr? Si le premier, alors vous devez faire un peu plus [recherche] (http://dev.mysql.com/doc/refman/5.0/en/data-types.html). Si ce dernier, alors j'avoue ne pas connaître les détails de Solr, mais puisque le [tutorial] (http://lucene.apache.org/solr/tutorial.html#Faceted+Search) parle de recherches de gamme sur le prix, je ne peut que supposer que c'est le cas. – Zarigani

+0

Non, les types de données ne fonctionneront pas dans MySQL de cette façon, Puisque j'ai besoin (photoid, exifkey, exifvalue) je dois utiliser un type de données générique pour la valeur - sinon j'aurais beaucoup de colonnes nulles –

Questions connexes