digital-garden/Партиционирование в БД.md

1.6 KiB
Raw Blame History

aliases tags date zero-link parents linked
зрелость/🌱
2024-06-20
00 Базы Данных
00 HighLoad
Шардирование в БД
  • Берем данные и разделяем по какому-то признаку
  • Разделенные данные физически лежат отдельно. Разные таблицы
  • Но все данные остаются в пределах одного сервера.

Минусы:

  • Некоторые запросы могут замедлиться. Кросс-партиционные запросы.
  • Так как данные лежат на одном сервере, то если уперлись в производительность диска, партиционирование не поможет.
  • Кажется перестройка партиций дорогостоящая операция.

Плюсы:

  • Простая реализация. Разработчик продолжает обращаться к таблице, а СУБД понимает в какую партицию ей стоит идти.
  • Некоторые типы запросов может ускорить за счет уменьшения объема данных в партиции.

Основные типы разделения:

  • key. По ключу
  • range. По диапазону
  • list. По списку
  • hash. По хэш значению поля

Пример создания в PostgreSQL:

Пример создания в MySQL: