Shared nothing scales, who would have thought??

Ok, so I am being sarcastic, something that does not come across very well on a stream of bits and bytes so merits an explanation.

This post on the database column blog concludes that a shared-nothing architecture is the way to go if you want to scale a database.

The pithy paragraph reads as follows:

Shared-nothing scales the best

In a shared-nothing approach, by contrast, each processor has its own set of disks. Data is “horizontally partitioned” across nodes. Each node has a subset of the rows from each table in the database. Each node is then responsible for processing only the rows on its own disks. Such architectures are especially well suited to the star schema queries present in data warehouse workloads, as only a very limited amount of communication bandwidth is required to join one or more (typically small) dimension tables with the (typically much larger) fact table.

In addition, every node maintains its own lock table and buffer pool, eliminating the need for complicated locking and software or hardware consistency mechanisms. Because shared nothing does not typically have nearly as severe bus or resource contention as shared-memory or shared-disk machines, shared nothing can be made to scale to hundreds or even thousands of machines. Because of this, it is generally regarded as the best-scaling architecture.

In all fairness, the article looks at the native capabilities of the database management system only. They don’t point out that you can segment your data before it hits the database management system, thereby allowing your system to scale even if the DBMS does not support that natively.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: