As people learned that handling 20000 music files in a hierarchical filesystem is not a practical solution, music player were developed which do search for all mp3 files in a filesystem, read the metadata of all found music files and store the data in its own database.
The content of the database is presented in lists which can be FILTERED.
Rhythmbox is an example of such a multidiaplayer.
So music-players are a good example of how to handle a large number of files without a directory structure: by defining FILTERS
But the handling and definition of FILTERS in Rhythmbox could be improved.