Автореферат (eng)

Тема магистерской диссертации: "Исследование свойств распределённых систем хранения данных"

Введение

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

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

Также важным аспектом архитектуры репликации является стратегия работы с обновлениями. Существует две основные стратегии: Primary Copy и Group.

При использовании стратегии Primary Copy на одном из серверов хранится главная копия и все обновления выполняются на ней, после чего изменения передаются на все узлы системы хранения данных. К преимуществам данной стратегии можно отнести низкую вероятность возникновения конфликтов и относительно небольшую нагрузку на сеть при частых обновлениях. Недостатком данной стратегии является то, что клиент должен быть всегда подключен к главному серверу. Пример работы данной стратегии представлен на рисунке 1. Клиент отправляет запрос на выборку и получает данные с наиболее удобного для него сервера, обновления выполняются только на главной копии, после чего происходит распространения обновлений по ведомым узлам.

Пример архитектуры использующей стратегию работы с обновлениями Primary Copy
Рисунок 1 - Пример архитектуры использующей стратегию работы с обновлениями Primary Copy.

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

Пример архитектуры использующей стратегию работы с обновлениями Group
Рисунок 2 - Пример архитектуры использующей стратегию работы с обновлениями Group.

Цели и задачи работы

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

Предполагаемая научная новизна

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

Анализ возможных способов моделирования распределённых СХД

Проектирование и организация распределённой базы данных является трудоёмким и дорогим процессом. Обычно при проектировании необходимо заранее выполнить расчёт характеристик распределённой базы данных. Предварительное моделирование также является необходимым, так как большинство реальных систем должны работать в режиме 24/7/365, и простои таких систем вследствие технических проблем приводят к большим финансовым потерям.

Математическая модель распределённой реплицированной базы данных представляет собой комплекс моделей её основных компонентов. Узлы системы(базы данных) – моделируются системами массового обслуживания различных видов с различными параметрами. Обычно варьируется наиболее важный параметр – распределение поступления заявок, выбор распределния зависит от конкретной задачи. Не менее важным компонентом модели является модель связи между узлами, обычно она также моделируется СМО, которая имитирует задержку в сети и работу основных её элементов. Также в большинстве моделей распределённых систем учитывается модель репликации, качество репликации (качество выбор данных для реплицирования), модели доступа к данным (модель локального доступа, Hot-Spot, смешанные модели), контроль совместного доступа к данным, модели различных типов транзакций. В таблице 1 приведены возможные способы моделирования отдельных компонентов системы. В ячейках выделенных курсивом - наиболее часто применяемые подходы, в ячейках выделенных полужирным шрифтом приведены способы моделирования используемые в модели 2rc.

Таблица 1 - Возможные способы моделирования отдельных компонентов модели

Компоненты моделиCпособ моделирования
Узлы распределённой БД M/M/m Сеть из m M/M/1 Сеть из m M/G/1 Каждый узел отдельная сеть(сеть из сетей)
Моделирование влияния сети Постоянное время отклика, неограниченная ёмкость(M/D/inf) Непостоянное время отклика, неограниченная ёмкость(M/D/inf) Экспоненциальная зависимость для времени отклика, модель с ограниченным накопителем (M/M/1) Общее время отклика, модель с ограниченным накопителем (M/G/1)
Модель репликации нет Полная репликация Частичная 1 измерение Частичная 2 измерения
Качество репликации Не используется Моделируется качество выбора местонахождения копии Моделируется качество выбора информации для реплицирования Моделируется качество выбора местонахождения копии и выбора информации для реплицирования
Доступ к данным Однородный (Доступ к каждому объекту данных равновероятен) Locality (Доступ к локальным данным более вероятен) Hot-spot (Доступ к одной группе данных более вероятен) Locality + Hot-spot
Модель обработки транзакций Только запросы на выборку (только чтение) Только запросы на изменение (только запись) Изменение + Выборка Более 2 типов транзакций
Разрешение конфликтов Игнорируется 2PL (2-фазные блокировки). Полные блокировки. 2PL, блокировки чтения и записи Другие

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

Верификация моделей производительности

Кроме построения самой модели не менее важным является доказательство её результатов с помощью проведения экспериментальных замеров производительности. Для этого обычно используются стандартные тесты, которые позволяют не только оценить производительность собственной системы, но и сравнить её с показателями других систем. Чаще всего используются тесты разработанные Transaction Processing Performance Council. Данные тесты построены на базе стандартного теста типа DebitCredit. Тесты включают в себя описание структуры базы данных, и действий (транзакций) которые должны выполнятся. Существует несколько модификаций тестов, наиболее распространёнными являются тесты TPC-A (имитирует работу банка) и TPC-С (имитирует работу склада).

Актуальные проблемы

На сегодняшний день актуальными проблемами является отсутствие универсальных алгоритмов и приёмов проектирования архитектур распределённых баз данных. На сегодняшний день практически все архитектуры привязаны к конкретным предметным областям, что в частности связано с тем, что многие параметры архитектуры могут быть приемлемыми в одной области и совершенно неприемлемыми в других областях. Так же много ограничений накладывают алгоритмы разрешения конфликтов, которые также привязаны к конкретным предметным областям

Заключение

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

Список литературы:

1. Matthias Nicola, Matthias Jarke. Performance Modeling of Distributed and Replicated Databases.

2. Jim Gray, Pat Helland, Patrick O’Neil, Dennis Shasha. The Dangers of Replication and a Solution.

3. А.А. Волков. Тесты TPC, СУБД # 2 стр. 70-78.