in reply to Automatically distributing and finding files in subdirectories
When we hit a similar problem at work what I did was implement a module that took a base directory name and created two layers of 00..ff subdirectories (so 00/00, 00/01, ..., ff/fe, ff/ff). It then had a function that would take a "path" and return a real OS path for that file generated by running the filename through Digest::MD5 and splitting off the first pairs of hex digits. So given the base directory /tmp/hashed, the file fooble would get located in /tmp/hashed/03/63/03638a39d7858a61a982a1f21b33c215.
All of your calls to open should pass through the hashing function, or you can make a hashed_open that you call instead. If that still leaves too many files in any one subdirectory (although it should split them so there's only 1/64k files in any one directory) you can add another layer of subdirs.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Automatically distributing and finding files in subdirectories
by graff (Chancellor) on Jul 19, 2006 at 02:02 UTC | |
by Fletch (Bishop) on Jul 19, 2006 at 02:54 UTC |