If you only have 5,000 or so records ... and you have a specific way of searching for them "by name" (for example) ... then, you can easily build a folder structure, like you proposed ... and use javascript in a simple HTML page to find the results ...
Here's how you do it ...
Create a Javascript file that contains an object that has the name, and the path:
var database = { {name:'Zoul',path:'relative/path/to/image'},{name:'Deadeye','relative/path/to/image'}};
Then, simply use generic javascript functionality to search through this ... as this search will most likely be time consuming (depending on the computer ... 5000 iterations could take 2 seconds, could take 45 seconds ... ) ... you'll want to handle it properly, and only search through a few at a time, using a setTimeout ... just keep track of the last record you search (using a numeric indexing) and every 100 or so records ... stop searching, remember the last record, set a timeout for like 100ms ... and keep searching ... and just keep updating the UI to let the user know 'the search is currently in progress' ...
This does NOT require a database, a database would be the preferred way to pull this off ... but if the requirement is beyond the scope of your target audience ... then you don't NEED one.
A good example of a javascript indexed system is Garage Game's documentation for the Torque Game Builder, which you can download a free 30-day trial of on there website (
Game Development Tools And Software :. GarageGames) -- the documentation is extremely thorough and contains a ton of stuff, and it even includes a simple, yet elegant 'find' feature ... every word on every web page is indexed and stored in one large massive javascript file ...
Yes, this requires you to load a large javascript file into memory ... but, seriously ... loading MDAC or Access into memory isnt any better (memory wise) ...
So ... if you have any more questions related to this, just let me know ... but, don't feel like you NEED a database, it's easy enough to implement a simple Hash style db client-side with javascript ...
Heck, if you use something like jQuery or whatever ... you can even store the database as a hidden TABLE in the HTML and just look through it with jQuery ... or, use XmlHttpRequest and the built-in DOM features to sift through some XML format with X-Path or XQuery ...
Lots of options, all can be done with plain HTML and Javascript ...
-- David