Многокритериальный выбор оптимальной системы управления базы данных с помощью метода анализа иерархий
А. Н. Земцов, Н. В. Болгов, С. Н. Божко
Одной из главных проблем разработки приложения баз данных является выбор системы управления базами данных (далее СУБД). Выбранная СУБД должна удовлетворять не только текущим, но и будущим потребностям предприятия.
В статье представлены основные критерии по выбору СУБД, также применяется метод анализа иерархий для принятия решения.
Основные критерии по выбору СУБД:
1. Модель данных. К данной группе можно отнести: используемую модель данных, предусмотренные типы данных.
2. Особенности архитектуры и функциональные возможности. К данной группе можно отнести: масштабируемость, независимость среды, в которой она работает и сетевые возможности. Масштабируемость -способность системы справляться с увеличением рабочей нагрузки.
3. Производительность. Это один из главных критериев выбора СУБД. К данной группе можно отнести: рейтинг Transaction Processing Performance Council (далее TPC), возможность распараллелить архитектуру, оптимизация запросов.
4. Требования к рабочей среде. К данной группе можно отнести: минимальные требования к оборудованию, поддерживаемые платформы.
5. Особенности разработки приложений. Стоит рассмотреть возможность использования среды Internet, многоязыковую поддержку и средства проектирования.
6. Надежность. Еще один из главных критериев выбора СУБД. Надежность имеет множество определений, к которым можно отнести
сохранность информации при сбоях системы, обеспечение защиты данных от несанкционированного доступа [1].
Сравнительный анализ на основе вышеперечисленных критериев поможет рационально выбрать систему управления базами данных для проекта. Для сравнительного анализа СУБД будет применяться метод анализа иерархий предложенного Т. Саати. В основе этого метода лежит парное сравнение всех СУБД по каждому из вышеперечисленных критериев, на выходе мы получим несколько матриц парных сравнений альтернатив [2]. Подробно с алгоритмом метода анализа иерархий, который используется в задачах многокритериальной оптимизации можно ознакомиться в [3].
В качестве альтернатив будут рассмотрены следующие СУБД: DB2, Firebird, MySQL, Microsoft SQL Server (далее MS SQL), Oracle, PostgreSQL. Три из них бесплатные - Firebird, MySQL, PostgreSQL; остальные платные.
Все выбранные системы управления базами данных подходят для проведения анализа и сравнения т.к. реализуют реляционную модель данных. По результатам анализа строится матрица парных сравнений альтернатив (МПСА). Для полученной таблицы высчитываются следующие показатели:
1. Вектор приоритетов матрицы (W), определяется суммированием элементов каждой строки и делением каждой суммы на сумму всех элементов матрицы;
2. Главное собственное значение (^ax), определяется суммой произведения суммы каждого столбца на вектор приоритетов;
3. Индекс согласованности (ИС), показывает отклонение от согласованности и определяется по формуле (1).
Hç max- n (1)
n -1
где n - размерность матрицы (n=6 в нашем случае);
4. Отношение согласованности (ОС), вычисляется делением Индекса согласованности на случайный индекс (СИ), где СИ - табличная величина
для матрицы данного порядка и в нашем случае равна 1,24. Значение ОС приемлемо, в случае если меньше или равно 0,10 [2].
Таблица № 1
Матрица парных сравнений альтернатив по критерию «Модель данных»
DB2 Firebird MySQL MS SQL Oracle PostgreSQL
DB2 1 1 1 1 1 1
Firebird 1 1 2 1/3 4 3
MySQL 1 1/2 1 1/2 4 2
MS SQL 1 3 2 1 5 2
Oracle 1 1/4 1/4 1/4 1 1/3
PostgreSQL 1 1/3 1/2 1/2 3 1
- Вектор приоритетов (Ж): 0.12 0.22 0.18 0.28 0.06 0.12;
- Главное собственное значение (^ах): 6,61;
- Индекс согласованности (ИС): 0,12;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,09;
- Отношение согласованности (ОС) в переделах нормы.
Сравним СУБД по критерию «Особенности архитектуры и функциональные возможности».
В таблице 2 рассмотрен максимально возможный объем хранимых данных для каждой из рассматриваемых СУБД [4].
Таблица № 2
Максимально возможный объем хранимых данных для каждой СУБД
Размер БД Размер таблицы Размер строки
DB2 512 ТБ 512 ТБ 32677 В
Firebird 131 ТБ 2,5 ТБ 64 КВ
MySQL да 256 ТБ 64 КВ
MS SQL 524258 ТБ 524258 ТБ да
Oracle да 4 ГБ * размер блока 8 КВ
PostgreSQL да 32 ТБ 1.6 ТБ
По критерию триггеры и хранимые процедуры все альтернативы идентичны. Все поддерживают триггеры, процедуры и функции.
Триггер - программа базы данных, вызываемая всякий раз при вставке, изменении или удалении строки таблицы. Триггеры обеспечивают проверку любых изменений на корректность, прежде чем эти изменения будут приняты. Хранимая процедура - программа, которая хранится на сервере и может вызываться клиентом. Поскольку хранимые процедуры выполняются непосредственно на сервере базы данных, обеспечивается более высокое быстродействие, нежели при выполнении тех же операций средствами клиента БД [1, 5].
Построим матрицу парных сравнений альтернатив по критерию «Особенности архитектуры и функциональные возможности» (таблица 3).
Таблица № 3
Матрица парных сравнений альтернатив по критерию «Особенности
архитектуры и функциональные возможности»
DB2 Firebird MySQL MS SQL Oracle PostgreSQL
DB2 1 1 2 1/8 1/3 1/6
Firebird 1 1 2 1/3 1 1/2
MySQL 1/2 1/2 1 1/4 1 1/2
MS SQL 8 3 4 1 5 3
Oracle 3 1 1 1/5 1 1/2
PostgreSQL 6 2 2 1/3 2 1
- Вектор приоритетов (№): 0,07 0,10 0,06 0,41 0,11 0,22;
- Главное собственное значение (^ах): 6,58;
- Индекс согласованности (ИС): 0,11;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,09;
- Отношение согласованности (ОС) в переделах нормы. Сравним СУБД по критерию «Производительность».
На сегодняшний день применяется и существует множество различных способов и тестовых рейтингов для проверки производительности систем управления базами данных. Наиболее авторитетным является ТРС-анализ,
проводимый компанией Transaction Processing Performance Council (TPC). Связано это с наличием универсальных эталонных тестов по обработке транзакций. Кроме оценки производительности в рамках TPC тестов, приводится отношение количества запросов, обрабатываемых за промежуток времени к стоимости всей системы. Однако некоторые выбранные альтернативы не проходили TPC тест, к ним относятся Firebird, MySQL и PostgreSQL [6, 7].
Нас интересует осуществление неравновероятного доступа к таблицам, а таким свойством обладает только TPC-C тест производительности, поэтому именно его результаты приведены в таблице 4. Производительность измеряется в tpmC - число транзакций в минуту. Стоимость - стоимость одной транзакции в соотношении цена/производительность.
Таблица № 4
Результаты TPC-C теста производительности
Производительность, tpmC Стоимость, USD
IBM DB2 9.5 1 200 011 0.69
Microsoft SQL Server 2005 Enterprise Edition x64 661 475 1.16
Oracle Database 11 g Standard 631 766 1.08
Построим матрицу парных сравнений по критерию «Производительность» (таблица 5).
Таблица № 5
Матрица парных сравнений альтернатив по критерию «Производительность»
DB2 Firebird MySQL MS SQL Oracle PostgreSQL
DB2 1 4 5 3 4 5
Firebird 1/4 1 2 1/3 1/3 2
MySQL 1/5 1/2 1 1/3 1/2 1
MS SQL 1/3 3 3 1 2 3
Oracle 1/4 3 2 1/2 1 2
PostgreSQL 1/5 1/2 1 1/3 1/2 1
- Вектор приоритетов (W): 0,39 0,10 0,06 0,21 0,15 0,06;
- Главное собственное значение (^ах): 6,41;
- Индекс согласованности (ИС): 0,08;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,06;
- Отношение согласованности (ОС) в переделах нормы. Рассмотрим критерий «Требования к системе».
Проведем сравнение поддерживаемых операционных систем в таблице
6 [8].
Таблица № 6
Анализ поддерживаемых альтернативами операционных систем
Windows Linux Unix Android Symbian
DB2 + + + + -
Firebird + + + - -
MySQL + + + + +
MS SQL + - - + +
Oracle + + + - -
PostgreSQL + + + - +
Построим матрицу парных сравнений по критерию «Требования к системе» (таблица 7).
Таблица № 7
Матрица парных сравнений альтернатив по критерию «Требования к
системе»
DB2 Firebird MySQL MS SQL Oracle PostgreSQL
DB2 1 1/3 1/4 1/4 1 1/3
Firebird 3 1 1 1 4 3
MySQL 4 1 1 1 4 3
MS SQL 4 1 1 1 4 3
Oracle 1 1/4 1/4 1/4 1 1/2
PostgreSQL 3 1/3 1/3 1/3 2 1
- Вектор приоритетов (№): 0,05 0,23 0,25 0,25 0,05 0,15;
- Главное собственное значение (^тах): 6,18;
- Индекс согласованности (ИС): 0,04;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,03;
- Отношение согласованности (ОС) в переделах нормы. Рассмотрим критерий «Особенности разработки приложений».
При рассмотрении этого критерии необходимо оценить трудозатраты включающие в себя установку и настройку базы данных, резервное копирование и восстановление а также текущее обслуживание базы данных
[9].
Матрица парных сравнений по критерию «Особенности разработки приложения» (таблица 8).
Таблица № 8
Матрица парных сравнений альтернатив по критерию «Особенности
разработки приложения»
DB2 Firebird MySQL MS SQL Oracle PostgreSQL
DB2 1 1 1 1/6 1 1
Firebird 1 1 1 1/5 1 1
MySQL 1 1/2 1 1/4 1 1
MS SQL 6 5 4 1 6 3
Oracle 1 1 1 1/4 1 1
PostgreSQL 1 1 1 1/3 1 1
- Вектор приоритетов (№): 0,09 0,11 0,09 0,45 0,1 0,1;
- Главное собственное значение (^ах): 6,16;
- Индекс согласованности (ИС): 0,03;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,02;
- Отношение согласованности (ОС) в переделах нормы. Рассмотрим критерий «Надежность».
Информационная система организации включает в себя секретную информацию, для предотвращения несанкционированного доступа
применяются различные способы зашиты. Проведем сравнение систем обеспечения безопасности данных в таблице 9 [8].
Таблица № 9
Анализ систем обеспечения безопасности данных в альтернативах
Идентификация Защита от brute-force Шифрование Сертификация безопасности
DB2 + + + +
Firebird + + - -
MySQL + - + -
MS SQL + - + +
Oracle + + + +
PostgreSQL + + + +
В таблице 10 приведено сравнение альтернатив по критерию
«Надежность».
Таблица № 10
Матрица парных сравнений альтернатив по критерию «Надежность»
DB2 Firebird MySQL MS SQL Oracle PostgreSQL
DB2 1 4 4 3 1/2 1/3
Firebird 1/4 1 1 1/4 1/5 1/5
MySQL 1/4 1 1 1/4 1/5 1/5
MS SQL 1/3 4 4 1 1/2 1/2
Oracle 2 5 5 2 1 1
PostgreSQL 3 5 5 2 1 1
- Вектор приоритетов (№): 0,2 0,04 0,04 0,16 0,25 0,27;
- Главное собственное значение (^ах): 6,46;
- Индекс согласованности (ИС): 0,09;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,07;
- Отношение согласованности (ОС) в переделах нормы.
Составим матрицу парных сравнений критериев выбора, где критерий производительность и надежность имеют наибольшую важность по сравнению с другими критериями (таблица 11). Нумерация критериев
соответствует нумерации основных критериев по выбору СУБД, заданной в начале статьи.
Таблица № 11
Матрица парных сравнений альтернатив по критериям выбора
1 2 3 4 5 6
1 1 1 1/6 1/4 1/2 1/5
2 1 1 1/6 1/3 1/2 1/5
3 6 6 1 2 5 2
4 4 3 1/2 1 1/2 1/2
5 2 2 1/5 2 1 1/2
6 5 5 1/2 2 2 1
- Вектор приоритетов альтернатив 0,05 0,05 0,36 0,15 0,13 0,25;
- Главное собственное значение (^ах): 6,32;
- Индекс согласованности (ИС): 0,06;
- Случайный индекс (СИ): 1.24;
- Отношение согласованности (ОС): 0,05;
- Отношение согласованности (ОС) в переделах нормы.
Составим матрицу, в которую запишем все векторы приоритетов альтернатив по всем критериям и умножим матрицу на вектор весов критериев.
0Д2 0,07 0,39 0,05 0,09 0,2 " 0,05 0,21
0,22 01 0,1 0,23 0,11 0,01 0,05 0,1
0,18 0,06 0,06 0,25 0,09 0,04 0,36 х = 0,15 0,09
0,28 0,41 0,21 0,25 0,45 0,16 0,24
0,06 0,11 0,15 0,05 0,1 0,25 0,12 0,14
0,12 0,22 0,06 0,15 0,1 0,27, 0,25 0,14
Веса всех рассматриваемых альтернатив распределились следующим образом: Microsoft SQL Server - 0.24, DB2 - 0.21, Oracle - 0.14, Postgre SQL -0.14, Firebird - 0.1, MySQL - 0.09.
На основе примененного метода анализа иерархий для выбора альтернативы, оптимальной по множеству критериев, было выявлено, что
наилучшим вариантом СУБД является Microsoft SQL Server. Именно поэтому многие разработчики используют в своих проектах MS SQL (например, [10]).
Список литературы:
1. Аносов, А. Критерии выбора СУБД при создании информационных систем [Электронный ресурс]. - [2014]. - Режим доступа : http://www.interface.ru/home.asp?artId=2147 (доступ свободный) - Загл. с экрана. - Яз. рус.
2. Саати, Т. Принятие решений. Метод анализа иерархий. [Текст] // М.: «Радио и связь», 1993. - 278 с.
3. Демурин, В. Б. Многокритериальный интеллектуальный выбор гостиничного номера методом анализа иерархий в условиях неопределённости [Электронный ресурс] // «Инженерный вестник Дона», 2011, №1. - Режим доступа : http://www.ivdon.ru/magazine/archive/n1y2011/ 344 (доступ свободный) - Загл. с экрана. - Яз. рус.
4. Власов, А. И. Краткое практическое руководство разработчика информационных систем на базе СУБД ORACLE. Сравнительные характеристики SQL СУБД [Электронный ресурс]. - [2014]. - Режим доступа : http://citforum.ru/database/oraclepr/oraclepr_06.shtml (доступ свободный) - Яз.
рус.
5. Савотченко С. Е., Стукалов В. А. Критерии выбора системы управления базами данных при разработке библиотечной информационной системы [Электронный ресурс] // «Теория и практика общественного развития», 2012, №10. - Режим доступа : http://teoria-practica.ru/-10-2012/ pedagogics/savotchenko-stukalov.pdf (доступ свободный) - Загл. с экрана. - Яз.
рус.
6. Елашкин, М. Производительность СУБД и тесты TPC [Электронный ресурс]. - [2014]. - Режим доступа : http://www.bytemag.ru/articles/detail.php? ID=8571 (доступ свободный) - Загл. с экрана. - Яз. рус.
7. Transaction Processing Performance Council [Электронный ресурс]. -[2014]. - Режим доступа : http://www.tpc.org (доступ свободный) - Загл. с экрана. - Яз. англ.
8. Post, Gerald V. Comparison of database management systems // Journal of Computer Information Systems, 2001. - Vol. 41. - p. 43.
9. Резниченко, А. Какой СУБД лучше управлять? [Электронный ресурс]. - [2014]. - Режим доступа : http://www.pcweek.ru/idea/article/ detail.php? %20ID=60795 (доступ свободный) - Загл. с экрана. - Яз. рус.
10. Пучков Е. В. Разработка системы поддержки принятия решений для управления кредитными рисками банка [Электронный ресурс] // «Инженерный вестник Дона», 2011, №1. - Режим доступа : http:// www.ivdon.ru/ magazine/archive/n1y2011/377 (доступ свободный) - Загл. с экрана. - Яз. рус.