Tuesday, April 24, 2007

Digg Talk

My good buddy and very smart individual Tim Ellis better known as Time, gave a talk on the site he help scale, digg.com.

Major technology used is

Memcache - used in a way to cache certain chunks of content.
mySQL - used for dynamic content
PHP to join the content in memory.


mySQL Portion:

- single master -> seperate searches out
-> primary pool
-> batch pool
-> dataware house pool

Sharding:

  • Table based - make slaves of certain tables

  • Date based - split data out by date

  • Range Base - split data out by a increment id

  • Hashed - split data out by a arbitrary column mod the number of servers

  • Partial Sharding - not clear what this is.


  • Basically the method is a partitioning + sharding method.

    2 comments:

    Anonymous said...

    Hey, any links to the presentation or more content?

    veganloveburger said...

    this was a great talk, and his comment on hacking the cacti database inspired me to try some new things with cacti before giving up on it!