автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.17, диссертация на тему:Операторный метод оценки времени выполнения запросов в параллельной колоночной системе баз данных

кандидата технических наук
Ермаков, Евгений Юрьевич
город
Москва
год
2015
специальность ВАК РФ
05.13.17
Автореферат по информатике, вычислительной технике и управлению на тему «Операторный метод оценки времени выполнения запросов в параллельной колоночной системе баз данных»

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

На правах рукописи

Ермаков Евгеиий Юрьевич

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

Специальность 05.13.17 — Теоретические основы информатики (технические науки)

АВТОРЕФЕРАТ диссертации па соискание ученой степени кандидата технических наук

- 1 гтм 7-775

Москва - 2015

005561905

005561905

Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Московский государственный технический университет имени Н. Э. Баумана».

Научный руководитель:

Официальные оппоненты:

Ведущая организация:

Григорьев Юрий Александрович, доктор технических наук, профессор кафедры систем обработки информации и управления МГТУ им. Н.Э. Баумана

Юрчик Пётр Францевич, доктор технических наук, профессор кафедры

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

университета (МАДИ)

Бурдаков Алексей Викторович, кандидат технических наук, заместитель руководителя программ по разработке и внедрению автоматизированных информационных систем корпорации «Блэк энд Витч Спешиал Проджектс Корп.»

Федеральное государственное учреждение "Федеральный исследовательский центр "Информатика и управление" Российской академии наук"

Защита диссертации состоится 15 октября 2015 года в 13 часов на заседании диссертационного совета Д 212.147.03, созданного на базе МГУП имени Ивана Федорова по адресу 127550, Москва, ул. Прянишникова, д. 2а.

С диссертацией можно ознакомиться в библиотеке МГУП имени Ивана Федорова. Электронная версия диссертации размещена: http://mgup.riL

Ваши отзывы в 2-х экземплярах, заверенные печатью, просим выслать по указанному адресу. ,/

Автореферат разослан «.¿О » и, Ьщаи 2015 г.

Ученый секретарь Диссертационного совета Д 212.147.03

Агеев В.Н.

Подписано к печати « 14» СС-ЮЛЯ 20<б"г. Объем 1 п.л. Тираж 100 экз.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Являясь одними из наиболее значимых элементов ИТ-инфраструктуры предприятия, базы данных (БД) консолидируют информацию, необходимую для создания достоверных аналитических и управленческих отчетов. Они являются одними из крупнейших источников информации для современных аналитиков и в ближайшей перспективе останутся ключевым компонентом ИТ-инфраструктуры предприятий.

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

Методы анализа временных характеристик для параллельных строчных баз данных (Oracle, MS SQL Server и т.д.), учитывающих специфику запросов к базе данных, уже разработаны и представлены в работах Ю.А.Григорьева, А.Д. Плутенко, B.JI. Плужникова. Но в настоящее время в крупных зарубежных и отечественных компаниях внедряются новые системы баз данных с иной организацией хранения данных, которые получили название параллельных колоночных систем баз данных (ПКСБД). Первые внедрения этих систем при разработке больших баз данных, используемых в системах поддержки принятия решения, свидетельствуют о значительном повышении производительности процесса обработки запросов, в частности в аналитических расчетах. При этом имеет место существенное сокращение объема ввода/вывода по сравнению с аналогичными строчными системами и значительное снижение времени выполнения аналитических запросов.

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

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

системы, параллелизм выполнения запросов в узлах, режимы работы системы, структуру сложного многопроцессорного аппаратно-программного комплекса.

Цель работы. Целью данной работы является разработка математических методов и программных средств оценки времени выполнения запросов в параллельных колоночных системах баз данных (ПКСБД).

В работе решаются следующие задачи:

1) анализ и сравнение процессов выполнения запросов в параллельной строчной и колоночной системе баз данных;

2) разработка аналитических моделей выполнения запросов в ПКСБД с различными архитектурами, включая хранилища данных ЯОЬАР, на основе операторного метода;

3) разработка комплекса поддержки принятия решений на этапе проектирования ПКСБД на основе полученных аналитических моделей;

4) применение разработанного комплекса для анализа производительности хранилища данных крупной организации на этапе проектирования.

Объект исследования. Объектом исследования являются параллельные системы баз данных с колоночным хранением.

Предмет исследования. Предметом исследования являются процессы обработки запросов в параллельных колоночных системах баз данных.

Область исследования из паспорта специальности 05.13.17.

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

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

Научная новизна. В работе получены следующие новые научные результаты:

1. Разработан метод анализа времени выполнения запроса к одной таблице в параллельной колоночной системе баз данных (ПКСБД) для различных архитектур системы, учитывающий планы выполнения запроса с ранней и поздней материализацией.

2. Предложен метод оценки времени соединения таблиц в ПКСБД для различных архитектур (БЕ, ББ, 8Ы) и режимов работы системы (пакетный и «запрос-ответ»).

3. Разработан метод оценки времени выполнения запроса к параллельному колоночному хранилищу данных с учетом особенностей «скрытого соединения» для каждого этапа этого процесса.

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

Практическая ценность полученных результатов. В работе проведен анализ адекватности разработанных моделей на примере колоночной СУБД MonetDB и HP Vertica. Погрешность оценки времепи выполнения запроса к одной таблице составило не более 30% при следующем распределении: <10% - 70 случаев, >10% и <20% - 20 случаев, >20% и <30% - 30 случаев. Подобное распределение погрешности свидетельствует о возможности применения полученной математической модели оценки времени выполнения запросов на этапе проектирования ПКСБД.

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

Внедрение результатов исследований. Разработанные методы и инструментальное средство были применены в процессе проектирования и анализа качества работы хранилища данных, используемого для расчета ключевых показателей эффективности бизнес-процессов ЗАО АКБ «НОВИ-КОМБАНК» в рамках сертификации по системе менеджмента качества (ISO 9000). Хранилище данных обеспечивает выполнение трех основные задач: накопление данных, их бессрочное хранение и предоставление данных аналитикам. В соответствии с предъявленными требованиями и с учетом специфики предметной области были сформулированы предложения по реализации хранилища.

Публикаппн по теме. По материалам работы опубликовано 10 печатных работ, 4 из них — в журналах, рекомендовашгых ВАК.

Апробация работы. Материалы работы были изложены автором на следующих конференциях:

• НТС кафедры ИУ-5 МГТУ им. Н.Э. Баумана, М., 2011-2014;

• Международная научно-практическая конференция ИНФО-2012 «Инновации на основе информационных и коммуникационных технологий», г. Сочи, 2012;

• VII Международная научно-практическая конференция «Современные информационные технологии и ИТ-образование», МГУ им. М.В. Ломоносова, 2012;

• VIII Международная научно-практическая конференция «Современные информационные технологии и ИТ-образование», МГУ им. М.В. Ломоносова, 2013;

• Шестой Всероссийский форум студентов, аспирантов и молодых ученых «Наука и инновации в технических университетах», Санкт-Петербургский Государственный Политехнический Университет, 2012. Работа удостоена гранта Президента РФ молодым ученым и аспирантам на 2012-2014 гг.

Объем работы. Диссертационная работа содержит 171 страницу, 63 рисунка и 14 таблиц, список литературы из 142 наименований.

СОДЕРЖАНИЕ РАБОТЫ Во введении обосновывается актуальность проблемы. Формулируются цели и задачи исследований, приводится перечень основных результатов, выносимых на защиту, и излагается краткое содержание глав диссертации.

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

Показано, что существующие реляционные СУБД, построенные с учетом технологических ограничений 25-летней давности, не отвечают в полной мере современным требованиям. Альтернативным решением является применение параллельных колоночных систем баз данных. Они позволяют на более дешевом и маломощном оборудовании повысить быстродействие процесса обработки запросов за счет уменьшения времени выполнения в 5, 10 и иногда даже в 100 раз. При этом, благодаря сжатию колонок данных, объем базы данных, хранимой на диске сокращается в 5-10 раз. Приведены следующие недостатки ПКСБД: колоночные системы медленно работают на обновление, не подходят для транзакционных систем, имеют ряд ограничений для разработчика, привыкшего к традиционным СУБД.

Проанализированы отличия колоночных и строчных систем баз данных. Выделены основные особенности реализации плана запросов на основе синхронного конвейера, итераторной модели, скобочного шаблона. Приведено описание специфичных для ПКСБД операций материализации и скрытого соединения. ПКСБД рассмотрена как сложная система - совокупность аппаратных, информационных и программных объектов, включающих колоночную СУБД и объединённых связями так, что они функционируют как единое целое, приобретающее новые свойства: способность обрабатывать сложные запросы к базе данных (рисунок 1). Дано понятие оценки характеристик производительности ПКСБД как прогнозирование времени выполнения различных типов запросов к базе данных и качества проектируемой

системы как свойство ПКСБД выполнять запросы к БД при заданных ограничениях на время их выполнения.

Описание системы

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

др.

Одной из основных проблем разработки ПКСБД является тот факт, что временные показатели системы зависят от решений, принимаемых на ранних этапах проектирования. На этих этапах анализ и выбор вариантов решений осуществляется при достаточно высоком уровне неопределённости исходных данных. Поэтому натурное моделирование здесь крайне затруднено. Выходом из положения могла бы быть разработка адекватных математических моделей системы.

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

Во второй главе «Аналитическая модель оценки времени выполнения запросов в ПКСБД» предложен новый математический метод получения оценки временных показателей ГЖСБД, необходимых для прогнозирования качества работы системы на этапе проектирования.

Использован операторный метод анализа: получены формулы для преобразования Лапласа-Стилтьеса (ПЛС) времени выполнения SQL-запроса на чтение данных из одной таблицы, двух таблиц (операция соединения) и хранилища данных для различных архитектурных решений ПКСБД. При этом учитывались следующие условия: колоночное хранение данных, наличие компрессии данных (метод RLE), каждая колонка хранится на диске в своих блоках, отдельная колонка представляет собой таблицу с кортежем (значение атрибута, позиция), наличие пересечения битовых масок. Идея вывода формул основана на использовании суперпозиции ПЛС времени обработки кортежей колонок и материализованных записей в ресурсах (процессоре, диске, ОП, шине сети) и производящих функций, учитывающих число обрабатываемых записей таблиц в узле и вероятности, что запись удовлетворяет различным подусловиям поиска.

В работе получено выражение ПЛС времени выполнения запроса на чтение данных из одной таблицы ПКСБД с ранней материализацией (план

KF

яка f(R), условие поиска F = f0n f)ft ):

<=i

i=l j=KF+1

: = (1-Р2(1-ФмЧ*)ФГ('))), (2)

где G = z " . производящая функция (ПФ) числа позиций (записей), обрабатываемых на одном процессоре, V - общее число записей в таблице R, п

- число процессоров в кластере (или в машине); Kf - число атрибутов в условии F, для которых заданы элементарные условия поиска (т.е. фильтрация по атрибуту);

X, О, г,т) = фа (з)фгр (s); (3)

Фо^)- ПЛС времени чтения кортежа i-ro столбца с диска; (j) - ПЛС времени сохранения атрибута в ОП и его чтения в кэш процессора; Vi -размер атрибута; m-v, - число операций чтения/записи в оперативную память, необходимых для проверки условия по соответствующему атрибуту; фгР(в)

- ПЛС времени обработки кортежа столбца в процессоре, г — число логических операций, необходимых для проверки условия по соответствующему атрибуту; Кд — число атрибутов в проекции 7га запроса и число атрибутов, входящих в предикат /0; xJ(sl\,mj) - ПЛС времени чтения кортежа j-ro столбца проекции лА с диска в кэш процессора (см. (1) и (3)); I означает, что

в процессоре проверяется только значение битовой маски в позиции, ука-

К,г

занной в кортеже; Р ¡= , Ру - вероятность^ что кортеж ¡-го столбца ¡-1

удовлетворяет элементарному условию - учитывает, что для про-

верки условия /о для материализованных записей потребуется 'ц' логических операций процессора; Р2 - вероятность, что материализованный кортеж удовлетворяет условию /о ; фмУ(я)- учитывает перемещение записей таблицы Я, удовлетворяющих условию поиска Р, из кэша процессора в ОП, а затем из ОП в буфер межпроцессорной шины (см. (2)); V — размер сформированного кортежа, \zv-v — количество операций чтения/записи, которое необходимо для перемещения сформированных записей; - учитывает

передачу записей таблицы Я, удовлетворяющих условию поиска Б, по шине сети процессору, выполняющему сборку.

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

Ниже приведено полученное выражение для преобразования Лапласа-Стилтьеса (ПЛС) времени выполнения запроса к базе данных, отражающее особенности последовательного плана запроса с поздней материализацией. Для ПЛС времени выполнения запроса на одном процессоре кластера (или машины) имеем:

^) = С(;г1(5,г1,т1)-Ч'1(*,2)), (4)

г = П(Рт,Ч>1Т(*)-ФмЧ*)-ФмЧз)), (5)

П{Р,2) = \-Р{\-2), (6)

где в - производящая функция (ПФ) числа позиций (записей) таблицы (отношения) Я в узле, функция ^(э.г) учитывает, что читаются кортежи колонок по позициям, которые удовлетворяют условиям поиска по предыдущим атрибутам. Эта функция рекуррентно определяется следующим образом: % = П (Р^хг&ьпь) - Т2(^)), (7)

У, (.?, г) = П(РГ,, /;+1, )• Т((+1) (.V, 2)),

Ь=]Кг[ - мощность подмножества атрибутов отношения, по которым происходит фильтрация кортежей по условию П/ •

/=1

Аналогичным способом в диссертации получены аналитические выражения ПЛС времени выполнения более сложных запросов на чтение данных из двух таблиц (соединение методом NLJ) и хранилища данных (метод «скрытого соединения»),

В работе проанализированы два режима: пакетный режим (offline) -он предполагает, что сервер выполняет пакет сложных трудоемких запросов

- и режим «запрос-ответ» (online) - он предполагает, что сервер отвечает на короткие аналитические запросы пользователей.

Формулы для <f>Di(s) (i - номер колонки, т.е. атрибута), <j>M(s), Фи(s)> Фр(я) в зависимости от архитектуры ПКСБД и режима работы представлены в таблице 1. Это ПЛС времени обработки кортежа или записи в ресурсе: D

- диске, М - ОП, N - шине сети, Р - процессоре.

Таблица 1

Фм(?) 0N(s) Фр(И)

Online ш vi (1-7-) + т-((1 -Ро) + lj lj , Mdb -¿db ч Мм (обмен между процессорами осуществляется через ОП) цр-кр hp -Xp+s

О сл 1 И и 3 > U/m ~ Апв + s Мм м fiN -XN

г ся Li А +р°—тл—) п Мм -4r +s fiN-XN+s

Offline (1-Г)+Г((1-Рв)+Ро Пш (s)) 9 Мм Mn Mp

vdb(s) j ' 4>db с5. П(т7-,<Pdb(s)) Nd Mdb+S Mm+s Mn +s HP+s

В таблице 1 приняты следующие обозначения: бв

= 7;—Т,— " числ0 позиций в блоке 1-го столбца, (Зб - размер блока диска, СЫ - размер кортежа ¡-го столбца, ка -среднее число позиций, покры-

ваемых кортежем (учитывает сжатие), 1-рэ - вероятность, что блок находится в буфере, А,х и (ix - это интенсивности поступления и обработки кортежей столбцов, материализованных записей и блоков в ресурсе (x=DB -диске, х=М - оперативной памяти, х=Р - процессоре, x=N - шине сети), No - число дисков в RAID-массиве, п - число узлов в ПКСБД, ®(z) - производящая функция числа пакетов, обрабатываемых параллельно.

Из таблицы 1 можно видеть, что модели ресурсов представлены экспоненциальными СМО с очередью (наличие кх) или без очереди. Это позволяет представить сеть массового обслуживания обработки запроса в ресурсах в виде совокупности независимых СМО М/М/1 (это доказывается в теории массового обслуживания в виде теоремы разложения Джексона), что существенно упрощает анализ.

Для вычисления моментов результирующей функции распределения F(x) случайной величины можно избежать получение оригинала F(x) по его изображению <j>(s), используя свойства ПЛС. Дифференцируя выражения (I) и (4) как сложную функцию по s в нуле, получим моменты случайного времени (£) обработки запроса в ПКСБД:

М4 =-ф\0), Ме =ф\0), а] =Ме-м}, (8)

а также правые границы доверительного интервала:

T=Ms+ras, (9)

где г зависит от задаваемой надёжности (доверительной вероятности) а = Р(£<Т).

Следует подчеркнуть, что в работе выведены ПЛС времени выполнения запросов о одном узле (процессоре). Это и есть ПЛС времени выполнения исходного запроса, т.к. на разных узлах запрос выполняется параллельно. Оценка правой границы доверительного интервала (9) позволяет определить время выполнения запроса на самом медленном узле.

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

Для проверки достоверности разработанных моделей были проведены натурные эксперименты на колоночной базе данных для различных конфигураций. Ниже приведены результаты сравнения модельных и натурных экспериментов (рисунок 2). Относительная погрешность |Д| /М имеет следующее распределение для данной серии экспериментов: <10% - 70 случаев; >10% и <20% - 20 случаев; >20% и <30% - 30 случаев. Подобное распределение погрешности позволяет использовать полученный математический метод на этапе проектирования, где не требуется очень высокая точность моделирования (важны тенденции, закономерности).

50 45 40 35 30 25 20 15 10 5 0

10-15% 15-20% 20-25% 25-3054

Рисунок 2. Относительная погрешность серии экспериментов.

В работе проведена серия модельных экспериментов, по результатам которых было установлено следующее:

• для колоночной системы 15сек отметка среднего времени выполнения запроса при 10% используемых в запросе атрибутов достигается при меньшем числе машин (п=2), чем для строчной системы (п=10);

• при использовании в запросе менее 20% атрибутов время выполнения запроса в колоночной системе меньше в разы по сравнению со строчной, при большем количестве атрибутов время выполнения запроса растет практически пропорционально числу используемых в запросе атрибутов;

• для архитектуры 8Е (архитектура с разделяемыми памятью и дисками) увеличение числа процессоров более 4-х не приводит к существенному уменьшению времени обработки запросов к базе данных;

• для архитектуры (архитектура без совместного использования ресурсов) также, как и для архитектуры 8Е, с ростом количества узлов темпы снижения времени выполнения запроса замедляются, но при этом возрастает предельный порог интенсивности. При этом предельные значения интенсивности более чем в 5 раз превосходят аналогичные значения для архитектуры ЭЕ;

• для пакетной обработки время выполнения запросов практически линейно зависит от числа обрабатываемых пакетов;

• метод скрытого соединения превосходит по скорости метод N0, причем соотношение времени выполнения сохраняется при изменении количества узлов; при увеличении объема обрабатываемых данных время выполнения запросов при использовании метода МЛ увеличивается быстрее, чем при методе скрытого соединения

В третьей главе «Разработка программного комплекса поддержки принятия решения на этапе проектирования ПКСБД» разработано программное средство поддержки принятия решения при проектировании ПКСБД. Приведено описание комплекса (КППРП) на концептуальном, функциональном и структурном уровнях, а также формализованное описание схемы БД комплекса и программного обеспечения на основе методоло-

гии объектно-ориентированного анализа и проектирования с использованием унифицированного языка моделирования (UML - Unified Modeling Language). Для описания прикладной части КПГТРП разработана объектная модель, представленная в виде диаграммы классов.

Были реализованы следующие основные требования к КППРП.

1. Для расчета оценки значения целевой функции и характеристик исследуемой системы КППРП должен обеспечивать описание

• концептуального проекта проектируемой параллельной колоночной системы баз данных (ПКСБД): схемы базы данных и параметров её наполнения, спецификаций запросов и логических транзакций системы, которые могут обращаться к другим транзакциям ПКСБД,

• архитектуры ПКСБД: топологии и характеристик узлов, распределения таблиц и транзакций по узлам ПКСБД, интенсивностей обращений рабочих станций к транзакциям.

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

3. По результатам моделирования КППРП должен предоставлять аналитику средства исследования системы (для нечётких исходных данных должна быть определена степень разделения вариантов):

• в случае прямой задачи исследования пользователю КППРП необходимо анализировать временные характеристики производительности и выявлять "узкие места" распределённой системы; при этом необходимо определить, какие запросы или транзакции наиболее существенно влияют на быстродействие системы в целом;

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

В процессе проектирования КППРП разработана модель унифицированного интерфейса математического ядра с остальными компонентами комплекса (рисунок 3). Математическое ядро представляет собой набор объектов, которые на основе входных данных выполняют расчет временных характеристик системы.

Стандартный интерфейс математического модуля предоставляет возможность заменять ядро расчетов, регламентируя форматы входных и выходных данных, а также вызываемые функции. Таким образом, комплекс можно использовать для оценки характеристик производительности не только колоночных систем, но и строчных систем, а также баз данных NoSQL. При этом достаточно заменить модуль математического ядра. Задача независимости ядра от системы была решена путём использования паттерна «Мост». Назначение данного паттерна заключается в отделении

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

В качестве входных данных модели (см. рисунок 3) используется хт1-структура с описанием параметров моделируемой системы. Перед обработкой она проходит ХЭП-валидацию и проверку на корректность введенных значений. После этого происходит загрузка необходимого для расчетов математического ядра и считывание параметров для конкретной указанной системы баз данных. Так как входные данные включают в себя варьируемые параметры (диапазон и шаг итерации параметра), то перед передачей в математическое ядро происходит их преобразование в данные для расчёта.

Выходные данные

.Г ^

/X г-^

I I

Входные данные

A

Next

Calculate

V V

Результаты расчета

I

Математическое ядро

~У \Г

/ ч

/ \

Параметры Данные для мат.модели расчета

Рисунок 3. Унифицированный интерфейс комплекса с математическим ядром.

В соответствии с этими входными данными КППРП автоматически генерирует граф «станция-канал», который соответствует топологии анализируемой системы. Используя описание распределения транзакций и таблиц базы данных по узлам моделируемой системы, комплекс выполняет навигацию по транзакциям и запросам к базе данных, обращаясь при этом к методам объектов математического ядра, используя унифицированный интерфейс. Эти объекты и выполняют требуемые расчёты временных характеристик.

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

В рамках описания интерфейса на верхнем уровне необходимо определить две функции - расчета (Calculate) и считывания следующих параметров для расчета (Next).

В четвертой главе «Применение разработанного КППРП для проектирования хранилища данных в крупной организации» приведено описание использования разработанных методов и инструментального средства в процессе проектирования хранилища данных, используемого для расчета ключевых показателей эффективности процессов АО АКБ «НОВИКОМ-БАНК» по системе менеджмента качества.

Система менеджмента качества (СМК) — это система, обеспечивающая эффективную работу предприятия, в том числе и в области управления качеством выпускаемой продукции. Наиболее эффективными при создании СМК считаются требования, зафиксированные в международных стандартах ISO серии 9000. СМК призвана обеспечивать качество продукции или услуг предприятия и «настраивать» это качество на ожидания потребителей (заказчиков).

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

В рамках описания создаваемого хранилища приведено описание концептуального и технического проектов для нескольких вариантов организации хранилища данных. Было предложено два варианта концептуального и технического проектов:

• концептуальный проект: 1) нормализованная схема БД, 2) денормализо-ванная схема БД;

• технический проект: 1) централизованное хранение и обработка информации на одном сервер БД, 2) распределенная обработка на кластере компьютеров.

Проведено моделирование системы в пакетном режиме и режиме запрос-ответ для различных схем баз данных. Исследованы граничные условия использования проектируемой системы на соответствие временным требованиям. По результатам моделирования были выработаны следующие рекомендации к проектируемому хранилищу данных:

1. Рекомендуется применять колоночные систем вместо строчных, так как на аналитических нагрузках они показывают существенный прирост производительности. Это позволит получить 18-кратное уменьшение времени выполнения запроса по сравнению со строчной системой.

2. Рекомендуется использовать денормализованную схему БД вместо нормализованной, что позволит использовать преимущества колоночных систем. Из рисунка 4 видно, что в депормализованном хранилище запросы выполняются в несколько раз быстрее, чем в нормализованном. Это позволяет сократить время выполнения запросов в среднем в 3.7 раза.

3,5 3

а Не рл аж но ализованное

■ -....................^Р 85! Де радализсванне«

1,5 лище.........—......

Г ; 1. 1... 1 I | 1.. | Т

" 1 1 ( й 1.1

ХНЕШШЦЫХСГСХС 3 э 5 з з э 5 э 5' 5' : аосагаааааи^о^ 1 < ээгээээооэээээээ 20С1000>>>>>£Е£Ё

Рисунок 4. Время выполнения запросов в при разных схемах БД.

3. Рекомендуется использовать распределенную систему вместо централизованной. В таком случае производительность системы будет меньше зависеть от количества пользователей системы.

4. Так как сервер в долгосрочной перспективе с учетом прироста данных отвечает поставленным временным критериям, возможно сэкономить до 45% мощности сервера для решения других задачи.

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

ВЫВОДЫ

1. Разработан метод анализа времени выполнения запроса к одной таблице в параллельной колоночной системе баз данных (ПКСБД) для различных архитектур системы, учитывающий планы выполнения запроса с ранней и поздней материализацией.

2. Предложен метод оценки времени соединения таблиц в ПКСБД для различных архитектур (БЕ, БВ, 5>М) и режимов работы системы (пакетный и запрос-ответ).

3. Разработан метод оценки характеристик времени выполнения запроса к параллельному колоночному хранилищу данных с учетом особенностей «скрытого соединения» для каждого этапа этого процесса.

4. Выполнен анализ адекватности разработанных аналитических моделей на запросах, имеющих план тгл(стн(К)). Относительная погрешность

|Д|/М имеет следующее распределение для данной серии экспериментов: (0,10%) - 70 случаев, (10%, 20%) - 20 случаев, (20%, 30%) - 30 случаев. Полученное распределение позволяет говорить об удовлетворительной точности модели. Эти модели можно использовать на ранних этапах проектирования параллельных колоночных систем баз данных, когда высокая точность моделирования не требуется.

5. На конкретных примерах продемонстрировано, что при достаточном сжатии столбцов время выполнения запроса в ПКСБД меньше, чем в строчной системе даже при использовании в запросе 100% атрибутов. Показано, что математические модели, в отличие от натурных стендов, позволяют достаточно просто менять различные параметры, строить и сопоставлять зависимости.

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

7. Разработанные методы и инструментальное средство были применены в процессе проектирования и анализа хранилища даш!ых, используемого для расчета ключевых показателей эффективности бизнес-процессов АО АКБ «НОВИКОМБАНК» по системе менеджмента качества (ISO 9000). Проведено моделирование систем в пакетном режиме и режиме «запрос-ответ» для различных схем баз данных. Показано, что предпочтительно использовать колоночную систему с денормализованной схемой БД, что позволяет получить 50-кратное увеличение быстродействия по сравнению со строчной. Исследованы граничные условия использования системы на соответствие поставленным временным требования. Сформулированы рекомендации по результатам моделирования.

СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

Публикации в журналах, рекомендованных ВАК:

1. Григорьев Ю.А., Ермаков Е.Ю. Модель обработки запросов в параллельной колоночной системе баз данных // Информатика и системы управления.-2012.-№ 1,-С. 3-15.

2. Григорьев Ю.А., Ермаков Е.Ю. Модель обработки запроса к одной таблице в параллельной колоночной системе баз данных и анализ ее адекватности // Информатика и системы управления. - 2012. - № 2. - С. 170179.

3. Григорьев Ю.А., Ермаков Е.Ю. Оценка времени соединения двух таблиц в параллельной колоночной системе баз данных // Вестник Ml ТУ им. Н.Э. Баумана. Сер. "Приборостроение". 2012. № 4- С. 80-99.

4. Григорьев Ю.А., Ермаков Е.Ю. Сравнение процессов обработки запроса к одной таблице в параллельной строчной и колоночной системе баз данных// Вестник МГТУ им. Н.Э. Баумана. - 2012. - Специальный выпуск №5.-С. 31-45.

Остальные публикации:

5. Ермаков Е.Ю. Анализ и сравнение процессов обработки запроса к таблице в параллельных колоночных и строчных хранилищах данных // Инновации на основе информационных и коммуникационных технологий: Материалы международной научно-практической конференции. / Под ред., С.У.Увайсова; Отв. За вып. И.А.Иванов-М.:МИЭМ НИУ ВШЭ, 2012, 624 с.

6. Ермаков Е.Ю., Григорьев Ю.А. Анализ и сравнение процессов обработки запросов в параллельных колоночных и строчных хранилищах данных. Наука и инновации в технических университетах: материалы Шестого Всероссийского форума студентов, аспирантов и молодых. - СПб.: Изд-во Политехи. Ун-та, 2012. - 203 с.

7. Ермаков Е.Ю. Анализ и сравнение процессов обработки запроса к таблице в параллельных колоночных и строчных хранилищах данных // Со-времешше информационные технологии и ИТ-образование / Сборник избранных трудов VII Международной научно-практической конференции. Под ред. проф. В.А. Сухомлина. - М.: ИНТУИТ.РУ, 2012. - 1050с. -ISBN 978-5-9556-0140-3

8. Григорьев Ю.А., Ермаков Е.Ю. Анализ времени выполнения запроса в параллельном колоночном хранилище данных / Инженерный журнал: наука и инновации, 2013, вып. 11.

9. Ермаков Е.Ю. Математическая модель времени выполнения запроса в параллельном колоночном хранилище данных и анализ ее адекватности // Современные информационные технологии и ИТ-образование / Сборник избранных трудов VIII Международной научно-практической конференции. Под ред. проф. В.А. Сухомлина - М.: ИНТУИТ.РУ, 2013. — 829 с. - ISBN 978-5-9556-0155-7

10.Y.A. Grigoriev, E.Y.Ermakov Mathematical model of the request processing in a parallel column database system / The strategies of modern science development, Yelm, WA, USA: Science Book Publishing House, 2013

Подписано в печать:

14.07.2015

Заказ № 10854 Тираж - 100 экз. Печать трафаретная. Объем: 1 усл.п.л. Типография «11-й ФОРМАТ» ИНН 7726330900 115230, Москва, Варшавское ш., 36 (499) 788-78-56 www.autoreferat.ru