Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Что такое репликация базы данных?

ПрограммированиеКомпьютеры+3
Анонимный вопрос
  · 1,4 K
Представитель хостинг-провайдера Eternalhost. Отвечаю на вопросы про хостинг, виртуальные...  · 25 мая 2022
Репликация базы данных — это единичное или непрерывное копирование (перенос или интеграция) информации из базы данных на одном компьютере / сервере в базу данных на другом. Целью репликации БД является сознание распределенной базы данных, в которой пользователи могут одинаково быстро получать доступ к необходимым данным, не мешая работе других. 
Как работает репликация базы данных
Основа этой технологии — система управления распределенными базами данных (DDBMS / distributed database management systems), которая обеспечивают автоматическое отражение изменений, добавлений и удалений, выполненных с данными в любом заданном месте. Репликация базы данных позволяет копировать файлы базы данных из главной СУБД (master DBMS) и производить их точное развертывание в подчиненных СУБД (slave DBMS). 
Процесс репликации БД принято метафорично сравнивать с механизмом работы печатного издательства. В этом случае издателем называют главную БД, подписчиком — подчиненную БД, а публикацией — набор данных разного типа, принадлежащих к определенной БД. 
Классический случай репликации базы данных включает одно или несколько приложений, которые соединяют первичное хранилище с дополнительным, которое часто находится за пределами площадки. Эти первичные и вторичные хранилища чаще всего представляют собой отдельные исходные базы данных, такие как Oracle, MySQL, Microsoft SQL и MongoDB, а также хранилища данных, которые объединяют данные из этих источников, предлагая услуги хранения и аналитики для больших объемов данных. Хранилища данных часто размещаются в облаке.
Методы репликации баз данных
Существует несколько способов или типов репликации базы данных. Различные методы предлагают разные преимущества, поскольку они различаются по тщательности, простоте и скорости. 
По способу синхронизации выделяют 5 основных типов репликации баз данных:
  • Транзакционная репликация (Transactional replication) — изменения на издателе доставляются подписчику по мере их появления (почти в реальном времени). На репликации транзакций основан и метод «обновляемых подпискок», при котором данные по подписке сначала обновляются у издателя, а затем у других подписчиков.
  • Репликация моментальных снимков / снэпшотов (Snapshot replication) — моментальный снимок издателя применяется к подписчику. Данные распространяются точно в том виде, в котором они были представлены в определенный момент времени. Обновление данных не отслеживается.
  • Репликация слиянием (Merge replication) — данные можно изменять как на издателе, так и на подписчике, а также отслеживать с помощью триггеров. Подписчик синхронизируется с издателем при подключении к сети и обменивается с ним всеми строками, которые изменились со времени последней синхронизации издателя и подписчика.
  • Одноранговая репликация (Peer-to-peer replication) — распространяет согласованные на уровне транзакций изменения между несколькими экземплярами сервера почти в реальном времени.
  • Двунаправленная репликация (Bidirectional replication) — каждый сервер публикует данные, после чего подписывается на публикацию с теми же данными от другого сервера.
По способу передачи данных выделяют такие типы репликации БД, как:
  • Асинхронная репликация — сначала данные записываются в первичный массив хранения, а затем, в зависимости от подхода к реализации, фиксируются для репликации в память или в журнал на диске. Асинхронная репликация базы данных обеспечивает гибкость и простоту использования, поскольку выполняется в фоновом режиме. Однако существует больший риск того, что данные будут потеряны без ведома клиента, поскольку подтверждение происходит до основного процесса репликации. Асинхронная репликация встречается в широком спектре продуктов, таких как хранилище iSCSI, сетевое хранилище (NAS) и т. д.
  • Синхронная репликация — данные копируются с клиентского сервера на модельный сервер, а затем реплицируются на все серверы-реплики до того, как клиент будет уведомлен о том, что данные были реплицированы. Синхронная репликация в основном используется для высокопроизводительных транзакционных приложений, которым требуется мгновенная отработка отказа в случае сбоя основного узла.
Существует также несколько типов репликации базы данных в зависимости от типа серверной архитектуры
  • Однолидерная архитектура — один сервер получает записи от клиентов, а реплики подтягивают данные оттуда. Это самый распространенный и классический способ, однако несколько негибкий.
  • Многолидерная архитектура — несколько серверов, которые могут получать записи и служить моделью для реплик. Эта архитектура широко используется, когда реплики сильно рассредоточены.
  • Архитектура без лидеров — каждый сервер может получать записи и служить моделью для реплик. Впервые была реализована в DynamoDB от Amazon. Архитектура предлагает максимальную гибкость, он создает проблемы для синхронизации.
Просто о настройках и администрировании сайта в нашем блоге.Перейти на eternalhost.net/blog
Python Middle Developer   · 20 мая 2022  · happypython.ru
Если говорить просто - это клонирование базы данных. Но при этом обе базы работают одновременно и позволяют разделять нагрузку, отправляя часть запросов на реплику. Кроме того одна база может выступать копией второй базы. В случае потери одной из двух - вторая становится основной.
Хорошо описано это здесь
Паблик помощи новичкам в Python (пишем парсеры с фриланс заказов)Перейти на happypython.ru
1 эксперт согласен
< В случае потери одной из двух - вторая становится основной.> Только в архитектуре HDR (High Availability Data Re... Читать дальше
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 25 мая 2022
IBM® Informix® Enterprise Replication — это асинхронный, основанный на журналах инструмент для репликации данных между серверами баз данных IBM Informix. Репликация предприятия на исходном сервере фиксирует транзакции, подлежащие репликации, путем чтения логического журнала, сохранения транзакций и надежной передачи каждой транзакции в качестве данных репликации на... Читать далее
1 эксперт согласен