Re: scalable web gallery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 8:51 AM +0800 7/12/08, paragasu wrote:
> Why not use a hash table based upon the name of the file and distribute files that way?

sorry tedd, i don't really get it. but i am interested to know more
about the hash table concept.
can you explain a little bit more..

paragasu:

A hash table is simply a result from an algorithm where you take the name of the file and produce a number from it. It can be any computation you want that produces a number -- such as just totalling the number of letters in the name.

For example, tedd.gif would compute to 4, whereas Rob.gif would be a meager 3, and Daniel.gif would be a six (which is probably over-rated for him anyway). :-)

Now, just use our respective number for storage in directories -- tedd.gif would be stored in directory 4, Ron.gif would be stored in directory 3, and Daniel.gif in directory 6.

If you store the names of the files in a database, then you don't need to store the paths as well because the paths can be computed from the file names -- do you see?

Also, you don't need to create a directory until there's actually a need for one.

This is old logic for creating memory structures where we weren't forced to allocate memory beforehand -- it's like a large array with holes in it. It's kind of slick when you can apply it to other stuff.

Now, the example I gave was pretty simple. However, a good hash algorithm is one that distributes things evenly, and that's a bit more complicated -- I'll leave that for another time.

<now returning you to your normal television viewing pleasure>  :-)

Cheers,

tedd

--
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux