I've 1000's of photos on my small site (each having a number PhotoID) and that i have EXIF data (photos might have different EXIF tags too).

I wish to have the ability to keep data effectively and check it.

Several photos convey more EXIF data than the others, some have a similar, the like..

Essentially, I wish to have the ability to query say 'Select all photos which have a Gps navigation location' or 'All photos having a specific camera'

I can not use MySQL (it will not scale well using the massive data size). I figured about Cassandra, however i don't believe it allows me query on fields. I checked out SimpleDB, however i prefer to: never pay for that system, and I wish to have the ability to run more complex queries around the data.

Also, I personally use PHP and Linux, so it might be awesome whether it could interface nicely to PHP.

Edit: I would rather stick to some type of NoSQL database.

Any ideas?

I additionally doubt that MySql might have any load problems, but take a look at CouchDB:

Apache CouchDB is really a distributed, fault-tolerant and schema-free document-oriented database accessible using a Peaceful HTTP/JSON API.

I'd most likely personally stay with MySQL, but when you're searching for a NoSQL style system you might like to consider Solr. That enables such things as faceted searches (e.g. informs you the number of of the current google listing squeeze into each resolution / format / etc and allows you narrow your research this way).