Database sharding — это стратегия горизонтального масштабирования, которая распределяет данные по нескольким независимым базам данных, каждая из которых называется шард. Каждый шард работает на своём собственном сервере и содержит отдельное подмножество данных.
Пример: Пользователи с ID 1–1M → Шард A, ID 1M–2M → Шард B
Table partitioning разбивает одну большую таблицу на более мелкие, удобные куски — но всё это находится в одном экземпляре базы данных. Это улучшает производительность запросов и обслуживание без использования нескольких серверов.
Пример: Таблица Orders разбита по годам → partition_2023, partition_2024
Основное различие — это область применения: partitioning — это оптимизация внутри базы данных, тогда как sharding — это стратегия распределения между базами данных. Sharding даёт бо́льшую масштабируемость, но привносит значительную архитектурную сложность, которой partitioning лишён.
Партиционирование таблиц требует нескольких независимых серверов баз данных, в то время как sharding работает в рамках одного экземпляра базы данных.
Новый — ещё не проверен сообществом
Вы