Skip to main content

Чим партиціонування відрізняється від шардування?

Партиціонування і шардування схожі за ідеєю - в обох випадках великі дані діляться на частини. Але ключова відмінність у тому, де й навіщо ці частини зберігаються.

Партиціонування

  • Місце: усі партиції розташовані на одному сервері (у межах однієї бази даних).
  • Мета: підвищити продуктивність і керованість усередині однієї системи.
  • Керування: виконується засобами самої СУБД (наприклад, PostgreSQL уміє партиціонувати таблиці нативно).
  • Типові сценарії: прискорення запитів, очищення старих даних, оптимізація зберігання великих таблиць.

Приклад: таблиця замовлень ділиться за місяцями - січень, лютий, березень - усе зберігається на одному сервері.

Шардування

  • Місце: кожен шард зберігається на окремому сервері чи кластері.
  • Мета: горизонтальне масштабування всієї системи й розподіл навантаження.
  • Керування: потребує зовнішньої логіки - маршрутизації запитів, синхронізації, реплікації.
  • Типові сценарії: великі вебсервіси, мільйони користувачів, терабайти даних.

Приклад: користувачі з ID 1-1 000 000 на одному сервері, решта - на іншому.

Коротко:

  • Партиціонування = ділимо таблицю всередині одного сервера.
  • Шардування = ділимо базу по різних серверах.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.