Методы и технологии репликации данных в серверах баз данных
Концепции технологии репликации баз данных, способы организации репликации. Процесс создания реплик с использованием программы Дизайн Мастер. Преимущества различных технологий репликации баз данных и случаи, при которых рекомендовано их применение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 01.03.2019 |
Размер файла | 579,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МЕТОДЫ И ТЕХНОЛОГИИ РЕПЛИКАЦИИ ДАННЫХ В СЕРВЕРАХ БАЗ ДАННЫХ
Иванов Артем Юрьевич,
Иньков Денис Сергеевич,
Исмоилов Мухамаджон Идибоевич,
ФГБОУ ВПО «Московский автомобильно-дорожный государственный технический университет (МАДИ)», 125319, Российская Федерация, г. Москва, Ленинградский проспект, д.64, Тел.: +7 (499) 151-64-12
Аннотация
Данная статья посвящена репликации баз данных, рассматриваются основные концепции технологии репликации баз данных, методы и способы организации репликации. Также в статье дается описание процесса создания реплик с использованием программы Дизайн Мастер. В заключении подчеркиваются преимущества различных технологий репликации баз данных и случаи, при которых рекомендовано их применение.
Ключевые слова: репликация базы данных, репликация моментальных снимков, репликация слиянием, репликация транзакций.
технология репликация база данные
This article is devoted to database replication, discusses the basic concept of the technology of database replication, methods and ways of organizing replication. The article also describes the process of creating replicas with the use of special programs - Design Master. In conclusion, it emphasizes the advantages of various technologies, database replication and the cases in which recommended their use.
Key words: database replication, snapshot replication, merge replication, transactional replication.
Введение
Представьте ситуацию, когда Вам необходимо усовершенствовать приложение, которое будет использовать весь персонал компании для того, чтобы выполнять различные задачи. У каждого сотрудника компании есть личный компьютер с доступом в сеть.
Данный тип приложения может быть усовершенствован двумя различными способами.
Один из которых - традиционный подход отделения таблиц от других объектов в базе данных, таким образом, что она может принадлежать внутренней базе данных на сетевом сервере или в интернете, в то время как запросы, формы, отчеты, макрокоманды и программные модули постоянно хранятся в отдельной внешней базе данных на компьютере пользователя. Объекты в отдельной внешней базе данных располагаются в таблицах, которые связаны с внутренней базой данной. Когда пользователи будут искать или обновлять информацию в базе, они будут использовать внешнюю базу данных.
Второй способ позволит Вам использовать новый подход для выполнения данного решения с помощью создания общей базы данных, которая содержит и информацию, и объекты. Используя репликацию, вы можете, в таком случае, делать точные копии базы данных для каждого пользователя и синхронизировать ее с основной тиражируемой копией на сервере.
При таком сценарии возможно выбирать реплицировать ли Вам только часть информации в основной реплике, или реплицировать различные части информации для разных пользователей с помощью создания частичных копий. Используя частичные копии, Вы сможете сделать копии только той информации, в которой каждый пользователь действительно нуждается. Полный набор информации содержится в основной реплике, а каждая реплика контролирует только разновидность данной информации.
Основная реплика - это головной элемент и используется при создании первой реплики в репликации. Вы можете внести изменения в структуру базы данных только с основной репликой.
Реплики в одной и той же репликации могут чередоваться, находясь в основной реплике, и может существовать одновременно только одна основная реплика в каждой репликации.
Понятие «репликация»
Для лучшего понимания метода репликации баз данных, начнем с понятия «репликация», которое представляет собой процесс обмена информацией между резервными элементами, такими как программное оборудование или компоненты программного обеспечения для повышения безопасности действий, сохранения работоспособности системы при отказе отдельных элементов или более высокой доступности данных. Репликацией данных может быть информация, хранящаяся на многочисленных устройствах хранения данных, вычислением репликации - вычислительная задача выполненная много раз.
Доступ к реплицированному логическому объекту является типичной формой с доступом к единой, не реплицированной форме. Репликация сама по себе должна быть явной для внешнего пользователя.
В системе, которая реплицирует информацию сама по себе, репликация либо активна, либо пассивна. Активная репликация, когда тот же запрос выполняется при каждом реплицированном варианте, а пассивная - когда каждый запрос совершается при единственной репликации и их состояние передается другим репликам.
Если одна главная реплика предназначена для того, чтобы выполнить все запросы, тогда мы говорим о схеме первичной резервной копии (структура типа "ведущий-ведомый"), которая доминирует в отказоустойчивых кластерах. С другой стороны, если любая репликация производит запрос и затем распределяет новую структуру, тогда это мультипервичная схема (названная мультимастер в поле базы данных).
Даже сосредоточившись на процессе репликации базы данных, привычно создавать копии той же или отчасти той же информации. Мы не должны смешивать это со способом обработки резервных копий после того, как репликации часто изменялись или быстро теряли любое ретроспективное состояние. Резервная копия с другой стороны сохраняет копию неизменяемой информации долгий период времени.
Что такое репликация базы данных
Репликация базы данных - это процесс создания копий файлов, между которыми может осуществляться обмен обновляемыми данными или объектами.
В большинстве случаев использования репликации базы данных, один сервер поддерживает в рабочем состоянии оригинал базы данных, а дополнительные серверы - подчиненные копии. Две или более копии единой базы данных остаются синхронными.
Исходная база данных называется основной репликой, а каждая копия - репликой. В свою очередь, основная реплика и реплики составляют репликации. Стоит отметить, что в репликации может быть только одна основная реплика.
Синхронизация - это процесс проверки того, что каждая копия базы данных содержит те же объекты и информацию. Когда Вы синхронизируете реплики в репликации, актуализируется только та информация, которая изменилась. Вы можете также синхронизировать изменения, сделанные для проектного решения объектов в основной реплике.
Записи базы отправляются в сервер основной базы данных и тогда они тиражируются подчиненными серверами. Считывание базы поделено среди всех серверов базы данных, которые предоставляют большие преимущества по характеристикам в связи с разделением нагрузки. В дополнение, репликация базы данных может также улучшить готовность данных, потому что подчиненные серверы могут быть сконфигурированы для того, чтобы перенять ведущую роль, если основной сервер базы данных становится недоступным по каким-либо причинам.
Когда выбрать репликацию базы данных
Репликации не должны иметь простую форму. Если у Вас есть многочисленные серверы базы данных, которые необходимы для того, чтобы применяться в различных типах репликации, тогда простая форма может быстро стать сложной.
Получение репликации может быть также осложнено архитектурой приложения. Однако существуют многочисленные сценарии, при которых может быть использована репликация.
Репликация базы данных хорошо подходит для бизнес решений:
· Обмен данными между удаленными офисами. Вы можете использовать репликацию базы для создания копий базы данных компании для того, чтобы послать информацию каждому дополнительному офису через глобальную компьютерную сеть. Каждая ячейка вводит информацию в свою репликацию и все удаленные репликации синхронизированы с репликацией головного офиса. Индивидуальные репликации могут поддерживать локальные таблицы, которые содержат информацию, не включенную в другие репликации в наборе.
· Обмен данными между пользователями. Новая информация, которая вводится в базу данных, когда пользователи находятся за пределами офиса, может быть синхронизирована в любое время, а пользователи образовывают электронную ссылку с корпоративной сетью. В рамках своей ежедневной работы пользователи могут подключаться к сети, синхронизировать репликацию и работать на большинстве текущих версий базы данных. Поскольку только добавочные изменения передаются во время синхронизации, время и стоимость поддержания информации в актуальном состоянии минимизированы. Используя частичные репликации, вы можете синхронизировать только определенные части информации.
· Для того чтобы сделать информацию сервера более доступной. Если Ваше решение не нуждается в немедленном изменении информации, то Вы можете применять репликацию базы данных для сокращения загрузки сети на Вашем первичном сервере. Используйте второй сервер с его собственной копией базы данных - это улучшит время реакции. Вы определяете график для синхронизирования репликаций и Вы сможете внести поправки, которые заносятся в график изменений, необходимый для Ваших пользователей. Репликация требует менее централизованной информации базы данных.
· Для изменения текущей информации. Когда вы реплицируете Ваше решение, Вы автоматически реплицируете не только информацию в ваших таблицах, но также объекты решения. Если Вы вносите изменения для проектного решения базы данных, изменения передаются в течение следующей синхронизации и Вам не требуется устанавливать полные обновленные версии компьютерной программы.
· Для копирования информации. С первого взгляда, репликация базы данных должна показаться схожей с ее копированием, однако, когда репликация в самом начале делает полную копию базы данных, она просто синхронизирует реплицированные объекты с исходными объектами равными интервалами. Данная копия может быть использована для получения информации обратно, если исходная база уничтожена. К тому же, пользователи при любой репликации могут иметь доступ к базе данных в течение целого процесса резервного копирования.
Методы выполнения репликации базы данных
Репликация базы данных может быть выполнена как минимум тремя различными способами и каждые из них поддерживают различные уровни согласованности данных в реплицированной базе данных, налагая различные уровни нагрузки на серверы.
* Репликация моментальных снимков (или просто репликация снимков):
Информация на сервере полностью скопирована на другой сервер иной базы данных или на другую базу данных того же сервера.
* Репликация слиянием:
Информация от двух и более баз данных объединяется в единую базу.
* Репликация транзакций:
Пользователи получают полные исходные копии базы данных, а также последующие изменения, происходящие с данными.
Репликация моментальных снимков
Этот тип репликации базы данных один из простейших методов регулирования и, возможно, простейший для понимания. Обычно он используется, когда включившиеся серверы работают в среде, доступной только для чтения, а также когда сервер может функционировать некоторое время без обновленных данных. Возможна работа без актуальных данных для периода, который относится ко времени ожидания. Например, сеть магазинов розничной торговли использует репликацию, как средство поддержания точного списка товаров в определенном регионе. С тех пор, как перечень товара управляем на еженедельной или даже месячной основе, розничные магазины могут работать целыми днями без установки центрального сервера. Данный сценарий имеет высокую степень запаздывания и это подходящий претендент для репликации моментальных снимков. Дополнительные причины для применения данного типа репликации включают в себя сценарии с соединениями низкой производительности.
Репликация моментальных снимков (Рис.1) также имеет дополнительное преимущество, при котором не требуется, чтобы реплицированная таблица имела первичный ключ. Репликация моментальных снимков работает с помощью чтения размещенной базы данных и создания файлов в рабочей папке в регистре обмена. Данные файлы названы файлами снимков и содержат информацию из размещенной базы данных, а также некоторую дополнительную информацию, которая поможет создать первичную копию на сервере. Репликация моментальных снимков часто используется, когда необходимо найти информацию такую, как: прайс-лист, онлайн каталоги или информацию для поддержки принятия решений, когда наиболее актуальная информация не является основной и она является доступной только для чтения.
Репликация моментальных снимков полезна когда:
* Информация главным образом статистическая и часто не меняется.
* Необходимо иметь копии устаревшей информации за определенный период времени.
Рис. 1. - Схема выполнения репликации данных методом моментальных снимков.
Репликация слиянием
Репликация слиянием(Рис.2) - это процесс распределения информации от средств публикации к пользователям, позволяющий средству публикации и пользователям делать обновления в то время, когда они подключены или отключены, и затем совмещать актуальные изменения между сайтами, когда они подключены. Репликация слиянием позволяет различным сайтам работать автономно и впоследствии объединять изменения в единый вывод. Первоначальный моментальный снимок адресуется к пользователям, и затем изменения направляются к публикуемым данным в средстве публикации материалов и у пользователей. Информация синхронизируется между серверами непрерывно в планируемое время или по запросу. Поскольку изменения сделаны на более чем одном сервере, та же информация может быть изменена средством публикации материалов или более чем одним пользователем. В связи с этим, конфликты могут появляться, когда изменения слились. Репликация слиянием включает значения по умолчанию и варианты, устанавливаемые пользователем для разрешения конфликта, который Вы можете определить, когда настраиваете программу слияния публикации. Когда конфликт возникает, решающий блок активизируется агентом программы слияния и определяется, какая информация будет принята и пропущена на другие сайты.
Репликация слиянием полезна, когда:
* Многим пользователям необходимо обновить данные в разное время и распространить эти изменения к средствам публикации и к другим пользователям.
* Пользователям необходимо получить информацию, сделать оффлайн изменения, и затем синхронизировать изменения со средством публикации и другими пользователями.
Рис. 2. - схема выполнения репликации данных методом слияния.
Репликация транзакций
Когда есть противоположность репликации моментальных снимков, тогда репликация транзакций работает, отправляя изменения к пользователю. В качестве примера рассмотрим SQL-сервер осуществляющий все действия, когда база данных использует операции оператора SQL. Каждый завершенный оператор называется транзакцией. В репликации транзакций каждая подтвержденная транзакция дублируется к пользователю. Вы можете контролировать процесс репликации, так он будет накапливать транзакции и отправлять их в промежутке времени или передавать все изменения, когда они происходят. Вы используете данный тип репликации в условиях, которые имеют более низкую степень запаздывания и более высокую степень пропускной способности соединений. Репликация транзакций(Рис.3) требует продолжительного и надежного соединения, потому что файл транзакций будет быстро расти, если сервер неспособен связываться с репликацией и может стать неконтролируемым. Репликация транзакций начинается с моментального снимка, который устанавливает первичную копию. Эта копия позднее актуализирована с помощью размноженных транзакций. Вы можете выбрать, насколько часто изменять моментальный снимок или не изменять его после первого копирования. Когда исходный первоначальный моментальный снимок был скопирован, репликация транзакций использует агента читатель для чтения файла транзакций опубликованной базы данных и хранит новые транзакции в базе распространителя. Агент по распространению затем передает транзакции от средств публикации к пользователю.
Рис. 3. - схема выполнения репликации данных методом транзакций.
Вывод
Технология репликации баз данных - это не просто синхронизация, а более продвинутый и интеллектуальный шаг вперед, применив который, Вы сможете найти необычное и верное решение для успешной работы Вашей компании, значительно улучшив информационную инфраструктуру.
Список информационных источников
1. В.Е. Туманов, С.В. Маклаков. Проектирование реляционных хранилищ данных. Москва: Диалог-МИФИ, 2012. - 333 с.
2. Т. Конолли, Б. Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. Перевод с англ. яз. - М.: Издательский дом “Вильяме”, 2003. - 1440 с.
3. О.П. Голицына, Н.В. Максимов, И.И. Попов. Базы и банки данных. СУБД. 3-е издание, переработанное и дополненное. М.:Форум, 2012. - 400 с.
4. Репликация [Электронный ресурс] - https://ruhighload.com. Дата обращения - 03.09.2016.
5. Репликация и хранение резервных копий - http://systemmanager.ru. Дата обращения - 06.09.2016.
Размещено на Allbest.ru
Подобные документы
Понятие и задачи репликации объектов баз данных (БД). Основные типы репликации (моментальные снимки, транзакции, сведение), выбор ее модели и особенности реализации. Мастера настройки распространителя и издателя репликации. Вид консоли Enterprise Manager.
презентация [223,7 K], добавлен 10.11.2013Возможности репликации в СУБД Oracle. Основные шаги по настройке баз данных (Startup open) и tnsnames.ora. Табличное пространство и пользователь Streams. Dblink между исходной и целевой базами данных. Использование PL/SQL API для настройки репликации.
курсовая работа [2,7 M], добавлен 14.07.2012Понятие репликации (синхронизации) базы данных, ее назначение и механизмы, классификация по различным признакам, выгоды от ее внедрения. Функциональные требования к серверу репликации. Основные принципы, правила построения и функционирования РБД.
курсовая работа [29,2 K], добавлен 22.04.2011Понятие распределённого реестра. Обеспечение независимости данных, распределенных по множеству компьютеров за счет прозрачности сети, репликации и фрагментации. Создание драйвера, запроса, клиентской части. Выборка из данных, находящихся на двух серверах.
курсовая работа [573,5 K], добавлен 19.05.2016Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.
курсовая работа [897,6 K], добавлен 21.11.2011Разработка информационного обеспечения для формирования базы данных для государственной итоговой аттестации 9 классов. Обзор методов репликации и синхронизации баз данных. Преимущества алгоритма шифрования Rijndael. СУБД Microsoft SQL Server и Firebird.
дипломная работа [3,3 M], добавлен 27.06.2012Система управление базами данных, реляционная модель. Принципы взаимодействия между клиентскими и серверными частями. Трехуровневая модель технологии "клиент-сервер". Фрактальные методы сжатия больших объемов данных. Анализ концепции хранилища данных.
курс лекций [265,0 K], добавлен 05.06.2009Разработка базы данных и клиента для управления базой данных с целью автоматизации рабочего места менеджера по клининговым услугам для ООО "Мастер блеск". Обоснование выбора программного обеспечения для создания базы данных. Заполнение данных в таблицы.
дипломная работа [1,8 M], добавлен 13.04.2014Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.
презентация [17,1 K], добавлен 19.08.2013Разработка реляционных баз данных. Обслуживание и применение сервисных средств. Применение языков запросов для создания приложений. Базы данных в корпоративных сетях. Автоматизация работы с базой данных. Объединение компонентов в единое приложение.
методичка [430,2 K], добавлен 22.11.2008