|
В начало
Лекция 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
|
Область применения
|
документальные информационные системы (масштаба от
персонального до целого предприятия)
|
Особенности
|
Различные виды репликации.
|
|
Killing Floor 2
Killing Floor 2
The Elder Scrolls Online: Morrowind
|