_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №11-3/2016 ISSN 2410-700Х_
УДК 004.422.81
Борсук Наталья Александровна
канд. техн. наук, доцент КФ МГТУ им. Н.Э. Баумана,
г. Калуга, РФ E-mail: [email protected] Козеева Ольга Олеговна студентка 4 курса факультета «Электроника, информатика и управление»
кафедры «Компьютерные системы и сети» КФ МГТУ им. Н.Э. Баумана г. Калуга, РФ E-mail: [email protected]
АНАЛИЗ МЕТОДОВ РЕПЛИКАЦИИ БАЗ ДАННЫХ ПРИ РАЗРАБОТКЕ ОНЛАЙН-СЕРВИСА
Аннотация
В данной статье содержится обзор основных методов обмена информацией между несколькими базами данных, их применимость для работы с разрабатываемым веб-проектом предприятия. Рассмотрены необходимые аспекты внедрения и использования этих методов в рамках поставленной задачи. Перед проведением анализа даны основные определения и расшифровка используемых терминов. Также приведены конкретные примеры использования данных методов, их реализация в различных СУБД и краткая характеристика подобных технологий.
Ключевые слова
Базы данных, репликация, системы управления базами данных.
Сегодня различные предприятия, в том числе и промышленные, предоставляют потенциальным заказчикам возможность ознакомиться с выпускаемой продукцией, ее спецификациями удаленно, посредством сети Интернет. Для этого разрабатываются виртуальные каталоги или сайты, с помощью которых реализуются товары и услуги. Процесс создания таких сервисов предполагает ряд этапов по проектированию, непосредственной разработке, тестированию и запуску. А именно:
• Определение задач и функций сервиса;
• Установка платформы проектирования;
• Заполнение сервиса информацией о продуктах;
• Проектирование интерфейсной части и оформление;
• Настройка виртуального каталога («витрины»);
• Настройка авторизации и аутентификации;
• Обеспечение обратной связи;
• Настройка способов доставки и оплаты;
• Регистрация домена и настройка на нем корпоративной почты.
Перед разработчиками часто встает задача обеспечения дополнительного функционала, связанного со спецификой выпускаемой продукции, работы предприятия или другими факторами. Так, возможно, что для оптимизации работы с интернет-сервисом потребуется организовать систему взаимодействующих баз данных (БД). Речь может идти о репликации данных, обрабатываемых в процессе функционирования web-сервиса.
Репликация - это технология масштабирования баз данных. Масштабирование применяется при больших нагрузках на СУБД, которые могут отразиться на производительности веб-приложений, и обеспечивает способность системы сохранять работоспособность в таких условиях. Различают вертикальное и горизонтальное масштабирование. В первом случае производительность системы поддерживается благодаря увеличению эффективности каждого отдельно взятого ее элемента, а во втором - их
_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №11-3/2016 ISSN 2410-700Х_
распределению на серверах, работающих параллельно. Репликация относится ко второму виду масштабирования и реализует копирование и передачу данных между несколькими серверными машинами, то есть синхронизирует их работу. С помощью этой техники доступ к данным могут иметь пользователи удаленных, локальных или мобильных систем через различные соединения (коммутируемые, беспроводные, сеть Интернет).
Суть репликации состоит в копировании информации с основного сервера базы данных («мастера»), обеспечивающего работоспособность сервиса и на котором происходит обработка данных, на подчиненный сервер («слейв»), отправляющий запросы на чтение. В такой системе может быть несколько «слейвов», что позволяет распределить нагрузку, а в случае выхода из строя одного из них можно переключиться на другой. Обновление данных на «слейв»-сервере может происходить с некоторой задержкой. Это необходимо иметь ввиду при настройке соединения (использовать мастер-соединение). Такой подход к организации репликации более всего подходит в случае именно необходимости передачи данных для их хранения с одного сервера на другой (локальный, например). [1, с. 283]
При репликации, в основе которой лежит схема с несколькими серверами типа «мастер», процессы записи и чтения данных происходят на всех машинах, и в этом случае обеспечивается их согласованная работа с актуальными данными. Такой подход требует поддержания каждого элемента системы в работоспособном состоянии, иначе возможна потеря данных.
Существуют следующие виды репликации:
• «снимок»: все реплицируемые данные периодически копируются с сервера-«мастера» на каждый «слейв»-сервер;
• репликация транзакций («журнальный»): на «слейв» поступают только измененные данные, посредством отслеживания изменений в журнале транзакций;
• репликация сведением: анализируются и объединяются изменения реплицируемых данных на сервере-«мастере» и «слейвах». [2, с. 751]
В целом, для реализации репликации используются встроенные средства СУБД. Существуют различные инструменты репликации, например, в СУБД Firebird это расширение HQBird Enterprise, которое имеет ряд и других функции по работе с БД (мониторинг, профилирование, оптимизация производительности, сбор и анализ статистики, аварийное восстановление), а также IBReplicator, PeerDirect, Replication Suite.
В СУБД Oracle возможно использование репликации, основанной на технологии материализованных представлений - физических представлений в БД, в которых содержится результат выполнения запроса и которые могут включать в себя соединения и составные значения. Материализованные представления используются для улучшения времени ответа на запрос путем предварительного вычисления дорогостоящих соединений и операций агрегирования еще до их выполнения в реальном запросе. Также существует решение Oracle Stream, которое обладает более высокой скоростью работы, поддерживает репликацию между разными версиями БД и между разными платформами, имеет возможность фильтрации данных на основе правил и ряд других преимуществ. [3, с. 779]
Таким образом, репликация используется для распределения нагрузки с применением нескольких серверов, а также применима и при необходимости обеспечения их согласованной работы для актуализации информации на одном из них, что может быть необходимо при разработке web-сервисов для представления продукции того или иного предприятия, когда данные о совершаемых операциях на сайте должны быть зафиксированы на некотором локальном сервере.
Список использованной литературы
1. Маллинс Крейг С. Администрирование баз данных. Полное справочное руководство по методам и процедурам. - М.: КУДИЦ-Образ, 2008. - 752с.
2. Шпеник М. Руководство администратора баз данных Microsoft SQL Server. - М.: «Вильямс», 2008. - 912с.
3. Алапати Сэм Р. Oracle Database 11g: руководство администратора баз данных. - М.: «Вильямс», 2009. -1440с.
© Борсук Н А., Козеева О.О., 2016 г.