This is a follow up article by Cory Isaacson to the first article on DbShards, Product: dbShards - Share Nothing. Shard Everything , describing some of the details about how DbShards works on the inside.
The dbShards architecture is a true "shared nothing" implementation of Database Sharding. The high-level view of dbShards is shown here:
The above diagram shows how dbShards works for achieving massive database scalability across multiple database servers, using …
Sharding is a client-side affair — that is, the database server doesn't do it for you. In this kind of environment, when you access data, the data access layer uses consistent hashing to determine which machine in the cluster a specific piece of data should be written to (or read from). Adding capacity to (or alleviating "hot spots" from) a sharded system is a process of manually rebalancing the data across the cluster. So, while it's possible to add capacity to …
Many Percona employees will be at the 2010 MySQL conference . We'll be giving a lot of informative technical talks on various topics. Here's a list:
Morgan Tocker, Baron Schwartz: Diagnosing and Fixing MySQL Performance Problems
Peter Zaitsev: Scaling Applications with Caching, Sharding and Replication
Baron Schwartz: EXPLAIN Demystified
Vadim Tkachenko: An Overview of Flash Storage for Databases
entity_153460 …
( Database) Sharding, or horizontal partitioning, generally refers to splitting up a dataset in order to ease read/write operations on the data. A lot of large websites such as Digg and Facebook employ sharding techniques with all the ( UG)content they acquired over the years.
The advantage of splitting up the data into shards is that the total number of rows in a table on one shard is lower which means that index size is smaller and all the operations you run on it also tend to get faster. …
Sharding is handled by a number of mongos instances which are connected to the shards which in turn are all known to a number of mongod config server instances. These can run on the same machines as the data-handling mongod instances, with the risk that when the servers go down they also disappear. Having backup services seems to be appropriate in this scenario.
Sharding is still in alpha, e.g. currently replicated shards aren't supported in alpha 2, so a reliable sharding setup is currently …
Morgan Tocker has an awesome article and comment thread in the MySQL Performance Blog about When should you store serialized objects in the database? Before the NoSQL age is was very common to simulate schemalessness by storing blobs in MySQL . Sharding was implemented by running multiple MySQL instances and spreading writes across them. While not ideal for the purpose, developers felt comfortable with MySQL . They knew how to install it, back it up, replicate …