Автор: Афонов И.В.
Тезисы доклада подготовленного для III международной конференции студентов, аспирантов и молодых ученых проходившей на базе ДонНТУ 16.05.2007. В докладе рассматриваются различные альтернативы для математического моделирования работы реплицированных баз данных.

 

МОДЕЛИ ПРОИЗВОДИТЕЛЬНОСТИ РЕПЛИЦИРОВАННЫХ БАЗ ДАННЫХ

 

Модели производительности реплицированных баз данных

Афонов И.В.

Донецкий Национальный Технический Университет

 

 

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

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

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

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

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

            Кроме построения самой модели не менее важным является доказательство её результатов с помощью проведения экспериментальных замеров производительности. Для этого обычно используются стандартные тесты, которые позволяют не только оценить производительность собственной системы, но и сравнить её с показателями других систем. Чаще всего используются тесты разработанные 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.