Системы управления базами
данных
(Database management system, DMBS,
СУБД) — компьютерные
программы, предназначенная для организации и ведения базы
данных.
База данных(Database)
- структурированный
набор хранящихся вместе данных, обычно связанных между собой общей темой
данных и обслуживаемый СУБД.
Основные функции СУБД
управление данными во внешней
памяти (на дисках);
управление данными в оперативной
памяти с использованием дискового
кэша;
журнализация
изменений, резервное
копирование и восстановление
базы данных после сбоев;
поддержка языков БД (язык определения данных, язык манипулирования
данными, язык запросов).
SQL
(Structured Query Language,язык структурированных запросов) — универсальный
информационно-логический язык создания, модификации и управления данными в реляционных базах данных.
SQL основан на реляционной алгебре
и делится натри части:
операторы определения данных
(Data Definition Language, DDL)
операторы доступа к данным
(Data Control Language, DCL).
SQL стандартизован,
но имеет
нестандартные варианты (диалекты), преодолевающие
ограничения стандартного SQL.
Самые
известные диалекты SQL:
PL/SQL,
используемый в СУБД Oracle;
Transact-SQL,
используемый в Microsoft SQL Server.
Типовые компонентыСУБД
Обычно современная СУБД содержит следующие
модули:
ядро, которое отвечает за управление данными во внешней и
оперативной памяти и журнализацию,
процессор языка базы данных, обеспечивающий оптимизацию
запросов на извлечение и изменение данных и создание, как правило,
машинно-независимого исполняемого внутреннего кода,
подсистему поддержки времени исполнения, которая интерпретирует
программы манипуляции данными, создающие пользовательский интерфейс с СУБД,
сервисные программы, обеспечивающие ряд
дополнительных возможностей по обслуживанию информационной системы.
Классификация СУБД
По
модели данных
Иерархические
Иерархическая модель
состоит из
объектов разных уровней с указателями от родительских объектов к
потомкам, соединяя вместе связанную информацию.
В этой модели запрос, направленный вниз по иерархии,
прост (например: какие заказы принадлежат этому
покупателю); однако
запрос, направленный вверх по иерархии, более сложен
(например, какой покупатель поместил этот заказ). Также,
трудно представить не-иерархические данные при
использовании этой модели.
Иерархической базой данных является
.
Примеры:
Information Management System (IMS),
System - 2000, реестр Windows,
файловые системы
Сетевые
Сетевые базы данных подобны
иерархическим, за исключением того, что в них
имеются указатели в обоих направлениях, которые
соединяют родственную информацию.
Примеры: Cerebrum,
CronosPlus.
Реляционные
Самые популярные. Характеризуются простотой структуры
данных, удобным для пользователя табличным
представлением и возможностью использования формального
аппарата алгебры отношений и реляционного исчисления для
обработки данных (relation — отношение).
Реляционная модель ориентирована на организацию
данных в виде двумерных таблиц, где:
каждый элемент таблицы — один элемент данных
все столбцы в таблице имеют одинаковый тип
каждый столбец имеет уникальное имя
одинаковые строки в таблице отсутствуют
порядок следования строк и столбцов
произвольный
Пример:
Microsoft Access
Объектно-реляционные
Представляют
собой надстройку над реляционной схемой, интегрированы с Объектно-Ориентированным (OO)
языком программирования (C++,
Java).
Используют комплексные
данные,наследование типа, объектное поведение.
Примеры:
Oracle Database,
Microsoft SQL Server 2005
Объектно-ориентированные
Объектно-ориентированная СУБД — реализующие
объектно-ориентированный подход. обрабатывая данные как
абстрактные объекты, наделённые
свойствами, в виде неструктурированных данных, и
использующие
методы взаимодействия с другими объектами
окружающего мира.
Примеры: Jasmine,
IBM Lotus Notes/Domino, ObjectStore
По организации данных
локальные
все части локальной СУБД размещаются на одном компьютере
распределенные
части СУБД могут размещаться на двух и более
компьютерах
По
способу доступа к данным
Файл-серверные
файлы данных располагаются централизованно на файл-сервере.
Ядро СУБД располагается на каждом клиентском компьютере. Доступ к данным
осуществляется через локальную сеть. Преимуществом этой архитектуры
является низкая нагрузка на ЦП сервера, а недостатком -- высокая загрузка
локальной сети.
На данный момент файл-серверные СУБД считаются устаревшими.
Примеры: Microsoft
Access, Borland
Paradox.
Клиент-серверные
состоят из клиентской части (которая входит в состав прикладной
программы) и сервера, обеспечивают разграничение
доступа между пользователями и мало загружают сеть и клиентские машины.
Примеры: Firebird, Interbase, MS SQL
Server, Sybase, Oracle,
PostgreSQL, MySQL.
Встраиваемые
Встраиваемая СУБД — позволяют унифицированным образом хранить большие объёмы данных на
локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД.
Быстрее обычных клиент-серверных и не требуют установки сервера, поэтому
востребованы в локальном ПО, которое имеет дело с большими объёмами данных.
Примеры: OpenEdge, SQLite, один из вариантов MySQL, Microsoft
SQL Server Compact.
Корпоративные СУБД – 2016
Название
Описание
Oracle Database
Oracle выпустила
свою первую реляционную СУБД в 1979-м году. За годы
присутствия компании на рынке слово «Oracle» стало
синонимом понятий «корпоративная СУБД» и «надёжная
работа с данными».
Текущая версия СУБД компании называется Oracle 12c.
Буква «c» означает «cloud» (облачные технологии). Среди
особенностей СУБД Oracle – многоарендная
архитектура, быстрое развёртывание решений,
возможности по обработке данных в памяти.
Microsoft SQL Server
Трудно представить
себе сервер, на котором установлена ОС от Microsoft, без
SQL
Server: простота использования и
тесная интеграция с ОС семейства Windows, делают его
очевидным выбором для компаний, пользующихся
продуктами Microsoft для корпоративных целей.
SQL Server 2016
- платформа для локальных и облачных баз данных,
для систем бизнес-аналитики. Можно скачать бесплатный
выпуск начального уровня SQL Server 2016 Express
подходит для развертывания небольших баз данных в
рабочих средах.
IBM DB2
Есть исследования,
посвящённые сравнению сопоставимых решений от IBM (DB2) и
Oracle. Например, здесь говорят о серьёзной экономии при использовании
DB2 и сопутствующих технологий IBM. Актуальная версия СУБД – DB2
11.1 может работать на Linux, Unix, Windows и др.
SAP ASE
Первый выпуск СУБД Sybase увидел свет в 1987 году, сегодня база данных называется SAP
Adaptive Server Enterprise (SAP
ASE).
SAP ASE 16
отличается возможностями
эффективного масштабирования и системного аудита и многие
другие возможности.
PostgreSQL
PostgreSQL, наследник Postgres, разработка
которой началась в 1986-м году, – это бесплатная
объектно-реляционная СУБД с открытым исходным кодом.
Она находит применение в интернет-казино, системах автоматизации дата-центров, реестрах доменов, в высоконагруженных задачах Yahoo! и
Skype.
Текущий стабильный релиз PostgreSQL – 9.6.
поддерживает Linux, Windows, FreeBSD, Solaris, используется как стандартная база данных
в ОС от Apple. Возможности
сравнимы с разработками Oracle и IBM.
MariaDB Enterprise
MariaDB Enterprise –
СУБД с полностью открытым исходным кодом, используется в качестве серверной базы
данных в проекте Wikipedia.
Самый свежий релиз MariaDB Enterprise Server – 10.1,
известный так же как MariaDB Enterprise Spring 2016 улучшает защиту данных от атак на уровне
приложений и сетей.
MySQL
MySQL начинала
как узкоспециализированное решение для
разработчиков, но выросла в одного из ключевых
игроков рынка корпоративных СУБД. На MySQL работают сотни тысяч коммерческих
веб-сайтов, она служит в качестве серверной СУБД для
огромного количества внутренних корпоративных
приложений.
Свежий выпуск MySQL Community
Server 5.7.15, увидел свет в начале августа 2016-го.
IBM Informix
СУБД Informix часто ассоциируемая с учебными заведениями,
первое место по удовлетворённости клиентов из-за необходимости небольшого объёма
технического обслуживания и высокой надёжности.
Не существует и идеальной
корпоративной СУБД. У каждой свои плюсы
и минусы, которые очень сильно зависят
от специфики бизнеса.
Емельянов Николай Евгеньевич
Емельянов
Николай Евгеньевич (1939-2010) -
ведущий советский и российский специалистов по СУБД и СЭД (системам
электронного документооборота).
Разработчик иерархической базы данных «ИНЕС»,
работавшей в 80-ых XX века на предприятиях всего СССР, СУБД «Ника» и СЭД «Евфрат».
Емельянов Н. Е. вел
электронную базу данных «Новомученики и исповедники Русской православной церкви
ХХ в.», включающей список всех людей, подвергшихся репрессиям за веру.
Над
проектом работает
компания Ingres
(ведущая разработку открытой реляционной
СУБД) вместе с нидерландским Центром математики и информатики
(Centrum
Wiskunde & Informatica, CWI) и корпорацией Intel.
Для обработки запросов
VectorWise эксплуатирует векторный
подход, при этом размер каждого вектора подбирается так,
чтобы все векторы одного запроса размещались в кеше процессора. Для
хранения данных на диске и доступа к ним применяются оптимизированные
под многоядерную архитектуру алгоритмы.
Тесты показали, что для сложных запросов производительность баз данных с
использованием VectorWise увеличивается в десять раз, а скорость
обработки простых запросов — в 120. Благодаря этому станет возможным
перенести некоторые СУБД, функционирующие сейчас исключительно в
серверном окружении, на обычные ноутбуки.