×

Вы используете устаревший браузер Internet Explorer. Некоторые функции сайта им не поддерживаются.

Рекомендуем установить один из следующих браузеров: Firefox, Opera или Chrome.

Контактная информация

+7-863-218-40-00 доб.200-80
ivdon3@bk.ru

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

Аннотация

А. Н. Земцов, Н. В. Болгов, С. Н. Божко

Дата поступления статьи: 29.04.2014

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

Ключевые слова: СУБД, метод анализа иерархий, критерии, матрица попарных сравнений, отношение согласованности

05.13.01 - Системный анализ, управление и обработка информации (по отраслям)

Одной из главных проблем разработки приложения баз данных является выбор системы управления базами данных (далее СУБД). Выбранная СУБД должна удовлетворять не только текущим, но и будущим потребностям предприятия.
В статье представлены основные критерии по выбору СУБД, также применяется метод анализа иерархий для принятия решения.
Основные критерии по выбору СУБД:
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. Главное собственное значение (ƛmax), определяется суммой произведения суммы каждого столбца на вектор приоритетов;
3. Индекс согласованности (ИС), показывает отклонение от согласованности и определяется по формуле (1).
, (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

–  Вектор приоритетов (W):  0.12  0.22  0.18  0.28  0.06  0.12    ;
–  Главное собственное значение (ƛmax): 6,61;
–  Индекс согласованности (ИС): 0,12;
–  Случайный индекс (СИ): 1.24;
–  Отношение согласованности (ОС): 0,09;
–  Отношение согласованности (ОС) в переделах нормы.
Сравним СУБД по критерию «Особенности архитектуры и функциональные возможности».
В таблице 2 рассмотрен максимально возможный объем хранимых данных для каждой из рассматриваемых СУБД [4].
Таблица № 2
Максимально возможный объем хранимых данных для каждой СУБД

 

Размер БД

Размер таблицы

Размер строки

DB2

512 ТБ

512 ТБ

32677 B

Firebird

131 ТБ

2,5 ТБ

64 KB

MySQL

256 ТБ

64 KB

MS SQL

524258 ТБ

524258 ТБ

Oracle

4 ГБ * размер блока

8 KB

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

–  Вектор приоритетов (W):  0,07  0,10  0,06  0,41  0,11  0,22;
–  Главное собственное значение (ƛmax): 6,58;
–  Индекс согласованности (ИС): 0,11;
–  Случайный индекс (СИ): 1.24;
–  Отношение согласованности (ОС): 0,09;
–  Отношение согласованности (ОС) в переделах нормы.
Сравним СУБД по критерию «Производительность».
На сегодняшний день применяется и существует множество различных способов и тестовых рейтингов для проверки производительности систем управления  базами данных. Наиболее авторитетным является TPC-анализ, проводимый компанией 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;
–  Главное собственное значение (ƛmax): 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

–  Вектор приоритетов (W): 0,05  0,23  0,25  0,25  0,05  0,15;
–  Главное собственное значение (ƛmax): 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

–  Вектор приоритетов (W): 0,09  0,11  0,09  0,45  0,1  0,1;
–  Главное собственное значение (ƛmax): 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

–  Вектор приоритетов (W): 0,2  0,04  0,04  0,16  0,25  0,27;
–  Главное собственное значение (ƛmax): 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

–  Вектор приоритетов альтернатив (W): 0,05  0,05  0,36  0,15  0,13  0,25;
–  Главное собственное значение (ƛmax): 6,32;
–  Индекс согласованности (ИС): 0,06;
–  Случайный индекс (СИ): 1.24;
–  Отношение согласованности (ОС): 0,05;
–  Отношение согласованности (ОС) в переделах нормы.
Составим матрицу, в которую запишем все векторы приоритетов альтернатив по всем критериям и умножим матрицу на вектор весов критериев.



Веса всех рассматриваемых альтернатив распределились следующим образом: 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. Cаати, Т. Принятие решений. Метод анализа иерархий. [Текст] // М.: «Радио и связь», 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 (доступ свободный) – Загл. с экрана. – Яз. рус.