Multi-master реплікація

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Multi-master реплікація є методом реплікації бази даних, яка дозволяє зберігати дані групою комп'ютерів. В той же час, будь-який член групи може змінювати, додавати чи видаляти дані.

Multi-master система реплікації забезпечує поширення змін даних, створених кожним учасником до решти групи, та вирішення будь-яких конфліктів, які можуть виникнути через одночасні зміни, внесені різними учасниками.

Multi-master реплікації можна порівняти з master-slave технологією, в якій один з членів групи позначається як "майстер"для даного елемента даних і тільки вузла дозволяється змінювати дані.

Інші члени групи, що хочуть внести зміни в елемент даних майстера повинні спочатку отримати дозвіл майстера.

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

Переваги[ред. | ред. код]

  • У випадку збоїв в одного з майстрів, інши майстри продовжать його роботу.
  • Фізично майстри можуть знаходитися в різних фізичних місцях.

Недоліки[ред. | ред. код]

  • Більшість multi-master систем реплікації слабко підтримують цілісність даних, повільні та асинхронні.
  • Системи є дуже складними і вносять деяку затримку з виконанням операцій.
  • Можуть виникати складні проблеми з розв'язанням конфліктів.

Способи реалізації[ред. | ред. код]

Основані на логах[ред. | ред. код]

Лог транзакцій бази даних використовується для відслідковування змін. Зміни в базах даних розповсюджуються асинхронно.

Основані на трігерах[ред. | ред. код]

Зміни можуть розповсюджуватися асинхронно та навіть і синхронно.

Імплементації[ред. | ред. код]

Active Directory[ред. | ред. код]

OpenDS[ред. | ред. код]

OpenLDAP[ред. | ред. код]

Oracle[ред. | ред. код]

MySQL[ред. | ред. код]

PostgreSQL[ред. | ред. код]

Ingres[ред. | ред. код]