Розподілені системи: визначення, особливості та основні принципи

Масштабування бази даних

Поширення нової інформації від ведучого до веденого не відбувається миттєво. Насправді існує тимчасове вікно, в якому можна отримати застарілу інформацію. Якби це було не так, продуктивність запису постраждала б, так як довелося б синхронно чекати поширення даних розподілених систем. Вони поставляються з кількома компромісами.

Використовуючи підхід підпорядкованої бази даних, можна горизонтально масштабувати трафік читання в деякій мірі. Тут багато варіантів. Але просто потрібно розділити трафік запису на кілька серверів, оскільки він не може його обробляти. Один із способів – використовувати стратегію реплікації з декількома майстрами. Там замість підлеглих є кілька основних вузлів, які підтримують читання і запис.

Інший метод називається sharding (поділ). З допомогою нього сервер розбивається на кілька менших серверів, званих осколками. Ці осколки мають різні записи, створюються правила про те, які записи потрапляють у якийсь уламок. Дуже важливо створити таке правило, щоб дані поширювалися рівномірно. Можливим підходом до цього є визначення діапазонів згідно з деякою інформацією про записи.

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

Дивіться також:  Що більше: кілобайт або мегабайт? Даємо відповідь