УДК 004.043
DOI 10.25205/1818-7900-2018-16-2-19-30
И. В. Бельченко, Р. А. Дьяченко
Кубанский государственный технологический университет ул. Московская, 2, Краснодар, 350072, Россия
[email protected], [email protected]
МЕТОДИКА ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ НЕБОЛЬШИХ ИНФОРМАЦИОННЫХ СИСТЕМ ЗА СЧЕТ ОПТИМАЛЬНОЙ РЕСТРУКТУРИЗАЦИИ ДАННЫХ НА ОСНОВЕ МНОГОМОДАЛЬНОГО РАСПРЕДЕЛЕНИЯ АТРИБУТОВ
Рассматривается системный подход к повышению производительности небольших информационных систем за счет оптимальной реструктуризации табличных структур данных. Авторами сформулирована задача оптимизации количества информационных блоков, необходимых для выполнения группы запросов на считывание информации, предложена целевая функция и структурные ограничения. Проанализирована невозможность использования грубых методов поиска оптимального решения. Предложена методика многомодального распределения атрибутов в зависимости от частоты появления в группе запросов. Проведен эксперимент, подтверждающий эффективность разработанной методики для небольших информационных систем.
Ключевые слова: система поддержки принятия решений, оптимизация, структуры данных, базы данных, системный анализ.
Введение
Большинство многопользовательских информационных веб-систем выделяется такими требованиями, как оперативное взаимодействие с пользователем [1]. Эффективное исполнение данного требования зависит не только от аппаратной составляющей, включающей в себя серверное оборудование и линии связи, но и от реализации программных компонентов, среди которых программное приложение, реализованное с применением веб-технологий и система управления базой данных (СУБД). В статье рассмотрена методика повышения производительности информационной системы, за счет уменьшения среднего времени выполнения группы запросов на чтение информации базы данных. От структуры данных, способах ее физического размещения на жестких дисках зависит количество обращений к дисковым накопителям, которые сопровождаются соответствующими прерываниями и задержками по времени [2].
Важным понятием при рассмотрении вопроса физической организации баз данных является понятие блока. Блок - это минимальный адресуемый элемент внешней памяти, с помощью которого осуществляется обмен информацией между оперативной и внешней памятью. Запись и чтение блоков осуществляется через буферную часть оперативной памяти. Для организации каждого файла базы данных в зависимости от его размера во внешней памяти выделяется от одного до N блоков, где размещаются записи. В одном блоке могут разместиться все записи или в нескольких блоках одна запись, или в одном блоке одна запись. От этого
Бельченко И. В., Дьяченко Р. А. Методика повышения производительности небольших информационных систем за счет оптимальной реструктуризации данных на основе многомодального распределения атрибутов // Вестн. НГУ. Серия: Информационные технологии. 2018. Т. 16, № 2. С. 19-30.
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2018. Том 16, № 2 © И. В. Бельченко, Р. А. Дьяченко, 2018
будет зависеть время считывания и записи элементов файла. Записи в блоках размещаются плотно, без промежутков, последовательно. В блоке часть памяти отводится под служебную информацию: относительный адрес свободных участков памяти, указатели на следующий блок и т. д. Для хранения поступающих данных, которые должны размещаться в одном блоке, заполненном уже полностью, выделяется дополнительный блок памяти в области переполнения записи, организованной в виде одного блока, где записи связываются указателями в одну цепь.
Таким образом, на скорость поиска влияют: объем блока в байтах, объем файла, количество записей в блоке файла, количество записей в блоке индекса, количество блоков в файле, доля резервной части блока, число полей в записи, размер записи в байтах [2].
Постановка задачи вертикальной реструктуризации табличных структур данных
Процесс построения оптимальной модели данных информационной системы включает оптимальное вертикальное распределение таблиц базы данных по блокам на дисковом накопителе. Основным критерием оптимизации модели данных информационной системы является минимальный размер строки таблицы реляционной базы данных, позволяющий в одном блоке хранить больше данных и, как следствие, минимизировать количество операций чтения блоков данных с жесткого диска при выполнении запросов к базе данных. Это достигается за счет уменьшения объема данных, побочно участвующих в запросе [3].
В рамках методики предлагается разделить таблицы базы данных на несколько сущностей, связанных отношением один к одному. В соответствии с принципами блочного хранения данных в СУБД каждая таблица будет храниться в отдельном наборе блоков. При выполнении запроса на чтение информации СУБД считывает блоки данных с жесткого диска в оперативную память каждой таблицы, атрибуты которой участвуют в запросе.
Задача повышения производительности информационной системы сводится к поиску оптимального разделения табличных структур базы данных с учетом конкретной группы запросов на чтение информации, выявленной статистически в рамках жизненного цикла
БД [4].
Оптимизация табличных структур данных
информационной системы
Для формализации задачи рассмотрим множества и параметры, влияющие на скорость обработки запросов на чтение информации к исследуемой таблице базы данных.
1. Целочисленный параметр ТБ , равный количеству атрибутов в исследуемой таблице.
2. Вектор типов данных ОБТ = ^Ы = 1,пёь/^, которые поддерживаются конкретной выбранной СУБД. Элемент вектора - занимаемый элементом типа размер данных в байтах памяти.
3. Набор атрибутов (столбцов таблицы) ТА , который задан бинарной матрицей, элемент которой равен единице, если столбец На таблицы имеет тип ра, Па = 1,...,ТБ,
ра = 1,..., пйЫ.
4. Множество, представляющее группу запросов < = |д,д|/д = 1,пд| на чтение информации из таблицы базы данных, элемент множества - кортеж из двух элементов д дд = \SFQq, <Ад |, где - числовой параметр, равный частоте появления запроса за выбранный период времени, <Ад = |да дда |/ да = 1,Тб| - бинарный вектор, размерность которого равна количеству атрибутов таблицы ТБ. дадда = 1, если атрибут таблицы ТА участвует в за-
просе, и 0 в противном случае. щ - количество запросов в статистической выборке, выявленной в рамках жизненного цикла БД.
5. Множество индексов, характеризующихся набором полей таблицы, по которым по-
строен индекс Ш = пи
¡¡п = 1, тп). Элемент множества тип = |/'пйп
! = 1,ТЗ) - бинар:
ный
Лп = 1, тз^
вектор, размерность которого равна количеству атрибутов таблицы ТЗ, ¡пип ¡п = 1, если атрибут ]т таблицы ТА участвует в индексе тип, и 0 в противном случае.
6. Хранимые процедуры и функции № = | р// ¡р/ = 1, пр/), характеризующиеся набором полей, используемых в теле хранимой процедуры или функции. Элемент множества Р/р! = {Р/р! м 1Р/ = 1, ТЗ) - бинарный вектор, размерность которого равна количеству атрибутов таблицы ТЗ, р/р/ ^ = 1, если атрибут ]р/ таблицы ТА участвует в теле хранимой процедуры или функции р//, и 0 в противном случае.
7. Множество триггеров базы данных ТО = ^ '= 1,п^ё), характеризующихся набором полей таблицы, используемых в теле триггера. Элемент множества
- бинарный вектор, размерность которого равна количеству атрибу-
(ё % =[ё'
¡4, М
о)
тов таблицы ТЗ, tgй м = 1, если атрибут таблицы ТА участвует в теле триггера tgй , и 0 в противном случае.
Анализ влияния количества физических блоков данных,
используемых таблицей базы данных,
на общее время выполнения группы запросов к ней
Множество запросов Q к рассматриваемой таблице обрабатывается СУБД за время Т^,ТА,ВБТ) . Временные затраты Т(Q,TA,ВБТ) можно представить в виде суммы временных затрат на чтение блоков данных таблиц Ть ТА, ВБТ) , участвующих в запросах Q , и остальных временных затрат То ТА, ВБТ), к которым относятся временные затраты на выполнение плана обработки запроса, на передачу информации и т. д.:
Т^,ТА,ВБТ) = Тк (Q,TA,ВБТ) + То (Q,TA,ВБТ).
В рамках методики предлагается уменьшить слагаемое, влияющее на общее время выполнения запроса Ть ТА, ВБТ) . Временные затраты Ть ТА, ВБТ) в общем виде зависят от количества операций чтения блоков данных таблиц с жесткого диска. Пусть временная задержка, связанная со считыванием одного блока данных равна Ть, тогда
'щ / -Л
Ть ^)= IБ (,ТА, ВБТ ) I- Ть,
V ¡9 )
где Б (9 9, ТА, ВБТ) - число информационных блоков, которые необходимо считать с жесткого диска в кэш СУБД для дальнейшего выполнения запроса к таблице, заданной бинарной матрицей ТА . Кэш СУБД находится в оперативной памяти вычислительного устройства. Функция Б(9^, ТА, ВБТ ) вычисляется как отношение:
, , ЯС • ЯБ (д , ТА, ВБТ) Б (д. ,ТА, ВБТ) =-^-,
У11*!' ) Пй
ОБ где
ЯС - количество строк в рассматриваемой таблице;
ОБ - фиксированный размер блока данных выбранной СУБД (в большинстве СУБД он равен 8Кб);
ЯБ (д*, ТА, ВБТ ) - величина, характеризующая дисковое пространство, занимаемое одной строкой таблицы в байтах:
ЯБ ( дщ ,ТА, ВБТ ) = ЯББ ( дщ, ТА, ВБТ ) + ЯБТ ( дщ ,ТА, ВБТ ).
Здесь
ЯББ (щщ ,ТА, ВБТ ) - количество памяти, занимаемое служебными отметками СУБД для строки, считываемое при выполнении запроса дщ ;
ЯБТ ( Щщ , ТА, ВБТ) - количество памяти, занимаемое атрибутами таблицы в строке, считываемое при выполнении запроса дщ .
Параметры ЯС и ВБ остаются неизменными.
Так как временную задержку Тъ, связанную со считыванием одного блока данных, допускается считать постоянной величиной, на сумму временных затрат на чтение блоков данных таблицы ТА - Тк (2,ТА, ВБТ) влияет количество блоков, необходимое для считывания, которое вычисляется как функция
пщ
F (<,ТА, ВБТ ) Б (дщ ,ТА, ВБТ ).
щ
Подставим в формулу F(<,ТА,ВБТ), формулу функции Б(дщщ, ТА, ВБТ) . Функция, определяющая количество блоков, необходимых для считывания с жесткого диска в оперативную память при выполнении множества запросов < к рассматриваемой таблице ТА:
F (ТА, ВБТ ) = £
ЯС • ЯБ (дщ, ТА, ВБТ) ВБ
Методика уменьшения количества физических блоков данных, используемых СУБД для выполнения группы запросов к таблице, за счет ее оптимального разделения на дочерние таблицы
В рамках методики предлагается разделить рассматриваемую таблицу на ЫБ е [1; ТБ] дочерних таблиц, связанных с родительской отношением один к одному, 1:1. Введем следующую переменную:
IX если ]-й атрибут нужно выделить в 1-ю таблицу,
ху = 1 0
10 в противном случае.
Переменные представляют собой бинарную матрицу для таблицы реляционной базы данных размерностью ТБ х ТБ , где ТБ - количество атрибутов таблицы. Строки матрицы соответствуют таблицам, на которые разбивается родительская таблица, а столбцы соответствуют их атрибутам.
Количество блоков ВМ (0, ЯС, ОБ, ВВТ, ТА, X), которое необходимо считать с жесткого диска для выполнения множества запросов 0 к таблице ТА, вычисляется как функция, равная сумме блоков, которые необходимо считать с жесткого диска для выполнения множества запросов 0 к каждой из дочерних таблиц. Максимальное количество дочерних таблиц равно числу атрибутов родительской таблицы ТА и равно КБ .
ВМ (( ЯС, ОБ, БВТ, ТА, X ) =
ЯС • ЯБМ (ВВТ,ТА,Х1) • ^(Щщ,Х1)
= 1
iq=1
DB
nq
+X
iq=1
RC • RSM(DBT,TA,Xirs)• FQ(qiq,X^)
DB
nq
+X
iq =1
RC • RSM(DBT,TA,^)• FQ(qiq,X^)
DB
где
' TS
RSM (DBT, TA, Хг„ )= X
V j
f ndbt
■|XDBTldbt • TAj
V idbt
RDS (DBT, TA, Xrs )
FQ ( , X^ )
qiq (SFQ) если X(X,<) ■(( (QA))H > 0
u
0 впротивномслучае.
irs = 1,...,nb, j = 1,...,TS, idbt = 1,...,ndbt.
Параметры RC и DB являются постоянными, RSM - функция, характеризующая количество информации, которая занимает одну строку дочерней таблицы irs в байтах, RDS ( DBT, TA, Xirs ) - функция, характеризующая дисковое пространство, занимаемое служебными отметками СУБД в строке дочерней таблицы irs в байтах. Следовательно, задача повышения производительности системы сводится к поиску такого разделения таблицы на дочерние, при котором сумма блоков, которые необходимо считать в кэш СУБД для выполнения множества запросов Q, минимально.
Целевая функция
min
- X
X
(X ш^ш • ta] )] + RDS (DBT, TA, ^ ))) RC • FQ (, xj
DB
где
ТЗ
^) если /(х„) ((А))и > 0,
и
0 впротивном случае. г = 1,...,пЬ, у = 1,...,ТЗ, idЬt = 1,...,ndЬt. При структурных ограничениях:
1) каждый атрибут родительской таблицы может присутствовать только в одной дочерней таблице
I хч, 4 = I «1 = 1,...,ТЗ, ¡1 = 1,.,ТЗ;
т
2) атрибуты таблицы, используемые при построении индексов, должны принадлежать хотя бы одной дочерней таблице
Угё, ¡х = 1,...,|Щ: П
«2
ТЗ
к
х . - ¡п. ■ - ¡п. ■
«2, ¡2 х,г2 ¡х, ¡2
= 0,
т2 = 1,...,ТЗ, ¡2 = 1,...,ТЗ;
3) атрибуты таблицы, используемые в теле хранимых процедур или функций, должны принадлежать хотя бы одной дочерней таблице
Урх, рх = 1,...,|PF|: П
т3
ТЗ ( \
/ Л Хт3, ¡3 Р/рХ, ¡3 Р/рХ, ¡3 )
= 0,
тз = 1,...,ТЗ, ¡3 = 1,...,ТЗ;
4) атрибуты таблицы, используемые в работе триггеров исследуемой таблицы, должны принадлежать хотя бы одной дочерней таблице
Vtx, Х = 1,...,ТО: П
ТЗ
/ 1 (Хт] .tgtx, ¡4 ^gtx,i4 )
= 0,
т4 = 1,...,ТЗ, ¡4 = 1,...,ТЗ;
5) отношение количества физических блоков данных, необходимого для хранения данных рассматриваемой таблицы до применения методики, к количеству блоков, необходимому для хранения данных в дочерних таблицах, полученных после применения методики, не должно превышать заданного параметра ТБ12Е (ТБ12Е е (0;1])
ТБШЕ =
(
Ет
ЯС - ЯБ(,ТА, ВБТ)
ВБ
(I - Ч )] + ЯВЗ (ВБТ ,ТА, х„)))-ЯС - FQ (, х,„)
ВБ
т
Методика нахождение оптимального разделения таблицы на дочерние
для выполнения группы запросов
путем многомодального распределения атрибутов таблицы
по частоте их появлений в запросах
Целевая функция не линейна, а также не линейны ограничения. Переменная X - бинарная матрица размерностью ТБ х ТБ . Представим переменную в виде машинного слова длиной ТБ • ТБ . Следовательно, количество возможных комбинаций переменной определяется как . Исходя из этого задача обладает экспоненциальной сложностью и является КР-трудной [5; 6].
Для решения задачи разработана методика, основанная на многомодальном распределении атрибутов исследуемой таблицы по критерию появления их в группе запросов на чтение информации. Для получения оптимального разбиения исследуемой таблицы с числом атрибутов, равным ТБ, необходимо выполнить следующие действия.
1. Получить для каждого атрибута значение частоты его появления в группе запросов к базе данных. Вектор частот появлений атрибутов исследуемой таблицы в группе запросов 0, где ЕТА = |Аа^ Аа = 1, ТБ},
пщ
АаШа =1 щщ (ад )•( (А)),
щ=1
¡щ = 1,..., пщ.
2. Отсортировать атрибуты по частоте их появления в группе запросов:
¥ТА = {Аа'^ \ifta = ЦБ, ¡1а' е ЕТА, Аа^ < Аа'Ша+1 }.
3. Сформировать группы атрибутов с одинаковой частотой. Получим разбиение конечного множества ЕТА'. ОЕ = {А,..., Ап}, в котором
А и... и &ъпп = ЕТА', Аъ, ^0, 1 < Ъ < Ъп,
где Vfta, е , если У( X = Мла, ¡Аа = IТБ, Ъ = 1,|А |.
4. Получить разбиение множества групп атрибутов. Получим разбиение конечного множества ОЕ. ОЕ' = {А',...,}, в котором
А' и... и А = ОЕ, А *0, 1 < gi < gn,
V А А г' (^ -1)ТБ < Ъ, < ^ • ТБ , где , А е А, --77-< Ы , 1
^ , Ы < Ъп. К - коэффициент, характеризую-
К К
щий количество разбиений множества групп атрибутов, К е [1,gn].
Варьируя параметр К е[1, gn ], мы можем получать решения, эффективность которых оценивается при помощи выведенной в рамках исследования целевой функции.
Практическая апробация методики
Для анализа эффективности полученной методики были выделены исходные данные и базовые множества.
1. Параметр TS = 16, характеризующий количество столбцов в таблице:
№ Наименование Тип данных
п/п столбца СУБД
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 может быть представлено в виде таблицы:
№ Наимено вание Занимаемое дисковое
п/п типа данных пространство, байты
1 int 4
2 bigint 8
3 nchar(10) 20
3. Набор атрибутов (столбцов таблицы) TA:
DBT1 dbt2 DBT3
A 0 1 0
A 0 0 1
A3 0 0 1
A4 0 0 1
A 0 0 1
A 0 0 1
A7 0 0 1
A 0 0 1
A 0 0 1
A10 0 0 1
A11 0 0 1
A12 0 0 1
Окончание таблицы
БВТ ВВТ2 ВВТЪ
Лз 0 0 1
А14 0 0 1
45 0 0 1
Л6 0 0 1
4. Множество, представляющее группу запросов Q на получение информации из базы данных, состоящее из 3 элементов:
№ Количество запросов, поступивших Бинарный вектор атрибутов,
п/п на сервер за выбранный период времени участвующих в запросе
1 10 <0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1>
2 20 <1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,1>
3 5 <1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1>
Для проведения эксперимента были исключены ограничения в виде индексов, триггеров и хранимых процедур, а также был исключен коэффициент дополнительного использования памяти. Это позволило продемонстрировать преимущества предлагаемой методики над традиционным подходом. В результате применения методики было предложено разделить исследуемую таблицу на четыре дочерних таблицы:
№ А1 А2 А3 А4 А5 А6 А7 А8 А9 А10 А11 А12 А13 А14 А15 А16
Т1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0
Т2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Т3 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0
Т4 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
Полученное решение было проверено статистически на всей группе запросов. Для повышения достоверности экспериментов были выполнены все 35 запросов на чтение информации. Это позволило получить сведения о запросах, которые после применения методики стали выполняться быстрее, а также выделить подмножество медленных запросов. Результаты экспериментов, а также суммарное время выполнения группы запросов представлены в виде таблицы:
Количество строк в исследуемой таблице Время выполнения группы запросов к исследуемой таблице, мс Время выполнения группы запросов к таблицам после разделения на дочерние, мс
300 000 28 312 23 021
600 000 59 521 48 271
1 200 000 130 485 107 363
2 400 000 311 223 279 491
Эффективность применения методики представлена на рисунке.
350000
300000
250000
« 200000
150000
100000
50000
и после I
применения методики
-1-1-1
300000 600000 1200000 2400000 Количество строк
20 18 16
5? 14
л"
и 12
0
1 10
I-
1 з
-е-
т 6
4
2 0
б
1 3,6881 9 1 3,9008 9 -1 7 720С 4
1 0Д95 Э
300000 600000 1200000
Количество строк
2400000
Результаты применения методики в зависимости от количества строк: а - время обработки группы запросов; б - эффективность, выраженная в процентах
Заключение
В результате проведенного исследования была сформулирована проблема повышения производительности информационной системы за счет реструктуризации табличных структур данных. Получено ее описание в теоретико-множественном представлении. Сформулированы целевая функция и ограничения. Предложен подход к нахождению субоптимального разбиения исследуемой табличной структуры на дочерние путем многомодального распределения атрибутов по частоте их появлений в запросах на чтение информации. Предложенная методика особенно актуальна для таблиц БД, которые используют небольшие информационные системы.
Полученные результаты могут быть использованы при проектировании отечественных СУБД. Дальнейшие исследования в этой области связаны с разработкой методик оптимальной реорганизации табличных структур данных для крупных информационных систем. Открытая апробация методики реализуется в виде веб-системы, в которой любой исследователь может ввести сведения о своей БД и получить рекомендуемое оптимальное разделение таблиц.
Список литературы
1. Богданова А. В., Дьяченко Р. А., Бельченко И. В. Повышение качества образовательного процесса за счет внедрения системы «Электронное расписание» в учебной организации // Политематический сетевой электронный научный журнал Кубанского государственного агарного университета. 2016. С. 873-885.
2. Эмблер С. В., СадаладжП. Дж. Рефакторинг баз данных: эволюционное проектирование: Пер. с англ. М.: ИД Вильямс, 2007. 672 с.
3. ТоуД. Настройка SQL. Для профессионалов. СПб.: Питер, 2004. 333 с.
4. Чигаркина Е. И. Базы данных: Учеб. пособие. Самара: Изд-во СГАУ, 2015. 208 с.
5. Atroshchenko V. А., BelchenkoV. E., 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. 1413714149.
6. Klir G. J. Facets of Systems Science. Springer, 1991. 664 p.
Материал поступил в редколлегию 02.03.2018
I. V. Belchenko, R. A. Diyachenko
Kuban State Technological University 2 Moskovskaya Str., Krasnodar, 350072, Russian Federation
[email protected], [email protected]
TECHNIQUES FOR IMPROVING PERFORMANCE OF THE SMALL INFORMATION SYSTEMS THROUGH OPTIMAL RESTRUCTURING DATA BASED ON MULTIMODAL DISTRIBUTIONS ATTRIBUTES
A systematic approach to increasing the productivity of small information systems is considered at the expense of optimal restructuring of tabular data structures. The authors formulated the task of optimizing the number of data blocks that are needed to query the group to read the information offered to the target function, and structural constraints. The impossibility of using crude methods of searching for the optimal solution is analyzed. The technique of multimodal attribute distribution is proposed depending on their frequency of occurrence in the query group. The experiment confirming the effectiveness of the developed methodology for small information systems.
Keywords: decision support system, optimization, data structures, databases, system analysis.
30
». B. BenbMeHKO, P. A. flbsmeHKO
References
1. Bogdanova A. V., Diyachenko R. A., Belchenko I. V. Povyshenie kachestva obrazovatel'nogo protsessa za shchet vnedreniya sistemy «Elektronnoe raspisanie» v uchebnoj organizatsii. Politematicheskij setevoj elektronnyj nauchnyj zhurnal Kubanskogo gosudarstvennogo agarnogo universiteta, 2016, p. 873-885. (in Russ.)
2. Embler S. V., Sadaladzh P. Dzh. Refaktoring baz dannykh: evolyutsionnoe proektirovanie. Transl. from Engl. Moscow, Vilyams Publ., 2007, 672 p. (in Russ.)
3. Tou D. Nastrojka SQL. Dlya professionalov. St. Petersburg, Piter, 2004, 333 p. (in Russ.)
4. Chigarkina E. I. Bazy dannykh. Samara, SGAU Press, 2015, 208 p. (in Russ.)
5. Atroshchenko V. A., Belchenko V. E., Belchenko I. V., Diyachenko R. A. 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.
6. Klir G. J. Facets of Systems Science. Springer, 1991, 664 p.
For citation:
Belchenko I. V., Diyachenko R. A. Techniques for Improving Performance of the Small Information Systems through Optimal Restructuring Data Based on Multimodal Distributions Attributes.
VestnikNSU. Series: Information Technologies, 2018, vol. 16, no. 2, p. 19-30. (in Russ.)
DOI 10.25205/1818-7900-2018-16-2-19-30