Що мається на увазі під шардингом?
Шардинг є тип поділу бази даних, який розділяє великі бази даних на менші, швидші та легше керовані частини. Ці менші частини називаються сегментами даних. Слово шард означає «маленька частина цілого».
Шардинг передбачає відокремлення різних рядків інформації з таблиці та збереження їх на різних машинах, як показано нижче.
приклад: Розглянемо базу даних часових рядів, де дані розділені на основі діапазонів дат. Кожен сегмент містить дані за певний період часу, що забезпечує рівномірний розподіл. Шардинг на основі хешування: Приклад: у базі даних користувачів хешування ідентифікатора користувача як ключа фрагмента може рівномірно розподілити користувачів між сегментами, запобігаючи гарячим точкам.
Шардинг і розділення стосуються розбиття великого набору даних на менші підмножини. Різниця в тому, що Шардинг означає, що дані розподіляються між кількома комп’ютерами, а розділення – ні. Розбиття — це групування підмножин даних в одному екземплярі бази даних.
Шардинг — чудове рішення для додатки з великими вимогами до даних і великими обсягами читання/запису, але це супроводжується додатковою складністю. Подумайте, чи переваги переважають витрати, чи існує простіше рішення, перш ніж розпочинати впровадження.
Стратегії шардингу — Масштабування бази даних — PlanetScale. Вертикальне шардування дозволяє розповсюджувати таблиці вашої бази даних на кількох серверах. Горизонтальне сегментування дозволяє розподілити рядки окремих таблиць між різними фізичними машинами.
Шардинг називається горизонтальним масштабуванням, і це полегшує масштабування, оскільки ви можете збільшити кількість машин для обробки трафіку користувачів у міру його збільшення.