Вернутися назад Друкувати

Реплікація - це що?

Сьогодні ми з вами поговоримо про те, що таке реплікація даних. Як вона використовується? Які види бувають? Не дивлячись на те, що найбільш часто зустріти цей термін можна в комп'ютерній сфері, він також позначає деякі процеси протікають навіть в протилежних областях науки. Давайте подивимося, реплікація - це що?




Реплікація - це що?

Походження

Сам термін походить з латині, слова replicatio — відновлення, повторення. Таким чином, ми можемо зробити висновок, що сучасне поняття реплікації означає приблизно те ж саме - збільшення кількості, копіювання. Реплікація - це процес, що дозволяє створити копію якого-небудь об'єкта. Почнемо з понять простіше. Процес реплікації CD-дисків - це, по суті, тиражування і поширення за рахунок збільшення виробництва, а значить, і кількість штампування, що випускається заводом. В медицині і біології, реплікація - це процес, який є основою поділу клітини, в результаті якого відбувається подвоєння молекули ДНК. За рахунок цього відбувається повне копіювання генетичного матеріалу для передачі його з покоління в покоління.




ІХТ

У комп'ютерній середовищі реплікація - це одна з причин, по якій системні адміністратори можуть спати спокійно. Цей процес дуже схожий на резервне копіювання даних сервера, але насправді це всього лише його частина. Можна виділити два типи реплікації - синхронний і асинхронний. В чому ж полягає суть цього процесу?
Реплікація - це що?
Реплікація - це техніка, що дозволяє масштабувати бази даних. Вона полягає в тому, що дані з сервера ("майстер") безперервно копіюються на один або декілька вторинних ("слейв"). В результаті цього клієнтські програми можуть використовувати дані не з одного вузла мережі, а з декількох, що у свою чергу сильно знижує навантаження.

Класифікація

Існує два типи практикується реплікації. Перший з них - це реплікація по типу "майстер-слейв". Дана схема використовує принцип, по якому всі зміни відбуваються тільки на одному сервері - "майстра". А потім копіюються на реплицирующие сервера - слейви. Таким чином, кожен з них виконує свою функцію.




  • Якщо вам треба внести зміни на сервері (записати, видалити, відновити дані), то програма звертається до "майстру".
  • Якщо ж необхідно лише одержати вибірку даних (читання), то вони будуть отримані з будь-якого з вторинних серверів.
  • Дана схема досить зручна. У випадках несправностей на "майстрі", всі операції запису необхідно переключити на "слейв", також вірно і зворотне. Сервери абсолютно взаємозамінні. При використанні даного типу реплікації, можна розміщувати в мережі до 20 "слейв"-серверів. Часто даний тип використовується для резервування даних. Другий тип реплікації - це "майстер-майстер". Він передбачає, що користувач звертається до випадкового сервера, а потім вони обмінюються між собою даними. Дана схема дуже неприваблива з точки зору безпеки, так як при виході з ладу будь-якого з серверів в більшості випадків губляться які-небудь дані.
    Реплікація - це що?

    Асинхронність

    Незважаючи на всі переваги даної техніки реплікація SQL має ряд недоліків. Одним з них стає асинхронність операцій. Це означає, що існує затримка при передачі від майстер-сервера "слейву". Досить складно визначити, як швидко з'являться нові дані на "слейве", адже затримка може бути зовсім незначною, а може і дуже великий. При необхідності безперервної роботи з даними потрібно використовувати звернення до одного і того ж "майстер"-сервера, а не читати дані з "слейва". Для того щоб цього уникнути, можна використовувати синхронний режим. Його принцип полягає в тому, що всі запити надходять на майстер-сервер, а відповіді приходять з "слейва". Таким чином, гарантується повне копіювання даних на вторинний вузол. Природно, це призводить до великої втрати в швидкості роботи, однак спрощує всю систему в цілому.

    Вручну

    Оскільки реплікація - це складний і багатогранний процес, дуже складно врахувати всі аспекти даної методики. Крім того, це не певна технологія, а більше набір певних інструкцій та дій. Більш того, деякі комп'ютерні технології не здатні працювати з реплікацією в принципі. Для подібних ситуацій існує спеціальна методика. При розробці програми ви можете додати самостійну реплікацію. Ваше застосування повинне надсилати запити відразу на кілька серверів, таким чином, ви уникаєте проблем пов'язаних з реплікацією, так і обходьте її відсутність між серверами, отримуючи всі необхідні дані.
    Реплікація - це що?
    При неполадках на одному з серверів, необхідно відключити неробочий сервер і включити реплікацію по типу - "майстер-слейв". Це дозволить отсинхронизировать всі репліки і упорядкувати дані. Після ремонту пошкодженого сервера і синхронізації його можна включати назад в систему і повертати все на круги своя.

    Підсумок

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