В начало

Лекция 29

Обзор СУБД (MS SQL Server, Oracle Database, MS Access, MS Visual FoxPro, Progress, MySQL, Postgres, Cache’, Universe, DB2 Universal Database Lotus Domino)

Сравнительная характеристика наиболее распространенных СУБД приводится по состоянию на октябрь 2007 года

Рассматриваются следующие СУБД: MS SQL Server, Oracle Database, MS Access, MS Visual FoxPro, Progress, MySQL, Postgres, Cache’, Universe, DB2 Universal Database Lotus Domino. Сравнение проведено по следующим характеристикам:

1.      Логическая МД – логическая модель данных, поддерживаемая СУБД (например, реляционная, иерархическая).

2.      Физическая МД – организация хранения БД на жестком диске (например, страничная).

3.      Типы данных (основные и дополнительные, доступные в СУБД).

4.      Индексы – дополнительные индексы (например, полнотекстовый, кластерный).

5.      Языки манипулирования – структурные языки, поддерживаемые СУБД, для манипулирования структурой данных, самими данными, а также для поддержки целостности БД (например, SQL, QBE).

6.      Встроенные ЯП – языки программирования высокого уровня, поддерживаемые СУБД (например, C++, Java).

7.      Генератор форм, отчетов (встроенные средства).

8.      Транзакции – поддержка механизмов транзакций.

9.      Триггеры, ХП – поддержка триггеров и хранимых процедур.

10.  Платформы – ОС, под которые существуют версии данной СУБД.

11.  Область применения (основная).

12.  Особенности – уникальные особенности данной СУБД, физические ограничения использования данной СУБД (например, максимальный объем БД).

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

MS SQL Server

Логическая МД

реляционная

Физическая МД

страничная

Типы данных

все основные, расширение

Индексы

все основные, полнотекстовый

Языки манипулирования

SQL, QBE, XQuery, многомерные выражения (для OLAP)

Встроенные ЯП

MS Visual Basic, C#

Генератор форм, отчетов

средство построения отчетов

Транзакции

да

Триггеры, ХП

да

Платформы

только MS Windows

Область применения

информационные системы масштаба предприятия

Особенности

Масштабируемость. Кластеры. Репликация. Встроенные средства OLAP и data mining. Расширенная поддержка XML.

 

 

Oracle Database

Логическая МД

реляционная, объектно-реляционная

Физическая МД

страничная

Типы данных

все основные

Индексы

все основные, полнотекстовый

Языки манипулирования

SQL, XQuery

Встроенные ЯП

Java, PL/SQL

Генератор форм, отчетов

нет

Транзакции

да

Триггеры, ХП

да

Платформы

MS Windows, Linux, Unix, Solaris, MacOS X

Область применения

информационные системы масштаба предприятия

Особенности

Репликация. Кластеры. Поддержка XML и мультимедиа. Поддержка OLAP и data mining. Реализация некоторых объектно-ориентированных механизмов. Макс. объем БД – не ограничен (4 Гб для версии Express).

 

 

MS Access

Логическая МД

реляционная

Физическая МД

файловая

Типы данных

все основные

Индексы

все основные

Языки манипулирования

SQL, QBE

Встроенные ЯП

MS Visual Basic

Генератор форм, отчетов

есть

Транзакции

нет

Триггеры, ХП

нет

Платформы

только MS Windows

Область применения

персональная СУБД

Особенности

Собственная БД или подключение к MS SQL Server.

 

 

MS Visual FoxPro

Логическая МД

реляционная

Физическая МД

файловая

Типы данных

все основные

Индексы

все основные

Языки манипулирования

собственный язык, SQL (ограниченный диалект)

Встроенные ЯП

собственный язык

Генератор форм, отчетов

есть

Транзакции

есть

Триггеры, ХП

триггеры

Платформы

только MS Windows

Область применения

персональная СУБД

Особенности

Собственная БД или подключение к MS SQL Server.

 

 

Progress

Логическая МД

реляционная

Физическая МД

страничная

Типы данных

все основные, полнотекстовые, объекты

Индексы

обычные, полнотекстовый, регистронезависимый

Языки манипулирования

Progress 4GL, SQL-92, QBE

Встроенные ЯП

Java

Генератор форм, отчетов

нет

Транзакции

есть (в т.ч. с двухфазной фиксацией)

Триггеры, ХП

триггеры

Платформы

MS Windows, HP-UX, AIX, AS/400, Solaris, DG/UX, Digital Unix

Область применения

информационные системы масштаба предприятия

Особенности

Словарь данных, масштабируемость, многопоточность, поддержка многопроцессорных архитектур, поддержка Unicode. Объем БД до 1000 Тб, 10000 пользователей одновременно.

 

 

MySQL

Логическая МД

реляционная

Физическая МД

страничная

Типы данных

все основные

Индексы

все основные, полнотекстовый

Языки манипулирования

SQL

Встроенные ЯП

ANSI C, ANSI C++

Генератор форм, отчетов

нет

Транзакции

да (в т.ч. распределенные)

Триггеры, ХП

да

Платформы

MS Windows, Unix, Linux, MacOS X, Novell NetWare  и мн. др.

Область применения

информационные системы масштаба предприятия

Особенности

Возможность логического объединения БД. Широкий выбор платформ. Репликация. Поставляются исходные тексты. Макс. количество: записей > 5 млрд., таблиц > 60 тыс., индексов – 64 на каждую таблицу. Индекс состоит из 1-16 колонок, общая длина не более 1000 символов.

 

 

Postgres

Логическая МД

постреляционная (объектно-реляционная)

Физическая МД

страничная

Типы данных

все основные, произвольные, множественные значения

Индексы

обычные, полнотектовый

Языки манипулирования

расширенный SQL

Встроенные ЯП

C, C++, Java, Perl, PHP, .Net и др.

Генератор форм, отчетов

нет

Транзакции

да

Триггеры, ХП

да (поддержка нескольких языков программирования)

Платформы

MS Windows, Linux, FreeBSD, Solaris, MacOS

Область применения

информационные системы масштаба предприятия

Особенности

Открытые исходные тексты. Механизм наследования. Масштабируемость. Репликация. Расширяемая система типов данных. Регулярные выражения. Макс. объем: БД – нет, таблицы – 32 Тбайт, записи – 1,6 Гбайт, поля – 1 Гбайт. Макс. количество: записей –не ограниченно, индексов – не ограничено. Макс. количество полей: 250 – 1600 в зависимости от типа.

 

 

Cache

Логическая МД

объектно-ориентированная, постреляционная

Физическая МД

страничная

Типы данных

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

Индексы

обычные, полнотекстовый

Языки манипулирования

Cache’ Object Script, расширение SQL

Встроенные ЯП

Java, C++

Генератор форм, отчетов

средство быстрой разработки веб-приложений

Транзакции

да (в т.ч. многомерные)

Триггеры, ХП

да

Платформы

MS Windows, Unix, Linux, OpenVMS, MacOS X

Область применения

информационные системы масштаба предприятия

Особенности

Способы доступа к СУБД (в т.ч. одновременно): реляционный (SQL), объектный, прямой. Масштабируемость. Два словаря данных. Поддержка Unicode. Несколько тысяч пользователей одновременно.

 

 

Universe

Логическая МД

постреляционная

Физическая МД

набор файлов данных и индексов разного типа

Типы данных

все основные, множественные значения

Индексы

все основные

Языки манипулирования

расширение SQL-92

Встроенные ЯП

Basic

Генератор форм, отчетов

нет

Транзакции

да (поддерживает вложенные)

Триггеры, ХП

да

Платформы

MS Windows, Linux, AIX, HP-UX, Solaris

Область применения

информационные системы масштаба предприятия

Особенности

Масштабируемость. Поддержка веб-приложений. Автоматическое шифрование данных. Размер свободного дискового пространства (условно).

 

 

DB2 Universal Database

Логическая МД

реляционная

Физическая МД

в зависимости от типа хранилища данных, поддерживает потоки

Типы данных

все основные, возможность расширения

Индексы

все основные, полнотекстовый

Языки манипулирования

SQL, QBE, XQuery

Встроенные ЯП

нет

Генератор форм, отчетов

нет

Транзакции

да

Триггеры, ХП

триггеры

Платформы

MS Windows, Unix, Linux, z/OS

Область применения

информационные системы масштаба крупного предприятия

Особенности

Гибридный сервер БД (позволяет управлять различными хранилищами данных). Поддерживает распределенные БД. Поддержка хранилищ «чистого» XML (pureXML).

 

 

Lotus Domino

Логическая МД

иерархическая

Физическая МД

страничная

Типы данных

все основные, множественные значения

Индексы

обычные, полнотекстовый

Языки манипулирования

собственный язык, SQL (обращение как к реляционной СУБД)

Встроенные ЯП

Lotus Script, @-формулы, C++, Java, JavaScript

Генератор форм, отчетов

есть

Транзакции

нет (только механизм конфликтных копий документов)

Триггеры, ХП

нет

Платформы

MS Windows, GNU/Linux, Solaris, AIX

Область применения

документальные информационные системы (масштаба от персонального до целого предприятия)

Особенности

Различные виды репликации.