Created
March 27, 2020 20:25
-
-
Save RahulJyala7/adb977c81c01fcc526b0820456cc8e59 to your computer and use it in GitHub Desktop.
Replication vs Partitioning vs Clustering vs Sharding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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