Storing a LOT of strings / data?
I have been developing a sort of image browsing / managing program, for my some 10,000 photos I've taken over the years (I'm a semi-profressional photographer). Right now it uses folders as categories, I can move images from folder to folder, delete images, upload images in batches to the folders, a simple slide show, and some other simple functions.
The problem is, many images may fit into more than one category, or I want it to be in a category I don't have, but are too little images to be its own category. So my solution is a tag system, where an image will have several tags and can be searched for, but I don't know how to implement it. Storing several strings for 10,000 photos in a text file seems really inefficient to me; I don't want to have to wait forever for the application to store all the tags in arrays every time I start it up.
I'm fairly inexperienced with storing data like this, all the external data I've done has been stored in txt files, no more than 100 lines.
So how should I approach this? Whats the best way of externally storing thousands of strings?