Вы находитесь на странице: 1из 40

СОДЕРЖАНИЕ

Введение……………………………………………………………………… 2
1 Система управления базами данных как составная часть
автоматизированного банка данных………………………………………... 3
1.1 Базы данных и СУБД, их структура и назначение.............….……… 3
1.2 Разновидности СУБД ………………………………………………… 8
1.3 Структура и функции системы управления базами данных......…… 12
1.4 Классификация СУБД по способу доступа к базе данных………… 14
2 Обзор и сравнительный анализ программного обеспечения…………… 16
2.1 Современное состояние рынка систем управления базами данных.. 16
2.2 DB2 Universal Database……………………………………………… 17
2.3 PostgreSQL…………………………………………………………… 21
2.4 Microsoft SQL server………………………………………………… 24
2.5 Oracle…………………………………………………………………. 29
2.6 Сравнительный анализ СУБД………………………………………. 32
3 Выводы и рекомендации……………………………………………………. 35
Заключение……………………………………………………………………. 37
Список использованных источников…………………………………………. 38
ВВЕДЕНИЕ

В начале XXI в. наше общество находится в состоянии перехода от


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

Целью данной работы является исследование устройства и функций


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

Мы рассмотрим структуру СУБД, основные функции, их назначение и


классификацию. Также мы сопоставим возможности четырех конкретных
СУБД: Microsoft SQL Server, Oracle, PostgreSQL и IBM DB2. При этом
большое внимание будем уделять использованию этих программ в
информационных системах крупных предприятий и организаций.

4
Раздел 1. СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ КАК
СОСТАВНАЯ ЧАСТЬ АВТОМАТИЗИРОВАННОГО БАНКА ДАННЫХ

1.1. Базы данных и СУБД, их структура и назначение

В современных информационных системах информация обычно


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

Банк данных - это информационная система коллективного


пользования, обеспечивающая централизованное хранение данных, их
обновление и выдачу по запросам пользователей [5, c. 206]. Это комплекс
аппаратного и программного обеспечения банка данных и персонала,
обслуживающего его. Банк данных включает:

1. Одну или несколько баз данных;

2. Систему управления базами данных (СУБД);

3. Персонал, обеспечивающий работу банка данных.

База данных - это совокупность определенным образом


организованных данных, хранящихся в запоминающих устройствах ЭВМ [7,
c. 85]. Обычно данные хранятся на жестком диске сервера организации.
Современные БД позволяют размещать в своих структурах не только данные,
но и методы (т.е. программный код), с помощью которых происходит
взаимодействие с потребителем или другими программно-аппаратными
комплексами.

Далее разберем структуру простейшей базы данных. Если в БД нет


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

5
Поля БД определяют групповые свойства данных, записываемых в
ячейки, принадлежащие каждому из полей. Например, свойства полей могут
быть такими: имя поля, тип поля, размер поля, формат поля, маска ввода,
подпись, значение по умолчанию, условие на значение, обязательное поле,
индексированное поде, пустые строки, и т.д. Типы данных: текстовый,
числовой, денежный, дата/время, счетчик, поле мемо (большой объем
текста), логический, поле объекта OLE (для мультимедийных объектов),
гиперссылка, место подстановок.

Далее для более наглядного представления о работе с базами данных


хотелось бы разобрать режимы работы с базами данных. Обычно с БД
работают две категории исполнителей:

•Проектировщики – разрабатывают структуру таблиц базы и


согласовывают ее с заказчиком; разрабатывают объекты, предназначенные
для автоматизации работы и ограничения функциональных возможностей
работы с базой (из соображений безопасности);

•Пользователи – работают с базами данных, наполняют ее и


обслуживают.

СУБД имеет два режима: проектировочный и пользовательский.

В проектировочном режиме создаются и изменяются структура базы и


ее объекты. В пользовательском используются ранее подготовленные
объекты для наполнения БД или получения данных из нее. Какие же объекты
существую в современных базах данных мы разберем далее.

БД может содержать разные типы объектов. Каждая СУБД может


реализовывать свои типы объектов, такие как:

 Таблицы – основные объекты любой БД, в которых


хранятся все данные, имеющиеся в базе, и хранится сама структура
базы (поля, их типы и свойства).

 Отчеты – предназначены для вывода данных, причем для


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

 Страницы или страницы доступа к данным – специальные


объекты БД, выполненные в коде HTML, размещаемые на web-
6
странице и передаваемые клиенту вместе с ней. Сам по себе объект не
является БД, посетитель может с ее помощью просматривать записи
базы в полях страницы доступа. Таким образом страницы – интерфейс
между клиентом, сервером и базой данных, размещенным на сервере.

 Макросы и модули – предназначены для автоматизации


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

Вдобавок хотелось бы разобрать преимущества использования БД. В


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

Под понятием интеграции данных подразумевается возможность


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

Под понятием разделяемости данных подразумевается возможность


использования несколькими различными пользователями отдельных
элементов, хранимых в базе данных. Имеется в виду, что каждый из
пользователей сможет получить доступ к одним и тем же данным, возможно,
даже одновременно (параллельный доступ). Такое разделение данных, с
параллельным или последовательным доступом, частично является
следствием того факта, что база данных имеет интегрированную структуру.

Одним из следствий упомянутых выше характеристик базы данных


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

7
же частями базы данных, могут иметь значительно отличающиеся
представления о них.

База данных характеризуется моделью данных, то есть формой


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

· Каждый элемент таблицы - один элемент данных.

· Все ячейки в столбце таблицы однородные, то есть все элементы в


столбце имеют одинаковый тип (числовой, символьный и т. д.).

· Каждый столбец имеет уникальное имя.

· Одинаковые строки в таблице отсутствуют.

· Порядок следования строк и столбцов может быть произвольным.

Такая модель хранения данных обеспечивает удобство использования


базы данных на ЭВМ. Учитывая, что таблицы базы данных могут быть
связаны определенными отношениями, такая модель обеспечивает
целостность данных и отсутствие избыточности хранения. Поэтому она и
используется в большинстве современных баз данных.

Система управления базами данных (СУБД) - специализированная


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

Основное назначение СУБД - предоставить пользователю базы


данных возможность работать с ней, не вникая в детали на уровне
аппаратного обеспечения (пользователь более отстранен от этих деталей, чем
прикладной программист, использующий среду программирования). Иными
словами, СУБД позволяет конечному пользователю рассматривать базу
данных как объект более высокого уровня по сравнению с аппаратным
обеспечением, а также предоставляет в его распоряжение набор операций,
выражаемых в терминах языка высокого уровня (например, набор операций,
которые можно выполнять с помощью языка SQL).
СУБД являются посредниками между логической структурой данных,
необходимых разным приложениям, и физическими хранилищами данных
8
(обычно это файловая система персонального компьютера или сервера, хотя
последнее время хранилища могут распределяться между многими
серверами). Физическая структура данных (в частности, файловая) должна
быть скрыта от программистов. СУБД должны хранить логическую
структуру (метаданные), предотвращая несогласованные изменения данных,
нарушающие эту структуру.
Таким образом, любая СУБД должна обеспечивать следующее:
 Компактное хранение данных (без дублирования).
 Оптимизацию доступа к данным.
 Логическую целостность (согласованность) данных.
 Универсальный интерфейс (язык или протокол),
позволяющий задавать структуру данных, изменять и извлекать их
неизвестному заранее алгоритму.
Обеспечение этих требований к информационным системам на уровне
СУБД позволяет избегать повторения одной и той же работы при разработке
программ.

9
1.2. Разновидности СУБД

В зависимости от того, с какой базой данных работает СУБД, она


может быть:

· Иерархической

· Сетевой

· Реляционной

· Объектно-реляционной

· Объектно-ориентированной

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


подробно.

Иерархические СУБД - поддерживают древовидную организацию


информации. Связи между записями выражаются в виде отношений
предок/потомок, а у каждой записи есть ровно одна родительская запись. Это
помогает поддерживать ссылочную целостность. Когда запись удаляется из
дерева, все ее потомки также должны быть удалены.
Иерархические базы данных имеют централизованную структуру, т.е.
безопасность данных легко контролировать. К сожалению, определенные
знания о физическом порядке хранения записей все же необходимы, так как
отношения предок/потомок реализуются в виде физических указателей из
одной записи на другую. Это означает, что поиск записи осуществляется
методом прямого обхода дерева. Записи, расположенные в одной половине
дерева, ищутся быстрее, чем в другой.
Отсюда следует необходимость правильно упорядочивать записи,
чтобы время их поиска было минимальным. Это трудно, так как не все
отношения, существующие в реальном мире, можно выразить в
иерархической базе данных. Отношения "один ко многим" являются
естественными, но практически невозможно описать отношения "многие ко
многим" или ситуации, когда запись имеет несколько предков. До тех пор
пока в приложениях будут кодироваться сведения о физической структуре
данных, любые изменения этой структуры будут грозить перекомпиляцией.
Сетевые СУБД - Сетевая модель расширяет иерархическую модель
СУБД, позволяя группировать связи между записями в множества. С
10
логической точки зрения связь - это не сама запись. Связи лишь выражают
отношения между записями. Как и в иерархической модели, связи ведут от
родительской записи к дочерней, но на этот раз поддерживается
множественное наследование.
Следуя спецификации CODASYL, сетевая модель поддерживает DDL
(Data Definition Language - язык определения данных) и DML (Data
Manipulation Language - язык обработки данных). Это специальные языки,
предназначенные для определения структуры базы данных и составления
запросов. Несмотря на их наличие программист по-прежнему должен знать
структуру базы данных.
В сетевой модели допускаются отношения "многие ко многим", а
записи не зависят друг от друга. При удалении записи удаляются и все ее
связи, но не сами связанные записи.
В сетевой модели требуется, чтобы связи устанавливались между
существующими записями во избежание дублирования и искажения
целостности. Данные можно изолировать в соответствующих таблицах и
связать с записями в других таблицах.
Программисту не нужно при проектировании СУБД заботиться о том,
как организуется физическое хранение данных на диске. Это ослабляет
зависимость приложений и данных. Но в сетевой модели требуется, чтобы
программист помнил структуру данных при формировании запросов.
Оптимальную структуру базы данных сложно сформировать, а готовую
структуру трудно менять. Если вид таблицы претерпевает изменения, все
отношения с другими таблицами должны быть установлены заново, чтобы не
нарушилась целостность данных. Сложность подобной задачи приводит к
тому, что программисты зачастую отменяют некоторые ограничения
целостности ради упрощения приложений.
Реляционные СУБД - В сравнении с рассмотренными выше моделями
реляционная модель требует от сервера СУБД гораздо более высокого
уровня сложности. В ней делается попытка избавить программиста от
выполнения рутинных операций по управлению данными, столь характерных
для иерархической и сетевой моделей.
В реляционной модели база данных представляет собой
централизованное хранилище таблиц, обеспечивающее безопасный
одновременный доступ к информации со стороны многих пользователей. В
строках таблиц часть полей содержит данные, относящиеся непосредственно
к записи, а часть - ссылки на записи других таблиц. Таким образом, связи
между записями являются неотъемлемым свойством реляционной модели.
Каждая запись таблицы имеет одинаковую структуру. Например, в
таблице, содержащей описания автомобилей, у всех записей будет один и тот
11
же набор полей: производитель, модель, год выпуска, пробег и т.д. Такие
таблицы легко изображать в графическом виде.
В реляционной модели СУБД достигается информационная и
структурная независимость. Записи не связаны между собой настолько,
чтобы изменение одной из них затронуло остальные, а измененная структура
СУБД не обязательно приводит к перекомпиляции работающих с ней
приложений.
В реляционных СУБД применяется язык SQL, позволяющий
формулировать произвольные, нерегламентированные запросы. Это язык
четвертого поколения, поэтому любой пользователь может быстро научиться
составлять запросы. К тому же, существует множество приложений,
позволяющих строить логические схемы запросов в графическом виде. Все
это происходит за счет ужесточения требований к производительности
компьютеров. К счастью, современные вычислительные мощности более чем
адекватны.
Реляционные базы данных страдают от различий в реализации языка
SQL, хотя это и не проблема реляционной модели. Каждая реляционная
СУБД реализует какое-то подмножество стандарта SQL плюс набор
уникальных команд, что усложняет задачу программистам, пытающимся
перейти от одной СУБД к другой. Приходится делать нелегкий выбор между
максимальной переносимостью и максимальной производительностью. В
первом случае нужно придерживаться минимального общего набора команд,
поддерживаемых в каждой СУБД. Во втором случае программист просто
сосредоточивается на работе в данной конкретной СУБД, используя
преимущества ее уникальных команд и функций СУБД.
Объектно-ориентированные СУБД - позволяет программистам,
которые работают с языками третьего поколения, интерпретировать все свои
информационные сущности как объекты, хранящиеся в оперативной памяти.
Дополнительный интерфейсный уровень абстракции обеспечивает перехват
запросов, обращающихся к тем частям базы данных, которые находятся в
постоянном хранилище на диске. Изменения, вносимые в объекты,
оптимальным образом переносятся из памяти на диск.
Преимуществом ООСУБД является упрощенный код. Приложения
получают возможность интерпретировать данные в контексте того языка
программирования, на котором они написаны. Реляционная база данных
возвращает значения всех полей в текстовом виде, а затем они приводятся к
локальным типам данных. В ООБД этот этап ликвидирован. Методы
манипулирования данными всегда остаются одинаковыми независимо от
того, находятся данные на диске или в памяти.
Данные в ООСУБД способны принять вид любой структуры, которую
можно выразить на используемом языке программирования. Отношения
12
между сущностями так же могут быть произвольно сложными. ООБД
управляет кэш-буфером объектов, перемещая объекты между буфером и
дисковым хранилищем по мере необходимости.
С помощью ООСУБД решаются две проблемы. Во-первых, сложные
информационные структуры выражаются в них лучше, чем в реляционных
базах данных, а во вторых, устраняется необходимость транслировать
данные из того формата, который поддерживается в СУБД. Например, в
реляционной СУБД размерность целых чисел может составлять 11 цифр, а в
используемом языке программирования - 16. Программисту придется
учитывать эту ситуацию.
Объектно-ориентированные СУБД выполняют много дополнительных
функций. Это окупается сполна, если отношения между данными очень
сложны. В таком случае производительность ООСУБД оказывается выше,
чем у реляционных СУБД. Если же данные менее сложны, дополнительные
функции оказываются избыточными.
В объектной модели данных поддерживаются нерегламентированные
запросы, но языком их составления не обязательно является SQL. Логическое
представление данных может не соответствовать реляционной модели,
поэтому применение языка SQL станет бессмысленным. Зачастую удобнее
обрабатывать объекты в памяти, выполняя соответствующие виды поиска.
Большим недостатком объектно-ориентированных баз данных является
их тесная связь с применяемым языком программирования. К данным,
хранящимся в реляционной СУБД, могут обращаться любые приложения,
тогда как, к примеру, Java-объект, помещенный в ООСУБД, будет
представлять интерес лишь для приложений, написанных на Java.
Объектно-реляционные - данные СУБД объединяют в себе черты
реляционной и объектной моделей. Их возникновение объясняется тем, что
реляционные базы данных хорошо работают со встроенными типами данных
и гораздо хуже - с пользовательскими, нестандартными. Когда появляется
новый важный тип данных, приходится либо включать его поддержку в
СУБД, либо заставлять программиста самостоятельно управлять данными в
приложении.
Не всякую информацию имеет смысл интерпретировать в виде цепочек
символов или цифр. Представим себе музыкальную базу данных. Песню,
закодированную в виде аудиофайла, можно поместить в текстовое поле
большого размера, но как в таком случае будет осуществляться текстовый
поиск?
Перестройка архитектуры СУБД с целью включения в нее поддержки
нового типа данных - не лучший выход из положения. Вместо этого
объектно-реляционная СУБД позволяет загружать код, предназначенный для
обработки "нетипичных" данных. Таким образом, база данных сохраняет
13
свою табличную структуру, но способ обработки некоторых полей таблиц
определяется извне, т.е. программистом.

Таким образом, разобрав определенные преимущества и недостатки


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

СУБД обычно содержит следующие компоненты:

· Ядро, которое отвечает за управление данными во внешней и


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

В связи с этим можно сформулировать основные функции СУБД: [3]

1. Определение данных.

СУБД должна предоставлять средства определения данных в виде


исходной формы (схемы данных) и преобразования этих определений в
соответствующую объектную форму. То есть СУБД преобразовывает данные
в форму, необходимую для хранения их в базе данных.

2. Манипулирование данными.

СУБД должна быть способна обрабатывать запросы пользователя на


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

3. Управление хранением данных и доступом к ним.

14
СУБД осуществляет программную поддержку хранения данных в
запоминающем устройстве ЭВМ и управляет всеми действиями,
производимыми с данными.

4. Защита и поддержка целостности данных

СУБД должна контролировать пользовательские запросы и определять,


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

Таким образом, основная функция системы управления базами данных


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

СУБД выполняет эти функции с помощью определенного


информационно-логического языка, или языка запросов. В большинстве
СУБД для этого используется язык SQL.

СУБД реляционного типа освобождает пользователя от необходимости


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

По степени универсальности различают два класса СУБД: [6]

 Системы общего назначения.


 Специализированные системы.

СУБД общего назначения не ориентированы на какую-либо


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

15
1.4. Классификация СУБД по способу доступа к базе данных

По способу доступа к БД системы управления ими подразделяются


на три типа:

· Файл-серверные

В файл-серверных СУБД файлы данных располагаются


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

На данный момент файл-серверные СУБД считаются устаревшими.


Они могут применяться для обучения работе с базами данных (чаще всего
для этого используется MS Access) или для хранения информации в
небольших информационных системах.

Примеры: Microsoft Access, Paradox, dBase.

· Клиент-серверные

Такие СУБД состоят из клиентской части (которая входит в состав


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

Примеры: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle,


PostgreSQL, MySQL, ЛИНТЕР.

· Встраиваемые

Встраиваемая СУБД - библиотека, которая позволяет


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

Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird,


один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact,
ЛИНТЕР.

Таким образом, в данном разделе мы осветили такие понятия, как банк


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

17
Раздел 2. ОБЗОР И СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
2.1. Современное состояние рынка систем управления базами данных

На мировом рынке корпоративных систем управления базами данных


(СУБД) доминирующее положение занимает традиционная тройка
продуктов: IBM DB2, Microsoft SQL Server и Oracle. Более 80% рынка СУБД
в течение долгих лет контролируется тремя компаниями производителями:
IBM, Oracle и Microsoft. В силу их доминирования на данном рынке, а также
достаточного количества информации по данным продуктам, я решил
остановиться на вышеупомянутых СУБД, а также сравнить с ними по
основным показателям объектно-реляционную систему управления базами
данных PostgreSQL

По статистическим данным на рынке России лидирующее положение


занимает Oracle, так как за 2010 год, данная СУБД занимает более 50% всего
рынка, среди других СУБД и около 30% мирового рынка СУБД.

Итак, с моей точки зрения, выбор конкретной архитектуры построения


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

18
 Максимальное число пользователей, одновременно
обращающихся к базе.
 Характеристики клиентского ПО.
 Аппаратные компоненты сервера.
 Серверную операционную систему.
 Уровень квалификации персонала.

Далее по данным критериям перейдем к характеристике и подробному


описанию каждого продукта.

2.2. DB2 Universal Database

Универсальный сервер баз данных DB2 Universal Database - это


масштабируемая, объектно-реляционная система управления базами данных
с интегрированной поддержкой мультимедиа и Web, работающая на
системах от персональных компьютеров и серверов на процессорах Intel до
Unix, от однопроцессорных систем до симметричных многопроцессорных
систем (SMP) и систем с массовым параллелизмом (MPP), на хостах AS/400 и
мейнфреймах. DB2 Universal Database объединяет в себе высокую
производительность систем обработки транзакций в режиме on-line,
объектно-реляционные расширения, усовершенствованные средства
оптимизации с возможностями параллельной обработки и поддержкой очень
больших баз данных. DB2 Universal Database также имеет новые встроенные
средства для облегчения переноса на свою базу приложений, разработанных
на других системах управления базами данных, таких как Oracle, Microsoft,
Sybase и Informix. Помимо этого, DB2 Universal Database включает в себя
дополнительные средства поддержки систем аналитической обработки в
реальном времени (OLAP) и систем поддержки принятия решений,
множество простых в использовании расширений (DB2 extenders). DB2
Universal Database доступна на абсолютном большинстве ключевых
платформ, что дает заказчикам ту гибкость, которая им необходима.

Система СУБД DB2 – один из “долгожителей” в мире систем


управления базами данных. Имея в своей основе классическую реляционную
модель данных, система первоначально разрабатывалась для больших ЭВМ.
Только впоследствии компания IBM реализовала DB2 для платформы AS/400
(СУБД получила название DB2/400), а несколько позже приступила к
выпуску практически нового продукта под
19
названием Universal Data Base (UDB), который, как предполагалось, будет
соответствовать стандартам открытых систем и функционировать на
широком спектре платформ, включая Unix и Windows.

Ниже представлены наиболее важные функциональные возможности


DB2. [13]

 Мультиплатформенность. Даже самая младшая редакция "IBM


DB2 Express – C" поддерживает несколько наиболее популярных
операционных систем - Windows (включая x64), Linux (серверы POWER и
x86), Mac OS X и Solaris x64.
 Advanced Copy Services (ACS). DB2 ACS позволяет использовать
технологию быстрого копирования устройства хранения данных для
выполнения работы по копированию данных в операциях резервного
копирования и восстановления. Возможность копирования данных
средствами устройства хранения данных значительно ускоряет операции
резервного копирования и восстановления. Резервное копирование с
использованием DB2 ACS называется резервным копированием через
мгновенную копию (snapshot backup).
 Онлайновая реорганизация таблиц (REORG, реорганизация "на
месте") позволяет пользователю проводить реорганизацию таблицы без
прекращения полного доступа к ней.
 Поддержка High Availability Disaster Recovery (HADR).
Функциональность DB2 HADR обеспечивает поддержку высокой готовности
и аварийное переключение для баз данных DB2.
 Поддержка 64-разрядных экземпляров.
 Поддержка Materialized Query Tables (таблицы
материализованных запросов), Query Parallelism (параллелизм запросов),
Multidimensional Clustering Tables (MDC, многомерная кластеризация таблиц)
 Поддержка сжатия данных при резервном копировании
 Поддержка SQL-репликации.
 Поддержка Database Partitioning (разбиение баз данных).
Используется для масштабируемых кластеров: прежнее название - DB2 EEE.
Данная функциональная возможность позволяет распределить один образ
базы данных на несколько физических серверов
 DB2 Text Search. Функция DB2 Text Search позволяет вести поиск
в текстовых столбцах таблиц DB2. Поддержка текстового поиска позволяет
использовать встроенные в DB2 функции CONTAINS, SCORE и xmlcolumn-
contains для поиска в текстовых индексах, построенных на основе заданных
вами аргументов поиска
 IBM Data Studio - это инструментальная платформа,
охватывающая весь жизненный цикл приложений (проектирование,
разработка, развертывание, поддержка и управление) для всех реляционных
СУБД IBM, с перспективой дальнейшего расширения поддержки. Это
20
означает, что вы имеете не только переносимый SQL API, но и набор
инструментальных программ, позволяющий реализовать бизнес-логику в
масштабе всего предприятия.

В настоящий момент позиции СУБД DB2 исключительно сильны в


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

Рассмотрим плюсы и минусы данной СУБД:

Плюсы:

 Есть хорошая бесплатная версия


 В бесплатной версии нет ограничений на размер базы
 В бесплатной версии нет ограничителя запросов, это позволяет
одновременно обслуживать десятки пользователей
 Хорошая бесплатная техподдержка
 В отличии от PostgreSQL есть возможность получить платную
поддержку производителя, что позволяет применять в Entrprise секторе
бизнеса
 С конфигурациями 1С: Предприятие в автоматическом режиме
блокировок работает лучше, чем PostgreSQL (речь а параллельности,
область блокировок на уровне строк, а не таблиц)
 Хорошая производительность
 Меньше проблем с неуникальностью индексов (фактически для
решения проблемы рекомендуется временно базы загружать в DB2)
 Лучше обрабатывает ситуации вроде "не хватает памяти для
сервера 1С"
 Нет ограничения на 256 таблиц, что расширяет возможности при
работе с RLS

Минусы:

 Мало специалистов и высокая стоимость Хороших специалистов


 Небольшая распространенность (со всеми вытекающими
последствиями)

21
 В отличии от MS SQL Server, для новых версий 1С выпускает
"адаптированные" версии (в прочем, тоже самое верно и для
postgreSQL)
 Размер баз больше, чем в других СУБД
 Медленная загрузка dt-файла
 Требуется "тонкая" настройка параметров СУБД, автоподстройка
системы есть, но неполная
 Некоторые сообщения платформой могут не верно
обрабатываться, для решения приходиться "понижать уровень"
логирования ошибок.

Являясь главным конкурентом СУБД Oracle в Северной Америке, на


белорусском рынке СУБД DB2, несмотря на высокое техническое качество
продукта, представлена очень слабо. Возможно, это связано с общей
стратегией компании IBM на белорусском рынке, когда основной акцент
сделан на поставках компьютерных платформ. Фактом является то, что в
Беларуси с DB2 работают лишь группы энтузиастов. Практически нет
инфраструктуры, необходимой для широкого распространения продукта, нет
достаточного числа обученных специалистов, нет широкой сети учебных
центров, отсутствует литература на русском языке. Представительство IBM в
Беларуси практически не имеет отделения по технической поддержке DB2,
что существенно осложняет эксплуатацию СУБД. Инсталляционная база DB2
в Беларуси очень ограничена и затрагивает по большей части большие ЭВМ
и AS/400. Партнерская сеть IBM по DB2 невелика по сравнению, скажем, с
Microsoft или Oracle. DB2 пока не удалось стать стандартом баз данных для
платформ UNIX (здесь эта ниша занята Oracle) и Windows NT (ниша
занята Microsoft SQL Server и Oracle).

22
2.3. PostgreSQL
PostgreSQL это мощная объектно-реляционная система управления
базами данных с открытыми исходными текстами. Она разрабатывается на
протяжении более 15 лет и улучшает архитектуру, чем завоевала репутацию
надежной, интегрированной и масштабируемой СУБД. Она запускается на
всех основных платформах, включая Linux, UNIX (AIX, BSD, HP-UX, SGI
IRIX, Mac OS X, Solaris, Tru64), и Windows. Она полностью соответствует
ACID, имеет полную поддержку ключей, объединений, представлений,
триггеров, и хранимых процедур (на разных языках). Она включает
большинство типов данных SQL92 и SQL99, включая INTEGER,
NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, и
TIMESTAMP. Она также поддерживает хранение больших двоичных
объектов (BLOB's), включая картинки, звук, или видео. Она имеет API для
C/C++, Java, Perl, Python, Ruby, Tcl, ODBC.

Являясь СУБД класса предприятия, PostgreSQL предоставляет такие


особенности как Multi-Version Concurrency Control (MVCC),
восстановление по точке во времени, табличное пространство,
асинхронная репликация, вложенные транзакции (точки сохранения),
горячее резервирование, планировщик/оптимизатор запросов, и
упреждающее журналирование на случай поломки [15]. Он поддерживает
международные кодировки, в том числе и многобайтовые, при
использование различных кодировок можно использовать сортировку и
полнотекстовый поиск, различать регистр. Большое количество
подконтрольных данных и большое число одновременно работающих
пользователей, тем не менее, не сильно влияет на масштабируемость
23
системы. Есть действующие PostgreSQL системы, которые управляют
более чем 4 терабайтами данных. Некоторые общие ограничения
PostgreSQL представлены ниже в таблице.
Ограничение Значение
Максимальный размер базы данных Не ограничено
Максимальный размер таблицы 32 TB
Максимальный размер строки 1.6 TB
Максимальный размер поля 1 GB
Максимальное кол-во строк в таблице Не ограничено
Максимальное кол-во столбцов в таблице 250 - 1600 в зависимости от типа столбцов
Максимальное кол-во индексов в таблице Не ограничено

Команда разработчиков PostgreSQL ориентируется на соответствие


стандартам. Его реализация SQL полностью соответствует ANSI-SQL 92/99
стандартам. Он имеет полную поддержку вложенных запросов (включая
выбор из FROM), уровень чтения только зафиксированных данных и
сериализуемые транзакции. И так как PostgreSQL имеет полностью
реляционный системный каталог, поддерживающий множество схем баз
данных, его каталог также доступен посредством информационной схемы в
соответствии со стандартом SQL.

Средства обеспечения целостности данных включают составные


первичные ключи, внешние ключи с поддержкой запрета и каскадирования
изменений/удалений, проверку ограничений (constraints), ограничения
уникальности и ограничения на непустые значения.

PostgreSQL также включает набор расширений и улучшений. Среди


удобств присутствуют автоинкрементные поля на основе
последовательностей, и конструкции LIMIT/OFFSET, позволяющие
возвращать результирующий набор только частично. PostgreSQL
поддерживает составные, уникальные и функциональные индексы, для
построения (хранения) которых могут использоваться методы B-дерева, R-
дерева, перемешивания, или GiST.
Индексирование GiST (Generalized Search Tree) представляет собой
систему, объединяющую большой набор различных алгоритмов сортировки
и поиска, включая B-деревья, B+-деревья, R-деревья, деревья частичных
сумм, ранжированные B+-деревья, и другие. Она также обеспечивает
интерфейс, обеспечивающий как создание пользовательских типов данных,
так и расширенные методы запросов, позволяющие выполнять поиск по
ним. Т.е. GiST дает возможность определить, что вы храните, как вы это
храните, и каким образом вы будете выполнять поиск. Эти возможности
существенно превышают средства, даваемые стандартными алгоритмами
типа B-дерева или R-дерева.

24
GiST служит основанием для многих открытых проектов, которые
используют PostgreSQL, таких как OpenFTS и PostGIS. OpenFTS (Open
Source Full Text Search engine) обеспечивает онлайновое индексирование
данных и ранжирование по важности в поиске по базе данных. PostGIS это
проект, добавляющий к PostgreSQL поддержку географических объектов, и
позволяющий использовать его в географических информационных
системах (GIS), аналогичных ESRI SDE или Oracle's Spatial extension.
Другие улучшения включают в себя табличное наследование, систему
правил, и события базы данных. Табличное наследование придает созданию
таблиц объектно-ориентированный уклон, позволяющий при создании базы
данных наследовать новые таблицы от старых, рассматривая их как базовые
классы. Более того, PostgeSQL поддерживает как одиночное, так и
множественное наследование.
Система правил, также называемая системой перезаписи запросов,
позволяет при разработке базы данных создавать правила, которые задают
определенные операции над заданными таблицами или представлениями, и
динамически преобразовывать их в другие операции в процессе
выполнения.
События базы данных - это система взаимодействия между
процессами, в которой сообщения и события могут передаваться между
клиентами посредством использования команд LISTEN и NOTIFY. Это
позволяет строить как простые схемы взаимодействия типа "точка-точка",
так и более сложные схемы обработки событий. Извещения могут быть
инициированы триггерами или хранимыми процедурами, и клиенты
PostgreSQL могут отслеживать события базы данных, такие как изменения,
удаления и внесения данных в таблицы, по мере их наступления.

Сильными сторонами PostgreSQL считаются:

 Поддержка БД практически неограниченного размера;


 Мощные и надёжные механизмы транзакций и репликации;
 Расширяемая система встроенных языков программирования: в
стандартной поставке
поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl
 Наследование;
 Легкая расширяемость.

Кроме того, исходный код PostgreSQL доступен под наиболее


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

2.4. Microsoft SQL server

Началом истории Microsoft SQL Server по праву можно считать 1986


год, когда Microsoft и Sybase выпустили совместную версию продукта —
SQL Server 1.0 и адаптировали ее для операционной системы OS/2 при
поддержке компании Ashton Tate, которая в то время была лидером на рынке
СУБД для персональных компьютеров. Выпущенный в 1989 году продукт не
получил должного признания из за проблем, связанных с продвижением
OS/2. В 1990 году Sybase и Microsoft прервали соглашение с Ashton Tate и
выпустили версию SQL Server 1.1 для новой операционной системы Windows
3.0. Microsoft отвечала за клиентские утилиты, программные интерфейсы и
средства управления, а Sybase — за разработку ядра базы данных.

В 1992 году началась разработка новой версии продукта — SQL Server


on Windows NT, который был выпущен в 1993 году одновременно с
серверной операционной системой — Microsoft Windows NT. Тесная
интеграция с Windows NT обеспечила продукту высокую
производительность, управляемость и впервые у Microsoft появилась система
управления базами данных, которая могла конкурировать с аналогичными
продуктами на платформе UNIX. В 1994 году Microsoft и Sybase прервали

26
совместное пятилетнее соглашение и бывшие партнеры занялись
самостоятельным развитием своих, теперь уже конкурирующих продуктов.

В 1995 и 1996 годах увидели свет версии SQL Server 6.0 и 6.5, но
некоторые проблемы с производительностью и управляемостью не
позволили этим продуктам завоевать существенную долю рынка
корпоративных СУБД. Было принято решение приостановить развитие
текущей версии платформы и начать создание продукта «с нуля». Примерно
в то же время компания DEC продала свою систему управления базами
данных компании Oracle и Microsoft удалось заполучить ведущих
специалистов компании DEC — Джима Грея (Jim Gray), Дэйва Ломета (Dave
Lomet) и Фила Бернштейна (Phil Bernstein). Команде разработчиков была
поставлена задача — создать новое ядро базы данных с поддержкой
масштабируемости, новый процессор обработки запросов, систему
самонастройки, самоуправления, а также реализовать поддержку OLAP и
ETL с привлечением специалистов из компании Panorama. Разработка новой
СУБД заняла около трех лет и в 1998 году был выпущен продукт под
названием SQL Server 7.0 — Microsoft начала завоевывать не только рынок
реляционных СУБД, но и такие новые рынки, как business intelligence и data
warehousing. Параллельно велась работа над SQL Server 2000, который
включал в себя поддержку XML, индексированные представления,
распределенные разделы на основе представлений, а также более чем 20%
ное увеличение производительности для практически всех ключевых
компонентов продукта. В 2000 году Microsoft стала полноправным лидером
на рынке СУБД для платформы Windows.

Дальнейшее развитие продукта — в версиях SQL Server 2005 и SQL


Server 2008 — добавило увеличение производительности, управляемости,
расширенную поддержку различных типов данных, интегрированные
системы создания отчетов, трансформации данных, расширенные функции
анализа [4].

Одной из самых распространенных СУБД, используемых в крупных


организациях, является Microsoft SQL server, СУБД от компании Microsoft.
Она использует реляционную модель данных. Microsoft SQL Server является
клиент-серверной СУБД, что делает ее хорошей для использования в
крупных организациях, имеющих мощный сервер. Платформа данных MS
SQL Server 2005 включает следующие инструменты для работы с базой
данных:

· Поддержка структурированных и неструктурированных (XML)


данных.

· Replication Services: репликация данных для распределённых и


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

· Notification Services: развитые возможности уведомлений для


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

· Integration Services: возможности извлечения, преобразования и


загрузки для хранилищ данных и интеграции данных в масштабе
предприятия.

· Analysis Services: аналитическая обработка в реальном времени


(OLAP) для быстрого, сложного анализа больших и смешанных наборов
данных, использующая многомерное хранение.

· Reporting Services: исчерпывающее решение для создания, управления


и доставки как традиционных бумажных отчётов, так и интерактивных,
основанных на технологии WWW отчётов.

· Инструменты управления: SQL Server включает средства управления


для развитого управления и настройки баз данных, также как и тесную
интеграцию с такими инструментами, как Microsoft Operations Manager
(MOM) и Microsoft Systems Management Server (SMS). Стандартные
протоколы доступа к данным существенно уменьшают время, необходимое
для интеграции данных SQL Server с существующими системами. В
дополнение, поддержка Web служб встроена для обеспечения
взаимодействия с другими приложениями и платформами.

· Инструменты разработки: SQL Server предлагает интегрированные


инструменты разработки для ядра базы данных, извлечения, трансформации
и загрузки данных, извлечения информации, OLAP и отчётности, которые
тесно интегрированы с Microsoft Visual Studio® для предоставления
сквозных возможностей разработки приложений. Каждая главная подсистема
SQL Server поставляется со своей собственной объектной моделью и
набором API для расширения системы данных в любом направлении, которое
уникально для вашего бизнеса.

Особенностью данной СУБД являются следующие средства: [14]

 SQL Server Management Studio. SQL Server упрощает управление


путём предоставления единой интегрированной консоли управления для
мониторинга и управления реляционной базой данных SQL Server, Integration
Services, Analysis Services, Reporting Services, Notification Services и SQL
28
Mobile на большом числе распределённых серверов и баз данных.
Администраторы баз данных могут выполнять несколько задач
одновременно, включая следующие: создание и выполнение запроса,
просмотр серверных объектов, управление объектом, отслеживание
активности системы и просмотр оперативной справки. SQL Server
Management Studio содержит среду разработки для создания, редактирования
и управления сценариев и хранимых процедур, используя Transact-SQL,
многомерные выражения (MDX), XMLA и SQL Server Mobile Edition.
Management Studio легко интегрируется с системой контроля версий.
Management Studio также содержит инструменты для планирования задач
Агента SQL Server и управления Планами Технического Обслуживания для
автоматизации ежедневных задач обслуживания. Объединение задач
управления и создания в одном инструменте в соединении со способностью
управлять всеми типами серверов обеспечивает улучшенную
производительность для администраторов баз данных.

 Упреждающий мониторинг и настройка производительности SQL


Server предоставляет более 70 новых мер внутренней производительности
базы данных и использования ресурсов от памяти, блокировок и
планирования до транзакций и операций сетевого и дискового ввода-вывода.
Эти Динамические Представления Управления (Dynamic Management Views -
DMV) обеспечивают большую прозрачность и видимость состояния базы
данных и мощную инфраструктуру для упреждающего мониторинга
жизнеспособности и производительности базы данных.

 Объекты Управления SQL (SQL Management Objects) Объекты


Управления SQL (SMO) являются новым набором объектов для
программирования, которые предоставляет полную функциональность для
управления базой данных SQL Server. Фактически, Management Studio
построена на Объектах Управления SQL. SMO реализована в виде сборки
Microsoft .NET Framework. SMO можно использовать для автоматизации
распространённых задач администрирования SQL Server, таких как
программное получение конфигурационных настроек, создание баз данных,
выполнение сценариев Transact-SQL, создание заданий Агента SQL Server и
планирование резервного копирования. Объектная модель SMO является
более безопасной, надёжной и масштабируемой заменой Распределённым
Объектам Управления (DMO), которые входят в состав предыдущих версий
SQL Server.

 Выделенное административное соединение SQL Server


привносит выделенное административное соединение для доступа к серверу
даже если он не отвечает или недоступен по иной причине. Это позволяет
вам выполнять диагностические функции или операторы Transact-SQL для
разрешения проблем на сервере. Административное соединение
активируется членами фиксированной серверной роли sysadmin и доступно
29
только через утилиту командной строки SQLCMD либо локально, либо с
удалённой машины.

 Поддержка Web служб В SQL Server можно разрабатывать Web


службы XML в уровне базы данных, используя SQL Server в качестве
слушателя HTTP. Это даёт новый способ доступа к данным приложениям,
которые сосредоточены вокруг Web служб. В SQL Server 2005 можно
использовать HTTP для прямого доступа к SQL Server, без применения
слушателя промежуточного уровня, такого как Microsoft Internet Information
Services (IIS). SQL Server предоставляет интерфейс Web службы для
выполнения SQL выражений и вызова функций и процедур. Результаты
запросов возвращаются в XML формате и здесь можно воспользоваться
преимуществами инфраструктуры Web служб Visual Studio.

Далее рассмотрим более современную версию данного продукта, такую


как Microsoft SQL Server 2008. Это законченное предложение в области баз
данных и анализа данных для быстрого создания масштабируемых решений
электронной коммерции, бизнес-приложений и хранилищ данных. Оно
позволяет значительно сократить время выхода этих решений на рынок,
одновременно обеспечивая масштабируемость, отвечающую самым высоким
требованиям. В SQL Server включена поддержка языка XML и протокола
HTTP, средства повышения быстродействия и доступности, позволяющие
распределить нагрузку и обеспечить бесперебойную работу, функции для
улучшения управления и настройки, снижающие совокупную стоимость
владения.

Платформа бизнес-анализа SQL Server 2008, тесно интегрированная с


Microsoft Office, предоставляет развитую масштабируемую инфраструктуру
для внедрения мощных возможностей бизнес-анализа в рабочий процесс всех
бизнес-подразделений вашей компании, открывая доступ к нужной бизнес-
информации через знакомый интерфейс MS Excel и MS Word [2]. Она
поддерживает создание и работу с корпоративным хранилищем данных,
объединяющим информацию со всех систем и приложений, позволяющим
получить единую комплексную картину бизнеса вашей компании. MS SQL
Server 2008 предоставляет масштабируемый и высокопроизводительный
процессор данных - для самых ответственных и требовательных бизнес-
приложений, тем, кому необходим высочайший уровень надежности и
защиты, позволяя при этом снизить совокупную стоимость владения за счет
расширенных возможностей по управлению серверной инфраструктурой.
Данный продукт предлагает разработчикам развитую, удобную и
функциональную среду программирования, включая средства работы с веб-
службами, инновационные технологии доступа к данным – все, что
необходимо для эффективной работы с данными любых типов и форматов.
30
Таким образом, анализируя всю вышесказанную информацию,
хотелось бы подытожить ее. Важнейшими характеристиками данной СУБД
являются:

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

Важно отметить, что MS SQL Server рассчитана на работу именно на


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

2.5. Oracle

Другой распространенной СУБД является система от компании Oracle.


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

31
СУБД Oracle– ветеран рынка реляционных СУБД. Разработка этой
системы была начата практически в то же время, что и IBM DB2 и по
настоящее время эти системы остаются основными конкурентами.

Oracle занимает лидирующие позиции на рынке СУБД и, что особенно


важно, лидирует на платформах Unix и Windows. В России также
обозначилось лидерство Oracle, особенно в области крупномасштабных
информационных систем.

Причина широкой распространенности Oracle заключается прежде


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

Служба технической поддержки Oracle построена на


профессиональной основе. Кроме того, ведущие компании – партнеры Oracle,
такие как FORS, RDTex имеют собственные центры технической поддержки
[1].

Важным является и то, что наряду с СУБД, компания Oracle поставляет


центральный инфраструктурный продукт – Internet Application Server, сервер
приложений, функционирующих в среде Internet/Intranet, а также CASE-
средства, средства быстрой разработки приложений, средства построения
хранилищ данных, оперативного анализа данных, выявления сложных
зависимостей в данных (Data Mining), что позволяет поставлять не отдельные
продукты, но комплексные технологические решения для заказчиков.

С технической точки зрения важаняющих данная СУБД


поддерживается Vax VMS, не говоря уже о Windows NT и различных
разновидностях Unix, в том числе Solaris, HP-UX, AIX, Linux, SCO Unix и
т.д.

Другой важной характеристикой является поддержка Oracle всех


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

Ядром СУБД Oracle является сервер базы данных, который


поставляется в одном из четырех вариантов в зависимости от масштаба
информационной системы, в рамках которой предполагается его применение
[12]. Для систем масштаба крупной организации предлагается продукт Oracle
Database Enterprise Edition для которого имеется целый набор опций,
архитектурно и функционально расширяющих возможности сервера.
Именно Oracle Database Enterprise Edition устанавливается на кластерах (с
опцией Parallel Server, по версию 8i включительно
или RAC– Real Application Cluster, начиная с версии 9i и старше), позволяя
создавать системы высокой готовности.
Продукт Oracle Database Standard Edition ориентирован на организации
среднего масштаба или подразделения в составе крупной организации. Для
персонального использования предназначен
продукт Oracle Database Personal Edition.

Важнейшим преимуществом Oracle перед конкурентами (и, прежде


всего, перед DB2) является идентичность кода различных версий сервера баз
данных Oracle для всех платформ, гарантирующая идентичность и
предсказуемость работы Oracle на всех типах компьютеров, какие бы не
входили в ее состав. Все варианты сервера Oracle имеют в своей основе один
и тот же исходный программный код и функционально идентичны, за
исключением некоторых опций, которые, например, могут быть добавлены
к Oracle Database Enterprise Edition и не могут -
к Oracle Database Standard Edition.

Таким образом, для всех платформ существует единая СУБД в


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

33
Жесткая технологическая схема разработки Oracle, опирающаяся на
принципы идентичности исходного программного кода для различных
версий и платформ, контрастирует со схемами других компаний. Так,
СУБД DB/2 представляет собой семейство продуктов, но не единый продукт.
Функционально версия DB2 для IBM S/390 столь существенно отличается
от DB2 для платформ UNIX и NT, что позволяет говорить вообще о разных
продуктах.

Итак, СУБД Oracle скрывает детали реализации механизмов


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

2.6. Сравнительный анализ СУБД

Для более наглядного представления разницы между различными


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

34
по определенным критериям. В данном анализе взяты следующие версии
СУБД:

 PostgreSQL Plus Advanced Server , уровень поддержи Premium

 Oracle Database Enterprise Edition + Partitioning option

 IBM DB2

 Microsoft SQL Server Enterprise Edition (MS SQL)

С моей точки зрения, наиболее оптимальными и доступными для


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

Как мы можем заметить в нижеприведенной таблице, по данному


критерию уступают два продукта: PostgreSQL и Microsoft SQL Server.
Первый не функционирует на современных версиях Windows, являясь по
данному критерию отстающим. Наряду с этим Microsoft SQL Server не
поддерживает операционные системы, отличные от Windows, тем самым
уступая своим конкурентам.

Следующим критерием было выбрано наличие бесплатной лицензии от


данной компании, с помощью которой мы имеем возможность опробовать
работоспособность и удобство продукта. Тут, несомненно, выигрывают IBM
DB2 и PostgreSQL.

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


является настройка прав пользователей, так как с ее помощью мы имеем
возможность разграничивать полномочия между субъектами, работающим с
базой данных. По данному критерию явным аутсайдером является
PostgreSQL, поскольку его возможности ограничены. Он обладает малым
количество ролей. Нет возможности управлять тем, что может делать одна
роль с другими ролями.

Далее необходимо перейти к расчету совокупной стоимости владения


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

 Стоимость самой СУБД, состоящая из первоначального платежа


за приобретение лицензий и ежегодных платежей за поддержку от
производителя.

35
 Стоимость сопровождения СУБД, которая определяется
заработной платой сотрудников, ответственных за обслуживание и
администрирование баз данных.

 Стоимость платформы для разворачивания СУБД — серверного


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

Кроме того, при выборе СУБД не стоит забывать о затратах, связанных


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

Для данного сравнения будем проводить расчеты затрат для случая


разворачивания СУБД на двух серверах, на каждом из которых имеется 2
CPU. В качестве периода владения выбран 1 год. Стоимостные показатели,
приведенные в таблице, представлены на основании проведения
аналитического исследования в 2010 году в Москве “Бюро Соломантина”
[18].

Критерий Oracle MY SQL Server IBM DB2 PostgreSQL


Поддерживают все Поддерживают Поддерживают Только Win2000 SP4,
1) Поддержка Windows версии все версии все версии WinXP, Win2003
Linux, Solaris, Solaris SPARC,
Не
AIX,
2) Поддержка других поддерживает AIX, HP-UX, Linux, Linux, Solaris, Mac OS X,
HP-UX Itanium, HP-UX PA-
операционных систем Solaris, Mac OS X FreeBSD, QNX 4.25, QNX 6
RISC,
z/Linux, z/OS, Mac OS
3) Наличие бесплатной лицензии Нет Нет Есть Есть
Бесплатно.
4) Стоимость лицензии ($) 236 000 96 740 145 600
Под лицензией BSD
5) Поддержка в течение 1 года
61 270 28 500
($) 34 360 21 220
6) Годовая з/п по данным фонда
31 000 31 000 36 000 28 000
оплаты труда ($)
7) Стоимость платформы для БД
10 750 10 750 10 750
($) 14 200
8) Совокупная стоимость
339 020 170 440 226 710 59 970
владения СУБД ($)

Ограничена. Малое
количество ролей. Нет
9) Настройка прав возможности управлять
Присутствует Присутствует Присутствует
пользователей тем, что может делать
одна роль с другими
ролями

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

Стоимость сопровождения СУБД определяется заработной платой


сотрудников, ответственных за обслуживание и администрирование баз
данных. Для оценки этих затрат предположим, что для обслуживания 2
серверов достаточно одного квалифицированного администратора баз
данных. В таблице представлена оценка годового фонда оплаты труда
(ФОТ), исходя из среднемесячной зарплаты сотрудников, взятой из открытых
источников.

Для оценки стоимости платформы для баз данных предположим, что


каждая из выбранных СУБД будет развернута на двух абстрактных серверах
с двумя CPU архитектуры x86. Стоимость каждого сервера — 3300 долларов.
Кроме того предположим, что в качестве операционной системы для СУБД
Oracle, PostgreSQL и IBM DB2 выбран Red Hat Enterprise Linux с уровнем
поддержки Standart. Для MS SQL в качестве ОС взята Microsoft Windows
Server Enterprise (в силу невозможности выбора платформы другого
производителя).

Таким образом во втором разделе мы подробно разобрали различные


системы управления базами данных от таких производителей, как Oracle,
PostgreSQL, IBM и Microsoft. В ходе данного разбора мы изучили нюансы и
особенности каждого из продуктов, акцентировали внимание на
определенных плюсах и минусах, после чего произвели наглядный
сравнительный анализ посредством таблицы. В процессе изучения я сделал
вывод о том, что более универсальными и многофункциональными являются
продукты от Oracle и IBM, поскольку два других продукта (Microsoft SQL
Server и PostrgeSQL) работают только на определенных операционных
системах и обладают ограниченным перечнем возможностей, что и
сказывается на значительной разнице в цене между продуктами.

37
Раздел 3. ВЫВОДЫ И РЕКОМЕНДАЦИИ
Таким образом в ходе выполнения данного проекта я сделал ряд
заключений и выводов по работе и применению систем управления базами
данных, которые будут описаны ниже.
Прежде всего это доминирование клиент-серверных реляционных
СУБД на современном рынке. Данному факту имеется несколько
объяснений: предоставление больших возможностей для профессиональной
работы с данными, обеспечение целостности данных и отсутствие
избыточности их хранения. В силу данных преимуществ и их повсеместного
использования, СУБД, принадлежащие к данному типу, являются
неоспоримым лидером как на мировом рынке, так и на рынке СНГ.
В подтверждение этому, с моей точки зрения, необходимо сослаться на
данные, предоставленные в 2014 году компанией Gartner,
специализирующейся в области анализа информационных технологий [16].

38
Как мы можем заметить, в четверку лидеров в данном году входили три
компании, сравнительный анализ которых я выполнил, такие как IBM DB2,
Microsoft SQL Server и Oracle. Эти системы управления базами данных
являются реляционными, что еще раз доказывает нам их лидерство и
доминирование.
В процессе выполнения курсового проекта так же было выявлено, что
СУБД Oracle и IBM DB2 обладают рядом преимуществ: неоспоримо более
высокая надежность и безопасность, возможность работы на платформе
любой операционной системы. С другой стороны, СУБД MS SQL Server и
PosgreSQL обладает более низкой стоимостью владения. Рассмотрев
преимущества и недостатки разных СУБД, можно прийти к выводу, что
СУБД от компаний Oracle и IBM больше подходят для использования в
крупных предприятиях и организациях, что и подтверждается статистикой.
Анализ непосредственно стоимостных показателей систем управления
базами данных наглядно показывает разницу между стоимостью Oracle,
PostgreSQL, IBM DB2 и MS SQL для выбранных условий. Уже при расчете
для двух серверов с двумя CPU мы получаем, что PostgreSQL обходится
дешевле Oracle в 3-5 раз, и эта разница будет только увеличиваться при
разворачивании более масштабных баз данных. Безусловно это является
серьезным аргументом при выборе СУБД, особенно учитывая, что
PostgreSQL относительно сравнима по функционалу с рассматриваемыми
аналогами.
В придачу к вышесказанному хотелось бы отметить, что особенно в
последние годы на мировом рынке набирают обороты облачные сервисы.
Рынок СУБД не стал исключением, и уже в наши дни имеется огромное
количество альтернатив, покупка лицензии которых бесплатна.
Соответственно данный вариант является очень выгодным для малых
компаний, однако эти СУБД по множеству параметров уступают всемирно
известным лидерам.
Таким образом по всей обработанной и структурированной
информации в данной работе можно дать определенную рекомендацию:
использование СУБД от PostgreSQL несомненно более рентабельно для
компаний, не обладающих колоссальными размерами и объемами
производства. В то время как оставшиеся три продукта, в особенности Oracle
и IBM DB2, в силу своей безопасности и производительности являются топ-
продуктами на рынке систем управления базами данных, справляются с
любым объемом информации и подходят наиболее крупным фирмам.

39
ЗАКЛЮЧЕНИЕ
В завершение хотелось бы выделить несколько наиболее значимых
пунктов, отраженных в данном курсовом проекте.
Системы управления базами данных - одна из фундаментальных
составляющих компьютерного обеспечения информационных процессов,
являющаяся основой для построения большинства современных
информационных систем.
Главной функцией СУБД является эффективное хранение и
предоставление данных в интересах конкретных прикладных задач.
В настоящее время СУБД в основном приобретаются для
использования со сложными и дорогостоящими программными продуктами,
ориентированными на автоматизацию корпоративных бизнес-процессов.
Большинство таких продуктов имеют высокую критичность для бизнеса, что
обуславливает зависимость компаний от функционирования СУБД, серверов
баз данных и качества обслуживания инфраструктуры. В свою очередь это
выдвигает повышенные требования к выбору СУБД, который зависит не
столько от ее функциональных возможностей, сколько от набора
приложений, с которыми она будет взаимодействовать, а также от стоимости
лицензий и наличия подготовленного персонала для ее администрирования.
Таким образом в ходе выполнения работы был произведен
сравнительный анализ программного обеспечения по работе с системами
управления базами данных. Такие цели, как исследование устройства и
функций СУБД, были полностью выполнены и наглядно представлены. А так
же было произведено сопоставление наиболее распространенных
современных продуктов на предмет их использования в банках данных
крупных организаций. По информации, которая была изложена в ходе
данного проекта, можно сделать основополагающий вывод о том, что для
компаний, желающих приобрести наиболее многофункциональный и
безопасный продукт, лучше всего походят Oracle и IBM DB2, что и отражено
в их стоимости.

40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

[1] Власов А.И., С.Л. Лыткин. Краткое практическое руководство


разработчика информационных систем на базе СУБД Oracle. [Электронный
ресурс]. – Режим доступа: http://www.interface.ru

[2] Даммлер М. Microsoft SQL Server 2005. Обзор продукта.


[Электронный ресурс]. – Режим доступа: http://www.CITForum.ru

[3] Дейт. К. Дж. Введение в системы баз данных. - 8-е изд. - М.:
«Вильямс», 2006.

[4] Елманова Н., Федоров А. Oracle и Microsoft SQL Server: прошлое,


настоящее и будущее. [Электронный ресурс]. – Режим доступа:
http://www.interface.ru

[5] С.В. Симонович. Информатика: Базовый курс. - СПБ: Питер, 2002.


400 с.

[6] Системы управления базами данных. [Электронный ресурс]. –


Режим доступа: http://www.ru.wikipedia.org

[7] Фридланд А. Я. Информатика и компьютерные технологии. А.Я.


Фридланд, Л. С. Ханамирова. - М.: Астрель. 2003. 204 с.

[8] А. Д. Хоменко «Основы современных компьютерных технологий». -


М. 2000г.

[9] Макарова Н.В. Информатика. - 2-е изд. - М.: Финансы и статистика,


1998. 768с.

[10] Обзор современных систем управления базами данных.


[Электронный ресурс]. – Режим доступа: http://www.interface.ru

[11] К.Дж.Дейт, Хью Дарвен. Основы будущих систем баз данных.


Третий манифест. - Янус-К, 2004. 658.

[12] Официальный сайт компании Oracle. [Электронный ресурс]. –


Режим доступа: http://www.oracle.com/ru/index.html

[13] Официальный сайт компании IBM. [Электронный ресурс]. –


Режим доступа: http://www.ibm.com

[14] Официальный сайт компании Microsoft. [Электронный ресурс]. –


Режим доступа: https://www.microsoft.com
41
[15] Официальный сайт компании PosrgreSQL. [Электронный ресурс]. –
Режим доступа: http://www.postgresql.com

[16] Анализ рынка операционных СУБД от Gartner. [Электронный


ресурс]. – Режим доступа: http://www.gartner.com

[17] Разбор Магического квадранта. Рынок СУБД. [Электронный


ресурс]. – Режим доступа: http://www.tadviser.ru

[18] Сравнение совокупной стоимости владения СУБД. Бюро


Соломантина. [Электронный ресурс]: Datasheet. – Электронные данные. –
Режим доступа: byurosolomantina.pdf

42

Вам также может понравиться