Skip to content

Instantly share code, notes, and snippets.

@RahulJyala7
Created March 27, 2020 20:25
Show Gist options
  • Select an option

  • Save RahulJyala7/adb977c81c01fcc526b0820456cc8e59 to your computer and use it in GitHub Desktop.

Select an option

Save RahulJyala7/adb977c81c01fcc526b0820456cc8e59 to your computer and use it in GitHub Desktop.
Replication vs Partitioning vs Clustering vs Sharding
Replication - Copying an entire table or database onto multiple servers. Used for improving speed of access to reference records such as master data.
Partitioning - Splitting up a large monolithic database into multiple smaller databases based on data cohesion. Example - splitting a large ERP database into modular databases like accounts database, sales database, materials database etc.
Clustering - Using multiple application servers to access the same database. Used for computation intensive, parallelized, analytical applications that work on non volatile data.
Sharding - Splitting up a large table of data horizontally i.e. row-wise. A table containing 100s of millions of rows may be split into multiple tables containing 1 million rows each. Each of the tables resulting from the split will be placed into a separate database/server. Sharding is done to spread load and improve access speed. Facebook/twitter tables fit into this category.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment