Ivan Dedov
Ozon
Sharding is an architectural pattern used to horizontally scale databases. This pattern is often used in high-load systems with large amounts of data in order to improve their fault tolerance and reliability. However, database sharding is not simple to implement in practice — it comes with a lot of strings attached.
In the first part of the talk, we will take a look at one possible way of working with sharded PostgreSQL clusters using C#. After that, we will create a step-by-step guide to sharding databases based on three real-life cases. In each of the three situations we will discuss the context of the problem at hand, the methods that have been used to solve it, the limitations of these solutions, and the results that have been achieved. And lastly, the third situation will demonstrate how a sequence of tiny errors and oversights can break the production environment, which will help us understand what to avoid when sharding a database.
The goal of this talk is to expand the audience's knowledge of database sharding, to show the benefits, drawbacks and limitations of this architectural pattern, and to teach listeners how to determine the applicability of database sharding in their own systems.
Ozon