Introduction to Database Sharding

Use database sharding to improve the performance of your system

Séverin Bruhat
The Tech Collective

--

Image generated with Microsoft Copilot

Non-members can read the full article here.

The need for sharding

All of our data has historically been combined into a single Relational Database Management System (RDBMS). To keep things organised, normalisation breaks down large amounts of data into separate tables. These tables are then linked together using unique identifiers called foreign keys.

You are probably familiar with the general layout: tables, rows, columns, and all. Everything is incredibly organised and effective — that is until your data size increases significantly.

As data volume increases, traditional databases reach their limit. Your discs panic, CPUs stutter, and memory runs out. You end up throwing expensive hardware at the problem, and even then, it might not be enough.

The process of sharding consists of dividing big tables into horizontal data divisions, or shards, and spreading them among many database servers. By distributing the data load and lowering the possibility of bottlenecks, this procedure can assist in overcoming the drawbacks of conventional database systems.

Sharding techniques

--

--

Séverin Bruhat
The Tech Collective

Software Engineering Manager (Scotland, UK). Writing about team management, leadership and software engineering.