Here is what I want to do:

I have many resources ranging in size from a couple hundred bytes to a few kB. Writing one chunk is not out of the question. But they do have attributes it'd be nice to store in subitems. However since I only need the sub attributes when i need the large resource chunk, it's not unreasonable to decode these from the larger chunk, as I have a file format set up that does this anyway(there are too many files for a directory to hold).

So, the question is, should I use a database, or regular file I/O with indexs and such?