Модель архитектуры транзакционных систем с репликацией фрагментов базы данных для развертывания в рамках облачной среды

УДК 519.85:004.942

МОДЕЛЬ АРХИТЕКТУРЫ ТРАНЗАКЦИОННЫХ СИСТЕМ С РЕПЛИКАЦИЕЙ ФРАГМЕНТОВ БАЗЫ ДАННЫХ ДЛЯ РАЗВЕРТЫВАНИЯ

В РАМКАХ ОБЛАЧНОЙ СРЕДЫ

© 2013 г. В.В. Горобец

Южно-Российский государственный South-Russian State

технический университет Technical University

Рассматривается модель архитектуры транзакционной системы, построенной по принципам технологии Cloud Computing. Приводится математическая модель, описывающая OLTP-систему как разомкнутую сеть массового обслуживания. Предлагается модификация модели путем использования репликации фрагментов распределенной базы данных.

Ключевые слова: транзакционная система; облачная архитектура; распределенная база данных; система массового обслуживания.

The model of on-line transaction processing system architecture constructed by principles of Cloud Computing is considered. The mathematical model of OLTP-system as the queueing system is led. The modification of model by using fragment replication of distributed database is offered.

Keywords: on-line transaction processing system; cloud architecture; distributed database; queuing system.

В настоящее время наблюдается тенденция, связанная с развертыванием OLTP-систем на базе облачной архитектуры и использованием технологии распределенной обработки данных. Направление облачных вычислений (Cloud Computing) является быстро-развивающимся и перспективным в современном мире информационных технологий. Идеология данного подхода заключается в переносе вычислений и обработки данных в существенной степени с персональных компьютеров на серверы сети Интернет. Поэтому актуальной является задача моделирования систем, использующих облачные технологии.

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

Архитектура сети

Основой облачной архитектуры является GRID-архитектура, важным достоинством которой является возможность масштабирования до тысяч машин, что позволяет использовать дешевую аппаратуру. Согласно этому подходу, в данной работе в качестве узлов хранения применяются персональные компьютеры, пользователи которых дают согласие на использование облаком части своих вычислительных ресурсов.

Архитектура сети (рис. 1) включает сеть с произвольной топологией (облако), соединяющую узлы, которые состоят из ЭВМ и сетевого адаптера, и локальную вычислительную сеть (ЛВС) с регулярной структурой, все ЭВМ которой имеют доступ в сеть с произвольной топологией.

В состав сети произвольной топологии входят узлы хранения (компьютеры, хранящие фрагменты БД), серверы управления доставкой контента, серверы метаданных, коммутаторы. Серверы метаданных (СМ) содержат информацию о расположении и других параметрах фрагментов. Серверы управления доставкой контента (СУД) выполняют работу по взаимодействию пользователя с распределенной системой и выполняют: прием запросов от пользователей; выбор узлов сети, которые будут обрабатывать запрос; перенаправление запроса на выбранные узлы; прием ответов от узлов на пользовательский запрос; составление результирующего набора данных; перенаправление ответа сервера на запрос пользователю.

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

Порядок обработки запросов

Запрос, поступающий на любой узел сети с произвольной топологией, предусматривает доступ к определенному фрагменту РБД, и все запросы к одному и тому же фрагменту могут иметь различную длину и требуют для ответа различный объем данных. Схема обработки запросов состоит в следующем. Запрос, инициированный на узле, входящем в состав сети регулярной структуры, поступает через канал связи во входную очередь коммутатора сети с произвольной топологией (попадая на серверы управления доставкой контента). Затем в зависимости от загруженности (длины входной очереди) серверов запрос поступает во входную очередь конкретного сервера, который обрабатывает запросы в порядке их поступления. СУД производит предварительную обработку запроса.

Рис. 1. Сетевая структура

Серверы метаданных имеют информацию о размещении фрагментов РБД по узлам сети с произвольной топологией (облачной структурой). Когда освобождается один из потоков СУД, то из очереди выбирается следующее сообщение (запрос) и передается на обработку серверу метаданных, попадая в очередь. При этом сервер, выбирая сообщение из очереди, анализирует запрос, выявляя фрагменты РБД, необходимые для его выполнения. Затем по хранящейся у него таблице размещения фрагментов РБД сервер определяет узлы сети, на которых находятся требуемые фрагменты, и передает список конкурирующих узлов серверу управления доставкой. Он в свою очередь запрашивает требуемые фрагменты, учитывая при этом рейтинг узлов (чем меньше рейтинг, тем менее загруженным считается узел). Такой запрос фрагмента поступает по каналам связи облачной структуры во входную очередь наименее загруженного узла, при освобождении которого происходит выборка сообщения с запросом из входной очереди и его обработка. После ее окончания результаты передаются инициировавшему данный запрос СУД, где происходит формирование окончательного набора данных, который пересылается по каналам связи узлу сети с регулярной структурой.

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

ших БД это практически недостижимо, так как объемы памяти узлов ограничены.

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

Построение математической модели

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

В качестве исходных данных используются:

- множество узлов - U = {U1,U2,...,Un};

- множество фрагментов базы данных -R = R R2,..., Rd};

- множество интенсивностей формирования запросов - A = {Xj, X 2,..., X n};

- матрица вероятностей формирования запросов

пользователями - F = fA.Q. , i = 1,п , ] = 1, q, где

q - количество запросов на чтение;

- матрица объемов считываемой информации -

B =

bt

- матрица количества процессорных операций -

BR =

brA

- матрица X =

распределения копий Я: -го

фрагмента базы данных, ] = 1, d , по узлам сети и2, г = 1, п :

1, если копия Я^ -го фрагмента БД хЯ и = ) размещена в и2 -м узле;

0, в противном случае.

Концептуальная модель рассматриваемой информационной системы представляет разомкнутую сеть массового обслуживания, содержащую: приборы, моделирующие работу канала, коммутаторов и узлов и1,и2,...,ип; буферную память каждого коммутатора, предназначенную для хранения транзакций пользователей; буферную память каждого узла.

Описанную модель распределенной системы можно представить в виде системы массового обслуживания (рис. 2).

Для каждого из типов приборов определены две группы заявок:

1. Запросы, сформированные пользователем и -го узла, для выполнения которых необходимо обращение к фрагментам БД, размещенным в других узлах.

2. Запросы, формируемые пользователями других узлов, т. е. в и -м узле размещены фрагменты БД, которые необходимы для выполнения запросов, формируемых пользователями, прикрепленными к другим узлам.

Время ТА^ выполнения запроса Ах -го пользователя вычисляется как

TASZ = TOKls + 2W,

sw users

+6TOKZud + 6wzd + toSUD

+

+wUD + toM + wSM + toSUD + wSUD + 2TOK™AN +

+2W,

sa + to2z + w2 ? + tosud + wsud + tok2 ? + wk 2 s +

1АЫ

2z '

'

L2s '

+TOls + wu,

s = 1, n, z = 1, n , s Ф z,

где ТОК1х - время ожидания предоставления ресурсов канала для запросов на чтение данных, сформированных Ах -м пользователем; - время передачи по

каналу связи исходных запросов коммутатору сети регулярной структуры и обработки в нем служебной информации; ТОК™0^ - время ожидания ресурсов канала для передачи запросов от коммутатора сети с регулярной структурой к коммутатору облака; -

время передачи по каналу связи запросов от коммутатора сети с регулярной структурой к коммутатору сети облачной структуры; Т018ио - время ожидания

запроса в буферной памяти СУД; - время де-

композиции запроса пользователя и формирования служебного запроса о размещении требуемых фрагментов БД к СМ; ТОм - время нахождения запроса

Рис. 2. Концептуальная модель системы массового обслуживания

в буферной памяти СМ; м - время формирования сервером метаданных ответа о размещении требуемых фрагментов базы данных для передачи в СУД; ТОБ!ио -время пребывания ответа от СМ в буферной памяти СУД; - время обработки ответа от СМ и выбора

узлов сети облачной структуры, которые будут выполнять исходный запрос пользователя; ТОК^АМ -время ожидания предоставления ресурсов канала для передачи запросов от коммутатора сети облачной структуры к коммутатору подсети; РТ^АМ - время передачи по каналу связи запросов от коммутатора сети облачной структуры к конкретному узлу подсети; ТО22 - время нахождения запроса в буферной памяти Пг -го узла подсети, который будет обрабатывать запрос; - время обслуживания запроса в Пг -м узле; ТО1^ - время пребывания результатов запроса

в буферной памяти СУД; Р^а - время формирования сервером управления доставкой окончательного набора данных из результатов обработки запроса узлами; ТОи, - время пребывания результатов в буферной памяти -го узла; - время окончательной обработки результатов в -м узле; №К25 - время обслуживания каналом запросов второго типа.

Согласно данным [1], время реакции на запросы, формируемые А5 -м пользователем, вычисляется следующим образом:

ТА, = РБ^ТА» + £ , ^ = М, ^ = М ,

2=1, 2

где РБ52 - вероятность формирования пользователем А5 запросов к узлу Пг.

Тогда среднее время реакции для всех пользователей находится как

ТА = £ X тА/ £ X 5 .

5=1 / 5=1

Следует отметить, что прикрепление пользователей к репликам фрагментов БД (связь А5 -го пользователя с копией R] -го фрагмента) может быть реализовано на уровне всех запросов либо на уровне отдельных запросов пользователя. В первом варианте запросы, формируемые А5 -м пользователем, могут обращаться к только определенной копии фрагмента базы данных Rj, во втором варианте - к различным копиям фрагмента Rj.

Рассмотрим сначала вариант прикрепления пользователей к репликам фрагментов базы данных, при котором запросы, формируемые А5 -м пользователем, могут обращаться к только определенной копии фрагмента R]. Тогда дополнительно вводится матри-

лей к конкретным копиям R] -го фрагмента базы данных, 5 = 1, п, ] = 1, d , 2 = 1, п , где

yAsRjUz

1, если А5 -й пользователь прикреплен к копии Я] -го фрагмента узла Пг; 0, в противном случае.

Соотношения для расчета временных характеристик имеют вид:

- вероятность того, что А5 -й пользователь сформирует запросы к Я] -му фрагменту БД (вероятность

их информационной связи), Р1А Я, = £ fA д.8(ЬдЯ ),

г =1

5(Ь0Я ) - символ Кронекера;

- вероятность информационной связи А5 -го пользователя с -м узлом с учетом прикрепления пользователя к копиям фрагментов БД,

d

РБА!Рг = £ Р1АЯ]УАЯ]иг ; ]=1

- интенсивность входного потока для каждой из групп заявок: для первой группы - Х15 = X5 (1 - РБА и );

п

для вт°р°й - х25 = £ х2РБА2и5 .

2=1, 2

Расчет времени обслуживания, включающий учет затрат на получение данных, которые были предварительно считаны и обработаны в П2 -м узле, 2 Ф 5 , а также на последующее выполнение вычислительных процедур, базируется на нахождении характеристик, приведенных в работе [2].

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

возможно прикрепление запросов к различным репликам этого фрагмента, размещенным в узлах и Пг.

Тогда вводится матрица Z =

-AQRjU2

прикреп-

ца Y =

yAsRjUz

прикрепления запросов пользовате-

ления запросов пользователей к конкретным копиям Я] -го фрагмента базы данных на уровне отдельных

запросов, 5 = 1, п, г = 1,9, ] = 1, d, 2 = 1, п , где

1, если д>г -й запрос к Я ] -му фрагменту БД, формируемый А5 -м пользователем, прикреплен к копии фрагмента в и 2 -м узле; 0, в противном случае.

z

AsQiRjUz

Для предложенных вариантов прикрепления пользователей к репликам фрагментов вычисляются значения загрузки рь =ХksWKks, k = 1,2, и вторые мо-2 2

менты xks = 2Wks. Тогда время ожидания обслуживания Us -м узлом запросов k -го типа для бесприоритетной дисциплины FIFO определяется из следующего соотношения [3]:

to'sud = toSUD = TO^D = toSM = TOis = TO2S =

. 2 -2

= TOs =| ksXks

v k=1

2|1 "ZPks

k=1

Таким образом, в математической модели тран-закционной системы с репликацией фрагментов базы данных с учетом описанных вариантов прикрепления пользователей к репликам определены составляющие для вычисления времени реакции на запросы 5 -го

пользователя - ТА55 и ТА52, 5 = 1, п, 5 Ф 2 , формируемые к фрагментам, а также для нахождения интегральных характеристик ТА5 и ТА - соответственно времени реакции на запросы 5 -го пользователя и времени реакции системы.

Выводы

В рамках данной работы были достигнуты следующие результаты:

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

2. Приведен обобщенный порядок обработки запросов к РБД в сети, построенной по принципу облачной структуры.

3. Предложена математическая модель, описывающая ОЬТР-систему как разомкнутую сеть массового обслуживания, в которой в качестве показателей скорости работы принято среднее время реакции на запрос пользователя, а также время реакции системы в целом.

Следует отметить, что предложенная модель требует дальнейшего детального анализа. Автор ведет работу в этом направлении.

Литература

1. Черноморов Г.А. Теория принятия решений: учеб. пособие / Юж.-Рос. гос. техн. ун-т; ред. журн. «Изв. вузов. Электромеханика»: 2-е изд. перераб. и доп. Новочеркасск, 2005. 448 с.

2. Клейнрок Л. Вычислительные системы с очередями. М., 1979. 600 с.

3. Матвеев В.Ф., Ушаков В.Г. Системы массового обслуживания. М., 1984. 240 с.

Поступила в редакцию 2 октября 2012 г.

Горобец Валерий Владимирович - аспирант, кафедра «Информационные и измерительные системы и технологии», Южно-Российского государственного технического университета (Новочеркасского политехнического института). E-mail: VTL88@mail.ru

Gorobets Vitali Vladimirovich - post-graduate student, department «Information and Measuring Systems and Technologies», South-Russia State Technical University (Novocherkassk Polytechnic Institute). E-mail: VTL88@mail.ru