While we don't store as many images as you are talking about (usually around the 20K+ mark), we have 12TB of info that we deal with on a regular basis. Our scheme for keeping track of these images is splitting accross the different archives (RAID partitions) which are used as seperate directories, all linked to one central directory. From there we give each separate image a unique 10 character image code and use that as the name of the sub-directory. The image is then stored within that sub-directory. All of this is kept track of in an Oracle database.

In the *nix world it would look something like this:

/base_dir/images_archive1/<10_digit_unique_id>/image/<image_name>

Now this is a very simplified version of how our archive is set up, but it does work fairly well. I think that the major player here is the database keeping everything straight. The previous solutions using the 10K per archive sounds like a good cutoff point to me, also. I know using to many image sub-directories will probably cause you problems.

I know that this is not a Perl solution, but maybe it helps in some little way.

Paulster2


In reply to Re: Need directory scheme to store 400,000 images by Paulster2
in thread Need directory scheme to store 400,000 images by markjugg

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.