Що таке кластер баз даних?
Кластер баз даних - це група серверів (чи екземплярів БД), які працюють як єдина система, забезпечуючи спільне зберігання, обробку й доступ до даних.
Ідея кластера - не одна потужна машина, а кілька пов'язаних вузлів, між якими розподіляються навантаження, зберігання й стійкість до відмов.
Основні цілі кластера
- Масштабування. Розподіляє навантаження між кількома серверами - більше запитів, більше даних, вища продуктивність.
- Стійкість до відмов. Якщо один вузол виходить з ладу, решта продовжують працювати, зберігаючи доступність системи.
- Балансування навантаження. Запити автоматично спрямовуються на вільні чи менш завантажені вузли.
- Реплікація й консистентність. Кластер синхронізує дані між вузлами, щоб вони лишалися узгодженими.
Приклади типів кластерів
- Master-replica (primary-replica) - один сервер для запису, решта для читання.
- Multi-master cluster - кілька вузлів можуть писати дані одночасно (наприклад, Galera Cluster, PostgreSQL BDR).
- Shared-nothing cluster - кожен вузол зберігає власні дані (використовується під час шардування).
Приклад
У PostgreSQL під терміном «кластер» часто розуміють набір баз даних, керованих одним серверним процесом PostgreSQL. У ширшому сенсі (у продакшені) - це фізичний чи логічний набір серверів, об'єднаних спільною архітектурою й реплікацією.
Підсумок: Кластер бази даних - це «команда серверів», які разом забезпечують швидкість, стійкість до відмов і масштабованість системи, зберігаючи при цьому загальну узгодженість даних.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.