Сравнение СУБД

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

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

· Структура данных

· Функциональные возможности

· Особенности разработки приложений

· Производительность

· Требования к рабочей среде

Рассмотрим каждую из этих групп в отдельности.

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

2. Функциональные возможности. В данной группе требований выделяются следующие критерии: мобильность (независимость системы от среды, в которой она работает), масштабируемость (сможет ли данная система соответствовать росту информационной системы), триггеры и хранимые процедуры, сетевые возможности.

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

4. Производительность. Производительность системы является одним из самых важных показателей, который будет использоваться в статье в качестве основного критерия для выбора СУБД. Существует несколько факторов, которые можно отнести к производительности системы и которые могут учитываться для оценки производительности данной СУБД. Такими факторами являются следующие: рейтинг ТРС (Transactions per Cent), возможности параллельной архитектуры, возможности оптимизирования запросов.

5. Требования к рабочей среде. К данной группе требований можно отнести следующие: поддерживаемые аппаратные платформы, минимальные требования к оборудованию и операционной системе [1].

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

Матрица попарных сравнений строится следующим образом. Пусть заданы элементы А и В, если:

· АиВ одинаково важны, заносим 1;

· А незначительно важнее, чем 5, заносим 3;

· А значительно важнее 5, заносим 5;

· А явно важнее 5, заносим 7;

• А по своей значительности абсолютно превосходит В, заносим 9 в позицию (А, В), где пересекаются строка А и столбец В [2].

При сравнении элемента с самим собой имеем равную значительность, так что на пересечении строки А со столбцом А заносим 1. Поэтому главная диагональ матрицы должна состоять из единиц. Значения 2, 4, 6, 8 - промежуточные.

Для каждой из полученных таблиц считаются следующие показатели:

1. Вектор приоритетов матрицы;

2. Главное собственное значение , соответствующее вектору приоритетов, Собственное значение используется для оценки согласованности;

3. Индекс согласованности (ИС), показывающий отклонение от согласованности, определяется по формуле:

,

4. Отношение согласованности (ОС), которое вычисляется делением ИС на случайный индекс СИ), где СИ - табличная величина для матрицы данного порядка. Значение ОС, меньшее или равное 0.10, будем считать приемлемым [2].

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

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

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

Чтобы получить общее ранжирование СУБД, умножим матрицу А справа на транспонированный вектор-столбец весов критериев. В результате имеем результат -веса всех рассматриваемых СУБД [2].

В качестве альтернатив рассмотрим следующие СУБД:

1) DB2

2) Oracle

3) Microsoft SQL Server

4) MySQL

5) PostgreSQL

Информация о рассматриваемых СУБД приведена в табл. 4.1.

Таблица 4.1 Информация о СУБД

Название Дата выпуска Разработчик Язык
DB2 1983 г. IBM С, С++
Oracle 1979 г. Oracle Corporation С
MySQL 1995 г. MySQL AB, Oracle Corporation С, С++
Microsoft SQL Server 1989 г. Microsoft -
PostgreSQL 1989 г. PostgreSQL С

Сравним выбранные СУБД по критерию «Структура данных».

Все рассматриваемые альтернативы реализуют реляционную модель данных (РСУБД) или объектно-реляционную модель данных (ОРСУБД), следовательно, все рассматриваемые системы подходят для анализа и сравнения. Проводится анализ рассматриваемых альтернатив по предусмотренным типам данных. По результатам этого анализа можно построить матрицу попарных сравнений альтернатив по первому критерию (табл. 4.2), рассчитать вектор приоритетов, главное собственное значение и остальные показатели [3].

Таблица 4.2 Матрица попарных сравнений альтернатив по критерию «Структура данных»

  DB2 Oracle MySQL MS SQL Postgre SQL
DB2          
Oracle     1/4 1/5 1/3
MySQL       1/2  
MS SQL          
Postgre SQL     1/2 1/2  

Вектор приоритетов: ОД 8 0,08 0,24 0,33 0,17

Главное собственное значение: 5,34. Индекс согласованности (ИС): 0,084. Отношение согласованности (ОС): 0,07. Как видно, ОС в пределах нормы.

Сравним выбранные СУБД по критерию «Функциональные возможности».

Пункт «Триггеры и хранимые процедуры» определяет наличие в некоторой СУБД класса процедур, функций. Триггер -программа базы данных, вызываемая всякий раз при вставке, изменении или удалении строки таблицы. Триггеры обеспечивают проверку любых изменений на корректность, прежде чем эти изменения будут приняты. Хранимая процедура - программа, которая хранится на сервере и может вызываться клиентом. Поскольку хранимые процедуры выполняются непосредственно на сервере баз данных, обеспечивается более высокое быстродействие, нежели при выполнении тех же операций средствами клиента БД [1]. Проведем анализ альтернатив по данному пункту (табл. 4.3).

Таблица 4.3 Анализ альтернатив по пункту «Триггеры и х ранимые процедуры»

  Триггер Функция Процедура
DB2 + + +
Microsoft SQL Server + + +
MySQL + + +
Oracle + + +
PostgreSQL + + +

Пункт «Масштабируемость» предполагает возможности рассматриваемой СУБД по увеличению объема данных со временем и в случае необходимости [4]. Необходимо рассмотреть максимально возможный объем хранимых данных для каждой альтернативы (таблица 4.4).

Таблица 4.4 Анализ альтернатив по пункту «Масштабируемость»

  Размер БД Размер таблицы Размер строки
DB2 512ТБ 512 ТБ 32677 В
Microsoft SQL Server 524258 ТБ 524258 ТБ
MySQL 256ТВ 64KB
Oracle 4 Гб* Размер блока 8KB
Postgre SQL 32 ТБ 1,6 ТБ

Таким образом, проведен анализ рассматриваемых альтернатив по пунктам критерия «Функциональные возможности». По результатам анализа можно построить матрицу попарных сравнений альтернатив по второму критерию (табл. 4.5), рассчитать вектор приоритетов и основные показатели.

Таблица 4.5 Матрица попарных сравнений альтернатив по критерию «Функциональные возможности»

  DB2 Oracle MySQL MS SQL Postgre SQL
DB2   1/4   1/7 1/5
Oracle       1/4 1/2
MySQL 1/2     1/4 1/2
MS SQL          
Postgre SQL       1/3  

Вектор приоритетов: 0,07 0,13 0,09 0,49 0,22

Главное собственное значение: 5,45. Индекс согласованности (ИС): ОД 11. Отношение согласованности (ОС): 0,09.

Рассмотрим критерий «Особенности разработки приложений». При рассмотрении этого критерия необходимо оценить трудозатраты на администрирование баз данных. Основные задачи такого администрирования: установка и конфигурирование базы данных, текущее администрирование базы данных, резервное копирование/восстановление [5].

Таким образом можно построить матрицу попарных сравнений альтернатив по третьему критерию (табл. 4.6), рассчитать вектор приоритетов и основные показатели.

Таблица 4.6 Матрица попарных сравнений альтернатив по критерию «Особенности разработки приложений»

  DB2 Oracle MySQL MS SQL Postgre SQL
DB2       1/6  
Oracle       1/4  
MySQL       1/4  
MS SQL          
Postgre SQL       1/3  

Главное собственное значение: 5,04. Индекс согласованности (ИС): 0,01. Отношение согласованности (ОС): 0,01.

Сравним выбранные СУБД по критерию «Производительность».

Для тестирования производительности применяются различные средства, и существует множество тестовых рейтингов. Одним из самых популярных и объективных является ТРС-анализ производительности систем. Показатель ТРС - это отношение количества запросов, обрабатываемых за некий промежуток времени, к стоимости всей системы. Следует отметить, что для СУБД PostgreSQL не проводится тест ТРС, а система MySQL проводит собственные тесты производительности. Результаты теста производительности ТРС-С представлены в табл. 4.7 [6].

Таблица 4.7 Результаты теста TPC

Название Количество транзакций, tpmC Стоимость транзакции, долл./tpmC Монитор транзакций
Microsoft SQL Server 2005 х64 661,475 1.16USD Microsoft COM+
Oracle Database ng Standard 631,766 1.08 USD Microsoft COM+
IBM DB2 9.5 1,200,011 1.99 USD Microsoft COM+

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

Таблица 4.8 Матрица попарных сравнений альтернатив по критерию «Производительность»

по DB2 Oracle MySQL MS SQL Postgre SQL
DB2          
Oracle 1/4     1/2  
MySQL 1/5 1/3   1/4  
MS SQL 1/3        
Postgre SQL 1/5 1/3   1/4  

Вектор приоритетов: 0,47 0,15 0,07 0,24 0,07

Главное собственное значение: 5,14. Индекс согласованности (ИС): 0,036. Отношение согласованности (ОС): 0,03.

Рассмотрим критерий «Требования к рабочей среде». В табл. 4.9 приводятся результаты анализа альтернатив по критерию «Поддерживаемые операционные системы» [3].

Таблица 4.9 Поддерживаемые ОС рассматриваемых систем

  DB2 MS SQL Server MySQL Oracle Postgre SQL
Windows + + + + +
Mac OS + + + + +
Linux + + + + +
BSD - + + - +
UNIX + + + + +
AmigaOS - + + - -
Symbian - + + - -

Оценим рассматриваемые СУБД относительно критерия «Требования к рабочей среде», построим матрицу попарных сравнений альтернатив (табл. 4.10).

Таблица 4.10 Матрица попарных сравнений альтернатив по критерию «Требования к рабочей среде»

  DB2 Oracle MySQL MS SQL Postgre SQL
DB2     1/4 1/4 1/3
Oracle     1/4 1/4 1/2
MySQL          
MS SQL          
Postgre SQL     1/3 1/3  

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

Построим матрицу попарных сравнений критериев (табл. 4.11), для удобства пронумеруем критерии от 1 до 5.

Таблица 4.11 Матрица попарных сравнений критериев

           
      1/2 1/6 1/4
      1/2 1/6 1/3
        1/5 1/2
           
        1/2  

Вектор приоритетов альтернатив: 0,07 0,07 0,12 0,49 0,25

Главное собственное значение: 5,03. Индекс согласованности (ИС): 0,01. Отношение согласованности (ОС): 0,01.

Составим матрицу А, в которую запишем столбцами векторы приоритетов альтернатив по всем критериям, умножим матрицу А справа на транспонированный вектор-столбец весов критериев.

Таким образом, веса рассматриваемых СУБД распределены следующим образом: MS SQL Server (0.32), DB2 (0.28), MySQL (0.16), Oracle (0.13), PostgreSQL (0.11).



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: