I have thousands of photos on my site (each with a numeric PhotoID) and I have EXIF data (photos can have different EXIF tags as well).
I want to be able to store the data effectively and search it.
Some photos have more EXIF data than others, some have the same, so on..
Basically, I want to be able to query say 'Select all photos that have a GPS location' or 'All photos with a specific camera'
I can't use MySQL (it won't scale well with the massive data size). I thought about Cassandra, but I don't think it lets me query on fields. I looked at SimpleDB, but I would rather: not pay for the system, and I want to be able to run more advanced queries on the data.
Also, I use PHP and Linux, so it would be awesome if it could interface nicely to PHP.
Edit: I would prefer to stick with some form of NoSQL database.
Any ideas?