Labels: Application Scalability, Database Sharding, Scalability Architecture
Database Sharding Blog
Wednesday, September 26, 2007
Google Scalability Presentation
Thursday, September 20, 2007
Database Sharding at Digg
The other atypical feature of Digg’s setup is its use of what Tim Ellis, another Digg engineer, calls “sharding”.
A term apparently coined by Google engineers, sharding involves breaking a database into smaller parts in order to isolate heavy loads for better performance.
“If 90% of your data is within a certain range, and you can get that part working really fast, then you can help customers,” Ellis said. “Then it’s OK if the remaining 10% is slower.”
A database can be sharded by table, date or range. It is similar to partitioning, says Ellis, but with several key differences. Sharding usually involves divvying up data onto different physical machines. Partitioning, in contrast, typically occurs on the same piece of hardware. And while MySQL does not natively allow sharding, it does support partitioned tables, federated tables and clusters.
Digg only recently began sharding. While sharding is helping Digg.com achieve much faster performance overall, breaking a database into several smaller ones increases complexity, Ellis said.
Labels: Database Sharding
Saturday, September 15, 2007
Database Sharding at Friendster and Flickr
Pattishall won the 2004 MySQL Application of the Year Award for Friendster and 2005 MySQL Application of the Year Award for Flickr.
Labels: Database Sharding

