Return to Digital Photography Articles

Keywords within Database or Images?

Most photo catalog programs rely on a centralized database that stores the links between each individual image and the categories within which it has been assigned. This offers the benefit of fast searching on keywords and easy maintenance. A completely different approach is one that relies on each individual image containing a list of the assigned categories, with no need for a centralized database.

Comparison of Methodologies

Location of Tag Data
Within central database Stored within each image
Open architecture
Defines ease of moving from one catalog program to another
No. Database usually proprietary Yes. Tags are easily extracted.
Speed of locating photos within a category
Fast. The database can be queried for all entries that contain that tag. Then, the paths to each matching photo can be recalled. Slow. The program must walk through all directories to locate each image, then process the image-based tags and check for match. Then, the next file is searched. Note that it is FAR slower to walk through seperate files than it is to walk through multiple entries within a single database file.
Ease of renaming a category

Simple. All databases contain a lookup table that matches a numerical code to a particular category name. Each entry in the image database then contains a list of the codes corresponding to the categories that the photo is assigned to. Thus, the name of a particular keyword or category only appears once in your entire system -- the category lookup table.

Show example of category lookup table and photos with lookup indices

For example, let's assume that 30 images in the database have been assigned to the category UncleBob. One day you realize that UncleBob is actually UncleRob and he hates being called Bob. So, you decide to update your database to reflect his correct name. All you need to do is simply select the category and rename it. Behind the scenes, all the computer has to do is find the entry in the category lookup table and change code 132 from UncleBob to UncleRob. Now, whenever you click on one of his photos, the computer looks up code 132 in the lookup table and then displays UncleRob.

Very difficult. As the category name itself is stored with each file, there is no centralized means of making updates. Taking the prior example, one would have to find every file that has been tagged with UncleBob (which in itself involves opening up all files in all folders). Then, if it is a match, it rewrites the Keywords field of the image file with UncleRob

Doesn't work for offline photos! Will get out of sync!


Reader's Comments:

Please leave your comments or suggestions below!
 Hi, I agree with Shelley. Thanks, this is really great stuff. The differences between database and image based information has really been confusing me, this makes it all clear. Thank you!

 Thanks you so much for explaining all this stuff. I can now select a photo manager with confidence.


Leave a comment or suggestion for this page:

(Never Shown - Optional)