»A shard is a piece of broken ceramic, glass, rock (or some other hard material) and is often sharp and dangerous. Sharding is the act of creating shards. Somehow, somewhere somebody decided that what they were doing was so cool that they had to make up a new term for what people have been doing for many many years. It is partitioning… sometimes that partitioning is proper federation. You don’t need a cool name to effectively accomplish what’s been around for a long time. Moreso, you don’t need a name that implies you broke something irreparably.«
Partitioning vs. Federation vs. Sharding – Theo Schlossnagle
(Sharding is an architectural strategy to horizontally split large datasets into smaller pieces in order to guarantee scalability)
Filed under Federation, Partitioning, Sharding & four comments & no trackbacks
Trackback specific URI for this entry
Björn Schotte says:
published on September 13th 2007, 09:20:20 pmHm, da scheiden sich wohl die Geister.
http://www.datacenterknowledge.com/archives/2007/Apr/27/database_sharding_helps_high-traffic_sites.html
"Sharding 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."
Mit dem MySQL Proxy könnte man vermutlich das Sharding erreichen, dh. das Distributieren der einzelnen Shards über mehrere Maschinen, sowie einem Dictionary, das anhand von Keys die Maschinen identifizieren kann.
Dazu evtl. noch
http://forums.mysql.com/read.php?106,149262,149262#msg-149262
und
http://forums.mysql.com/read.php?106,149262,154780#msg-154780
Reply
Björn Schotte reckons:
published on September 13th 2007, 09:30:34 pmNoch ein Nachtrag:
http://highscalability.com/there-difference-between-partitioning-and-federation-and-sharding
Alles also sehr ähnlich, ich denke der Satz "And partitioning is a more specific instance of the more more general (superordinate) category divide-and-conquer." beschreibt es am besten.
Reply
Lars Strojny returns:
published on September 14th 2007, 12:29:03 pmIch stimme schon zu, dass es sinnig ist, einen spezifischen Begriff für das Partitionieren von großen Datensätzen auf verschiedene Systeme zu prägen. Zugleich ist Sharding evtl. einfach der falsche Begriff :-)
Reply
Björn Schotte means:
published on September 14th 2007, 12:31:54 pmAber du musst zugeben, "Sharding" klingt doch einfach sexy ;-)
Reply