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

Методика повышения производительности крупных информационных систем за счет реструктуризации данных на основе кластерного анализа статистики запросов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
239
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ / ОПТИМИЗАЦИЯ / КЛАСТЕРНЫЙ АНАЛИЗ / НЕЧЕТКАЯ ЛОГИКА / СТРУКТУРЫ ДАННЫХ / БАЗЫ ДАННЫХ / СИСТЕМНЫЙ АНАЛИЗ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бельченко И.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бельченко И.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Methods of improving the performance of large information systems by restructuring data based on cluster analysis of query statistics

The performance of the information system is related to the data structures that are used in it. Most large information systems and software complexes use relational databases to store information. The variety of requests for reading information from client applications makes the task of choosing the optimal structure of the database very laborious and requiring the application of methods of system analysis. The aim of the work is to develop a methodology for restructuring the table structures of data of large information systems based on the cluster analysis of query statistics. Materials and methods. To formalize the domain, the parameters and sets that affect the processing speed of requests for reading information to the database table being researched are highlighted. Existing approaches to improving database performance are considered. The problem of optimization of the number of data blocks necessary for processing a group of requests for reading information is formulated. A method is proposed for searching for a sub-optimal partitioning of the investigated table on the basis of a cluster analysis of query statistics. The algorithm of the technique is described. Conclusions. An approach is proposed for finding a suboptimal partition of the investigated table structure into its children. The proposed methodology is especially relevant for database tables of large information systems. The experimental approbation of the technique is carried out. The obtained results can be used in the design of domestic DBMS.

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

Cloud of Science. 2018. T. 5. № 2 http:/ / cloudofscience.ru

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

И. В. Бельченко

Кубанский государственный технологический университет 350072, Краснодар, ул. Московская, 2

e-mail: ilur@mail.ru

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

1. Введение

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

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

в масштабировании вычислительных комплексов, повышении пропускной способности вычислительных сетей и т. д. При решении задачи выбора новой конфигурации аппаратного обеспечения чаще всего учитываются стоимость реконфигурации, а также возрастающая потребность в энергоресурсах [1]. Повышение качества программных комплексов и компонент — ресурсоемкий процесс, требующий временных и финансовых затрат. При выборе этого подхода как решения проблемы повышения производительности крупных информационных систем лицо, принимающее решение (ЛПР), сталкивается с множеством слабоструктурированных задач, начинающихся с анализа требований к информационной системе и заканчивающихся подбором конечных исполнителей — разработчиков.

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

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

- подход, основанный на статистическом анализе группы запросов на чтение информации и получении оптимального набора индексов таблиц для минимизации времени выполнения запроса [2];

- денормализация БД — приведение структуры базы данных в состояние, не соответствующее критериям нормализации, проводимое с целью ускорения операций чтения из базы за счет добавления избыточных данных [3];

- секционирование данных — основной смысл состоит в физическом размещении частей одной таблицы по разным файлам, взаимодействие с которыми на уровне файловой системы и дискового массива осуществляется параллельно [4];

- рефакторинг табличных структур, который основан на их вертикальном разделении [5].

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

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

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

го размещения на жестких дисках зависит количество обращений к дисковым накопителям, которые сопровождаются соответствующими прерываниями и задержками по времени. На скорость поиска информации в БД влияют: объем блока в байтах, объем файла, количество записей в блоке файла, количество записей в блоке индекса, количество блоков в файле, доля резервной части блока, число полей в записи, размер записи в байтах [6].

2. Постановка задачи рефакторинга табличных структур данных

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

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

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

3. Оптимизация табличных структур данных информационной системы

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

1. Целочисленный параметр Т8, равный количеству атрибутов в исследуемой таблице.

2. Вектор типов данных DBT = | idbt = 1, пЛЫ{], которые поддерживаются конкретной выбранной СУБД. Элемент вектора — занимаемый элементом типа размер данных в байтах памяти.

3. Набор атрибутов (столбцов таблицы) ТА, который задан бинарной матрицей, элемент которой taitajta равен единице, если столбец иа таблицы имеет тип jta, Ш = 1,..., Т5, jta = 1,..., пЛЫ.

4. Множество, представляющее группу запросов ( = {ц | iq = 1,щ] на чтение информации из таблицы базы данных, элемент множества кортеж из двух элементов qiq = , (А], где — числовой параметр, равный частоте появления

запроса за выбранный период времени, (А = {ца | iqa = 1,75"] — бинарный вектор, размерность которого равна количеству атрибутов таблицы Т5; = 1, если ат-

рибут таблицы ТА участвует в запросе, и 0, в противном случае; пц — количество запросов в статистической выборке, выявленной в рамках жизненного цикла БД. Множество индексов, характеризующихся набором полей таблицы, по кото-

рым построен индекс N = {тап | ип = 1, пт]. Элемент множества т№п = т№п]1п | jin = 1,Т5] — бинарный вектор, размерность которого равна количеству атрибутов таблицы Т55, тйп^п = 1, TS, если атрибут jin таблицы ТА участвует в индексе тйп и 0 — в противном случае.

Хранимые процедуры и функции РЕ = {р/^ | ipf = 1, пр/], характеризующиеся набором полей, используемых в теле хранимой процедуры или функции. Элемент множества р/р/ = {| jpf = 1, Т5] — бинарный вектор, размерность которого равна количеству атрибутов таблицы Т5', р/^ ^ = 1, если атрибут jpf таблицы ТА участвует в теле хранимой процедуры или функции р/^ и 0 — в противном случае.

Множество триггеров базы данных ТО = | Щ = 1, ntg], характеризующихся набором полей таблицы, используемых в теле триггера. Элемент множества

tgitg = м | jtg = 1, Т5] — бинарный вектор, размерность которого равна количеству атрибутов таблицы Т5', tgitg jtg = 1, если атрибут jtg таблицы ТА участвует в теле триггера tg¡tg и 0 — в противном случае.

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

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

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

Т(ф, ТА, ОБТ) = Т, (ф, ТА, ОБТ) + Т0 (ф, ТА, ОБТ).

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

Т

Тк (ф) = £ Б(дщ, ТА, ОБТ)

V 'V у

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

Функция Б(^, ТА, ОБТ) вычисляется как

Б(^, ТА, ОБТ) = ЯС • ^^(^, ТА, ОБТ)/ОБ, где ЯС — количество строк в рассматриваемой таблице.

Я?(дщ, ТА, ОБТ) = ЯЖ(дщ, ТА, ОБТ) + ЯЯТ(дщ, ТА, ОБТ); ЕЯ(д^ , ТА, ОБТ) — величина, характеризующая дисковое пространство, занимаемое одной строкой таблицы в байтах; ЯЯЯ(^ , ТА, ОБТ) — количество памяти, занимаемое служебными отметками СУБД для строки, считываемое при выполнении запроса ^ ; ЯЯТ(д^ , ТА, ОБТ) — количество памяти, занимаемое атрибутами

таблицы в строке, считываемое при выполнении запроса . ОБ; ОБ — фиксиро-

ванный размер блока данных выбранной СУБД. В большинстве СУБД он равен 8Кб. Параметры ЯС и DB остаются неизменными.

Так как временную задержку Т, связанную со считыванием одного блока данных, допускается считать постоянной величиной, на сумму временных затрат на чтение блоков данных таблицы ТА — Т (в, ТА, БВТ) влияет количество блоков, необходимое для считывания, которое вычисляется как функция Е((, ТА, БВТ) :

пщ

Е(в, ТА, ВВТ) = £ ВЦ, ТА, ВВТ).

щ

Подставим в формулу Е(в, ТА, ВВТ) формулу функции В(щд, ТА, ВВТ).

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

пщ

Е(в, ТА, ВВТ) = £ ЯС • ЖЦ, ТА, ВВТ)/ВВ.

щ

5. Формулировка целевой функции и структурных ограничений

В рамках методики предлагается разделить рассматриваемую таблицу на ИВ е [1, Т5] дочерних таблиц, связанных с родительской отношением один к одному, 1:1.

Введем следующую переменную:

Ц если у — атрибут, необходимо выделитьв г -ю таблицу,

ХР = Ь

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

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

Количество блоков ВМ(в, ЯС, ВВ, ВВТ, ТА, X), которое необходимо считать с жесткого диска для выполнения множества запросов в к таблице ТА, вычисляется как функция, равная сумме блоков, которые необходимо считать с жесткого диска, для выполнения множества запросов в к каждой из дочерних таблиц. Максимальное количество дочерних таблиц равно числу атрибутов родительской таблицы ТА и равно НВ.

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

BM(Q, RC, DB, DBT, TA, X) =

= I [RC• RSM(DBT, TA, Xi ) • FQ(qiq, XY)/DB ] +...

iq=l nq

+I [RC • RSM(DBT, TA, X irs) • FQ{qiq, Xirs)/DB] +...

iq=l nq

+

I [RC • RSM(DBT, TA, Xnb ) • FQ(q4, X^jDB ],

q =l

где SM (DBT ,TA, Xrs ) =

I

V j

IdBTm • TAj

RDS(DBT, TA, X irs )

F(q,q, Xirs ) H

qiq (SFQ), если £ (X )u • qiq (QA))U > 0,

0, в противном случае, irs = l,..., nb, j = l,..., TS, idbt = l,..., ndbt. Параметры RC и DB являются постоянными, RCM — функция, характеризующая количество байт информации, занимаемое одной строкой дочерней таблицы irs, RDS (DBT, TA, Xirs ) — функция, характеризующая дисковое пространство,

занимаемое служебными отметками СУБД в строке дочерней таблицы irs в байтах.

Следовательно, задача повышения производительности системы сводится к поиску такого разделения таблицы на дочерние, при котором сумма блоков, которые необходимо считать в КЭШ СУБД для выполнения множества запросов Q, ми-нималь^ [7].

Целевая функция:

min

2 TS

Ли

iq, irs DB j

ndbt

Idbtidbt • taj

idbt

+ RDS (DBT, TA, x„s ))) • RC • FQ(qlcl, xirs )

где

F (qq, xrs ) =

l, если I (xtrs )u • q (QA))u > 0,

0, в противном случае, Г = 1,..., пЬ; у = 1,..., ТЯ; = 1,..., пйЫ. При следующихструктурных ограничениях.

1. Каждый атрибут родительской таблицы может присутствовать только в одной дочерней таблице.

I ^ = 1, т = 1,..., тя д = 1,..., тя.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т

u

u

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

Угх, гх = 1,...,\ N\: Д

Е (хт

■ ¿Пх,Ч - гПх,Ч )

= 0,

т = 1,..., тз, г2 = 1,..., ТЗ.

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

Урх, ¡х = 1,...,\ РЕ\: П

(Хт3,г3 Х Р^рх,¡з Р^рх,

= 0,

т = 1,..., тз, ¡з = 1,..., тз.

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

Ух, гх = 1,...,\ ТО\: П

(хт4,г4 Х

= 0,

т4 = 1,..., ТЗ, /4 = 1,..., ТЗ.

5. Отношение количества физических блоков данных, необходимого для хранения данных рассматриваемой таблицы до применения к количеству блоков, необходимого для хранения данных в полученных после применения методики дочерних таблицах, не должно превышать заданного параметра ТЗШЕ, ТЗШЕ е (0;1].

Е (ЯС ■ №(дк, ТА, ББТ)/ББ)

ТЗ12Е =

' ТЗ (Г пЛЬг

Е х**, 1 ■Е(ЛЬшха)

V 1 V-

гЛЬг

ЯБЗ (ББТ, ТА, х^) ■ ЯС х Ед(дщ, )

ШБ

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

Целевая функция не линейна, а также не линейны ограничения. Переменная X — бинарная матрица размерностью ТЗ х ТЗ. Представим переменную в виде машинного слова длиной ТЗ х ТЗ. Следовательно, количество возможных комбинаций переменной определяется как 2™^. Исходя из этого, задача обладает экспоненциальной сложностью и является NP-трудной.

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

Эвристический алгоритм состоит из следующих этапов.

т

т

т

га

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

Этап 1. Рассмотрим бинарное нечеткое отношение R на множестве ATR = {atr, atr2,..., atrTS}, заданное в виде функции принадлежности

R = W (atra, , atra2 ) 1 atra, , aK2 £ ATR},

где V^ (ata, aK2) = £((9,г (ÖA))4 • (% (QA))a, • (SFQ))

a

iq

iq = 1,..., «q, a, a e [1T]•

Функция принадлежности определяет во скольких запросах атрибуты atra^, atra^ встречаются вместе. Отношение R обладает следующими свойствами:

1. Рефлексивно:

Vr (atra, , ^ ) = 1, vatrat £ atr.

2. Симметрично:

Vr (atra, , ) = Vr (atra2 , atraa x vatrat , ^ e atr. Алгоритм автоматической кластеризации требует, чтобы отношение R обладало свойством (max- min) транзитивности:

Vr (atra, , atra ) > (Vr (atra, , atri ) Л Vr (atrk, atro, )), a i , a 2 , k ^r (rtr^ atra2 )> v (^ (atr^ atrk )Л^ (atrk, atr^ )),

ar e atr

Vatr , atr , atr eATR.

aJ a2 k

(max—min) транзитивным замыканием бинарного нечеткого отношения R на множестве ATR, где card(ATR) = TS, называется бинарное нечеткое отношение R на множестве ATR, определяемое следующим образом [8]:

R = R'\JR2\J...\JRTS, где отношения RTS определяются рекурсивно:

Rl =Rt RTS =RTS-1 0R, TS = 2, 3, ...

Этап 2. После получения бинарного нечеткого транзитивного отношения R, вычисляются а-уровни, а e[0,1], выделяются кластеры A, l e[l, TS] в соответствии с правилом: если (хй(аtr atra )>а, для некоторых аtr аtra е ATR, то объекты atr , atr e ATR принадлежат кластеру Al.

Этап 3. Из полученной иерархии разбиений выбирается разбиение, эффективность которого оценивается при помощи выведенной в рамках исследования целевой функции. Атрибуты, принадлежащие кластеру, выделяются в отдельную дочернюю таблицу [9].

7. Практическая апробация полученной методики

Для анализа эффективности полученной методики были выделены исходные данные и базовые множества.

1. Параметр характеризующий количество столбцов в таблице, равен 16. Описание полей таблицы представлено в табл. 1.

Таблица 1. Описание полей таблицы

№ п/п Наименование столбца Тип данных СУБД

1 Id bigint

2 Attr1 nchar(10)

3 Attr2 nchar(10)

4 Attr3 nchar(10)

5 Attr4 nchar(10)

6 Attr5 nchar(10)

7 Attr6 nchar(10)

8 Attr7 nchar(10)

9 Attr8 nchar(10)

10 Attr9 nchar(10)

11 Attr10 nchar(10)

12 Attr11 nchar(10)

13 Attr12 nchar(10)

14 Attr13 nchar(10)

15 Attr14 nchar(10)

16 KeyForSearch nchar(10)

2. Множество типов данных DBT, которые поддерживаются конкретной выбранной СУБД MS SQL 2012. Задано вектором, характеризующим занимаемое типом данных дисковое пространство в байтах DBT={4, 8, 20}. Количество типов данных СУБД уменьшено для компактности статьи. Множество типов данных СУБД MS SQL 2012 представлено в табл. 2.

Таблица 2. Множество типов данных СУБД MS SQL 2012

№ п/п Наименование типа данных Занимаемое дисковое пространство в байтах

1 int 4

2 bigint 8

3 nchar(10) 20

3. Набор атрибутов (столбцов таблицы) ТА., показан в табл. 3.

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

Таблица 3. Набор атрибутов (столбцов таблицы) ТА

БИТ, БВТ2 БВТ3

А, 0 , 0

А2 0 0

Аз 0 0

А4 0 0

А5 0 0

Аб 0 0

А7 0 0

Л 0 0

Ад 0 0

А,0 0 0

А,, 0 0

А, 2 0 0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

А,з 0 0

А,4 0 0

А,5 0 0

А16 0 0 !

4. Множество, представляющее группу запросов Q на получение информации из базы данных, состоящее из 3 элементов. Характеристики запросов представлены в виде табл. 4.

Таблица 4. Набор атрибутов (столбцов таблицы) ТА

№ п/п Количество запросов, поступивших на сервер за выбранный период времени Бинарный вектор атрибутов, участвующих в запросе

Ю <0, 0, , , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , !>

2 20 , , , , , 0, 0, , , 0, , , , 0, !>

3 5 <!, !, , , !, , , , , !, , , , , !, ,>

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

Таблица 5. Предлагаемое разделение исследуемой таблицы

№ А, А2 Аз А4 А5 Аб А7 Л Ад А,0 Ап А,2 А,з А,4 А,5 А,б

Т, 0 0 0 0 0 0 0 0 0 0 0 0 0

Т2 0 0 0 ! !

Полученное решение было проверено статистически на всей группе запросов в ходе последовательного их выполнения в рамках 10 экспериментов для каждого набора данных исследуемой таблицы. Результаты экспериментов показаны в табл. 6.

Таблица 6. Предлагаемое разделение исследуемой таблицы

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

2400000 221384 184060

4800000 493866 415993

9600000 1142071 961270

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

\ 17

5:16,8 С 16.6

¡16 А 116,2 I 16

с

115,8

о

£ 16.6 • 16.'

16. В5939 163

15 76ЯП4 33097 '23

2400000 4800000 9600000

Количество строк в исследуемой таблице

Рисунок 1. График оценки эффективности применения методики в зависимости от количества строк исследуемой таблицы

Рисунок 2. Оценка повышения эффективность от применения методики, выраженная в процентах

7. Заключение

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

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

просах, нежели методика многомодального распределения по математическим ожиданиям появления запросов.

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

Литература

[1] Гребенюк В. М. О проблемах определения возможностей масштабирования сложных систем. — М. : Вестник евразийской науки, 2013.

[2] Boronski R., Bocewicz G. Relational Database Index Selection Algorithm // Communications in Computer and Information Science. 2014. Vol. 431. P. 338-347.

[3] Тарасов С. В. СУБД для программиста. Базы данных изнутри. — М. : СОЛОН-ПРЕСС, 2015.

[4] Королева О. Н., Мажукин А. В., Королева Т. В. Базы данных : курс лекций. — М. : Московский гуманитарный университет, 2012.

[5] Эмблер С. В., Садаладж П. Дж. Рефакторинг баз данных: эволюционное проектирование : пер. с англ. — М. : ООО «И.Д. Вильямс», 2007.

[6] ТоуД. Настройка SQL. Для профессионалов. — СПБ. : Питер, 2004.

[7] Чигаркина Е. И. Базы данных: учеб. пособие. — Самара : Издательство СГАУ, 2015.

[8] Вятченин Д. А. Нечеткие методы автоматической классификации : монография. — Мн. : УП «Технопринт», 2004.

[9] Atroshchenko V. А., Belchenko V. Ye., Belchenko I. V., Dyachenko R. А. Development and research of statistical methods and optimization algorithms of search for solutions in intelligence automated systems // International journal of pharmacy and technology. 2016. Vol. 8. No. 2. P. 14137-14149.

Автор:

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

Methods of improving the performance of large information systems by restructuring data based on cluster analysis of query statistics

I. V. Belchenko

Kuban State Technological University 2, Moskovskaya st., Krasnodar, Russia, 350072

e-mail: ilur@mail.ru

Abstract. The performance of the information system is related to the data structures that are used in it. Most large information systems and software complexes use relational databases to store information. The variety of requests for reading information from client applications makes the task of choosing the optimal structure of the database very laborious and requiring the application of methods of system analysis. The aim of the work is to develop a methodology for restructuring the table structures of data of large information systems based on the cluster analysis of query statistics. Materials and methods. To formalize the domain, the parameters and sets that affect the processing speed of requests for reading information to the database table being researched are highlighted. Existing approaches to improving database performance are considered. The problem of optimization of the number of data blocks necessary for processing a group of requests for reading information is formulated. A method is proposed for searching for a suboptimal partitioning of the investigated table on the basis of a cluster analysis of query statistics. The algorithm of the technique is described. Conclusions. An approach is proposed for finding a suboptimal partition of the investigated table structure into its children. The proposed methodology is especially relevant for database tables of large information systems. The experimental approbation of the technique is carried out. The obtained results can be used in the design of domestic DBMS..

Key words: decision support system, optimization, cluster analysis, fuzzy logic, data structures, databases, system analysis.

References

[1] Grebenjuk V. M. O problemah opredelenija vozmozhnostej masshtabirovanija slozhnyh system. Moscow, Vestnik evrazijskoj nauki, 2013. [In Rus]

[2] Boronski R., Bocewicz G. (2014) Communications in Computer and Information Science, 431:338-347.

[3] Tarasov S. V. (2015) SUBD dlja programmista. Bazy dannyh iznutri. Moscow. [In Rus]

[4] Koroleva O. N., Mazhukin A. V., Koroleva T. V. (2012) Bazy dannyh: kurs lekcij. Moscow, Moskovskij gumanitarnyj universitet. [In Rus]

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

[5] Ambler S. W., Sadalage P. J. (2006) Refactoring Databases: Evolutionary Database Design. Addison-Wesley

[6] Tou D. (2004) Nastrojka SQL. Dlja professionalov. SPB.: Piter. [In Rus]

[7] Chigarkina E. I. (2015) Bazy dannyh: ucheb. posobie. Samara, Izdatel'stvo SGAU. [In Rus]

[8] Vjatchenin D. A. (2004) Nechetkie metody avtomaticheskoj klassifikacii. Mn. UP Tehnoprint, 2004. [In Rus]

[9] Atroshchenko V. A., BelchenkoV. Ye., Belchenko I. V., Dyachenko R. A. (2016) International journal of pharmacy and technology, 8(2):14137-14149.

i Надоели баннеры? Вы всегда можете отключить рекламу.