Шардирование vs партиционирование?

Middle
1.3k просмотров
AFK Offer AI

Партиционирование — разбиение таблицы на части внутри одной БД. Бывает горизонтальное (по строкам, например по дате) и вертикальное (по колонкам).

Шардирование — горизонтальное партиционирование, но данные разносятся по разным серверам/инстансам БД. Ключевое отличие: партиционирование — одна нода, шардирование — несколько нод.

Шардирование даёт горизонтальное масштабирование, но усложняет JOIN-ы между шардами, транзакции и миграции. Выбор ключа шардирования критичен — плохой ключ приведёт к hot spots.

Следующий вопрос

Как работает оператор select?