chiming in a few months late...

from my experience, and responding to some thoughts in the thread:

- storing photos in mysql/pgsql is not a good idea. aside from misc issues that always arise, you end up stressing the db through searches - the better way would be to store photo meta-data in the system, and then search for that to serve. its a much leaner search and faster/more lightweight.

        -we played around with a lot of things

        -- mogilefs
--- i think flickr also used pre-yahoo. someone mentioned a flickrbook, there is also a powerpoint from about 1year after they launched

        -- directory hashing
--- create an md5 and store in db; store on filesystem as ab/cd/ef/ gh/abcdefg + suffix ( [original,-thumb ,-medium].jpg ) ---- use rewrite rules on nginx to loadbalance across cluster by bucket and serve

-- i didn't like perlbal, but it can do some neat in-time bitshifting on gifs to change the color palatte

-- the BEST solution we found and upgraded to was.. Amazon s3 + Panther Express. this is before amazon offered cdn services --- store files on amazon -- originals in private bucket, copies in public buckets --- serve files from panther, which was a kickass cdn. they cache everything in their network , which offsets instabilities from amazon --- don't worry about disk usage, clustering, load balancing, BACKUP, and miscellaneous stuff designed around images --- migrating to that setup took us 2 days... and it was a better performer than 3 months of code and constant maintenance




Reply via email to