Репликация - это что?

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

репликация это

Происхождение

Сам термин происходит из латыни, от слова replicatio — возобновление, повторение. Таким образом, мы можем сделать вывод, что современное понятие репликации означает примерно то же самое - увеличение количества, копирование. Репликация - это процесс, позволяющий создать копию какого-либо объекта.

Начнем с понятий попроще. Процесс репликации CD-дисков - это, по сути, тиражирование и распространение за счет увеличения производства, а значит, и количество штамповки, выпускаемой заводом.

В медицине и биологии, репликация - это процесс, являющийся основой деления клетки, в результате которого происходит удвоение молекулы ДНК. За счет этого происходит полное копирование генетического материала для передачи его из поколения в поколение.

ИВТ

В компьютерной среде репликация - это одна из причин, по которой системные администраторы могут спать спокойно. Данный процесс очень похож на резервное копирование данных сервера, но на самом деле это всего лишь его часть. Можно выделить два типа репликации - синхронная и асинхронная. В чем же заключается суть данного процесса?

процесс репликации

Репликация - это техника, позволяющая масштабировать базы данных. Она заключается в том, что данные с основного сервера ("мастер") непрерывно копируются на один или несколько вторичных ("слейв"). В результате этого клиентские приложения могут использовать данные не с одного узла сети, а с нескольких, что в свою очередь сильно снижает нагрузку.

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

Существует два типа практикуемой репликации. Первый из них - это репликация по типу "мастер-слейв". Данная схема использует принцип по которому все изменения происходят только на одном сервере - "мастере". А затем копируются на реплицирующие сервера - слейвы. Таким образом, каждый из них выполняет свою функцию.

  • Если вам надо внести изменения на сервер (записать, удалить, обновить данные), то программа обращается к "мастеру".
  • Если же необходимо только получить выборку данных (чтение), то они будут получены с любого из вторичных серверов.

Данная схема достаточно удобна. В случаях неполадок на "мастере", все операции записи необходимо переключить на "слейв", также верно и обратное. Серверы абсолютно взаимозаменяемы. При использовании данного типа репликации, можно размещать в сети до 20 "слейв"-серверов. Зачастую данный тип используется для резервирования данных.

Второй тип репликации - это "мастер-мастер". Он подразумевает, что пользователь обращается к случайному серверу, а затем они обмениваются между собой данными. Данная схема очень непривлекательна с точки зрения безопасности, так как при выходе из строя любого из серверов в большинстве случаев теряются какие-либо данные.

репликация данных

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

Несмотря на все достоинства данной техники репликация SQL имеет ряд недостатков. Одним из них становится асинхронность операций. Это означает, что существует задержка при передаче от мастер-сервера "слейву". Достаточно сложно определить, как быстро появятся новые данные на "слейве", ведь задержка может быть совсем незначительной, а может и очень большой. При необходимости непрерывной работы с данными нужно использовать обращение к одному и тому же "мастер"-серверу, а не читать данные со "слейва".

Для того чтобы этого избежать, можно использовать синхронный режим. Его принцип заключается в том, что все запросы поступают на мастер-сервер, а ответы приходят со "слейва". Таким образом, гарантируется полное копирование данных на вторичный узел. Естественно, это приводит к большой потере в скорости работы, однако упрощает всю систему в целом.

Вручную

Поскольку репликация - это сложный и многогранный процесс, очень сложно учесть все аспекты данной методики. Кроме того, это не определённая технология, а больше набор определённых инструкций и действий. Более того, некоторые компьютерные технологии не способны работать с репликацией в принципе.

Для подобных ситуаций существует специальная методика. При разработке приложения вы можете добавить самостоятельную репликацию. Ваше приложение должно отправлять запросы сразу на несколько серверов, таким образом, вы избегаете проблем связанных с репликацией, да и обходите ее отсутствие между серверами, получая все необходимые данные.

репликация sql

При неполадках на одном из серверов, необходимо отключить нерабочий сервер и включить репликацию по типу - "мастер-слейв". Это позволит отсинхронизировать все реплики и упорядочить данные. После ремонта поврежденного сервера и синхронизации его можно включать обратно в систему и возвращать всё на круги своя.

Итог

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