RE: OT - RE: [PHP] scalable web gallery

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

 



> -----Original Message-----
> From: Robert Cummings [mailto:robert@xxxxxxxxxxxxx]
> Sent: Thursday, July 10, 2008 11:31 PM
> To: Boyd, Todd M.
> Cc: php-general@xxxxxxxxxxxxx
> Subject: RE:  OT - RE: [PHP] scalable web gallery
> 
> On Thu, 2008-07-10 at 12:06 -0500, Boyd, Todd M. wrote:
> > > -----Original Message-----
> > > From: Robert Cummings [mailto:robert@xxxxxxxxxxxxx]
> > > Sent: Thursday, July 10, 2008 11:24 AM
> > > To: Boyd, Todd M.
> > > Cc: Daniel Brown; php-general@xxxxxxxxxxxxx
> > > Subject: Re:  OT - RE: [PHP] scalable web gallery
> > >
> > > On Thu, 2008-07-10 at 10:18 -0500, Boyd, Todd M. wrote:
> > > > > -----Original Message-----
> > > > > From: Daniel Brown [mailto:parasane@xxxxxxxxx]
> > > > > Sent: Thursday, July 10, 2008 9:42 AM
> > > > > To: paragasu
> > > > > Cc: php-general@xxxxxxxxxxxxx
> > > > > Subject: Re:  scalable web gallery
> > > >
> > > > ---8<--- snip
> > > >
> > > > >     And for the record, in the "olden days," there was a limit
> of
> > > > > about 2048 files per directory, back when no one thought there
> > > would
> > > > > ever be a need for nearly that many files.  Then, with
improved
> > > > > filesystems, the limit was rumored to be another magic number:
> > > 65535.
> > > > > That depended on the operating system, filesystem, and the
> kernel.
> > > I
> > > > > think (but don't quote me on this) that BeOS had the 65535
> limit.
> > > > >
> > > > >     Now, on an ext3 filesystem (we're not counting ReiserFS
> > because
> > > > > (1) I was never a fan, and (2) he might kill me if I say
> something
> > > > > bad!  8^O) you're okay with hundreds of thousands of files per
> > > > > directory.  ls'ing will be a bit of a pain in the ass, and if
> > > you're
> > > > > in Bash, you probably don't want to double-TAB the directory,
> but
> > > all
> > > > > in all, you'll be okay.
> > > > >
> > > > >     Still, I'd create 16 subdirectories under the images
> > directory:
> > > > > 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f.  Then name the file as an MD5
> > hash
> > > of
> > > > > the image uploaded, and place it in the directory matching the
> > > first
> > > > > character of the new file name.
> > > >
> > > > Aren't directory structures in Windows (>2.x) and even DOS
(>4.x)
> > > built
> > > > with B-Trees? I wouldn't figure there would be any kind of
> > > > limit--excepting memory, of course--to how many files or
> > > subdirectories
> > > > can be linked to a single node.
> > > >
> > > > Been a while since I've played with those underlying data
> structures
> > > we
> > > > all take for granted, though, so maybe I'm way off base.
> > >
> > > They may all be B-Trees but the storage mechanism often differs
> > between
> > > one filesystem and another. FAT16 and FAT32 both suffered from
> > > limitations on the number of files that could exist in a
directory.
> > > Actually, I may be wrong about FAT32, but I do know for certain it
> had
> > > massive slowdown if it hit some magic number.
> >
> > tedd also sent me an e-mail that sparked a memory of mine... the
> > b-trees, regardless of their efficiency, still assign each dir/file
> > INode an identifying number. This number, obviously, can only get so
> > large in the context of one b-tree object (i.e., a directory).
> >
> > In spite of this mental exercise, I do *NOT* miss my Data Structures
> &
> > Algorithms class. :)
> 
> Really? That along with distributed computing, and parallel computing
> were my favourites... and here I am programming for the Web... I guess
> it's distributed ;)

Don't get me wrong--I enjoyed the class very much. I had never seen
sorting algorithms outside of the Bubble Sort, so learning Pivot, Shell,
etc. was quite a blast. Self-balancing data trees and such were a real
eye-opener as to the power of data structures, too.

I'm just... glad I don't have to learn it all over again in a classroom
environment. :)

Haven't taken a distributed computing class just yet, but I've still got
a bit until I graduate, and these elective credits are burning a hole in
my pocket...


Todd Boyd
Web Programmer




-- 
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