Бази даних входять все міцніше в наше життя, а тому навіть простому користувачеві, який не претендує на глибоке знання інформаційних технологій, але має справу з базами даних за родом своїх робочих обов'язків, має сенс знати слова, якими кидаються круті специ по цим самим баз даних. Одне з цих загадкових для багатьох слів - реплікація. Про те, що воно означає стосовно до баз даних, і покликана розповісти ця невелика замітка.
Термін "реплікація" прийшов в ІТ з генетики (привіт біологам!). Там він позначає процес подвоєння ДНК - необхідний момент при діленні клітини. ДНК - це самий що ні на є важливий носій інформації в світі, тому для роботи з даними в комп'ютері був обраний цей біологічний термін.
Реплікація ділиться на кілька класів. Вона буває односпрямованої (односторонньої) і мультінаправленной (багатосторонній) - ця класифікація проводиться за направленням передачі даних між базами даних. Односпрямована реплікація зазвичай використовується при синхронізації резервної копії БД з актуальною БД, у багатьох напрямах - при синхронізації двох, так би мовити, самостійних філій однієї БД.
Також реплікація буває синхронної і асинхронної. При синхронної реплікації може існувати тільки одна версія даних - це накладає обмеження на роботу з даними під час реплікації. Асинхронна реплікація дозволяє уникнути цієї проблеми, але при ній база даних може мати несумісні, з точки зору користувача, дані. Зазвичай саме асинхронну реплікацію мають на увазі, коли говорять про реплікації бази даних взагалі.
Розрізняють реплікацію і за такою ознакою, як час її проведення. Якщо реплікація проводиться негайно після внесення змін до БД, то це реплікація реального часу, в іншому випадку ми маємо справу з відкладеним репликацией.
За способом зв'язку між базами даних реплікація ділиться на пряму і недетермінірованного. Пряма - це коли канал зв'язку між базами досить стійкий. Якщо ж бази даних зв'язуються по нестійкого каналу (скажімо, через Dial-Up), то приймач інформації не може в будь-який потрібний йому момент зв'язатися з джерелом інформації, через що рішення, прийняті ним при конфлікті даних, носять імовірнісний (недетермінований) характер .
Ще раз підкреслю, що реплікація бази даних - не найпростіша в загальному випадку завдання, яке вирішується при розробці розподілених систем. Тому поставтеся з розумінням до людей, які лаються по її приводу - вони, швидше за все, мають на те підстави.
Версія для друку