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

 

 

Системы управления базами данных (Database management system, DMBS, СУБД) — компьютерные программы, предназначенная для организации и ведения базы данных.

База данных (Database) - структурированный набор хранящихся вместе данных, обычно связанных между собой общей темой  данных и обслуживаемый СУБД.

 

 

 

Основные функции СУБД

 

 

  • управление данными во внешней памяти (на дисках);

  • управление данными в оперативной памяти с использованием дискового кэша;

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

  • поддержка языков БД (язык определения данных, язык манипулирования данными, язык запросов).

 

 

SQL (Structured Query Language, язык структурированных запросов) — универсальный информационно-логический язык создания, модификации и управления данными в реляционных базах данных.

SQL основан на реляционной алгебре и делится на три части:

  • операторы определения данных
    (Data Definition Language, DDL)

  • операторы манипуляции данными
    (Data Manipulation Language, DML)

  • операторы доступа к данным
    (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 века на предприятиях всего СССР, СУБД «Ника» и СЭД «Евфрат».

Емельянов Н. Е. вел электронную базу данных «Новомученики и исповедники Русской православной церкви ХХ в.», включающей список всех людей, подвергшихся  репрессиям за веру.

 

 

 

Перспективы СУБД

 

 

VectorWise (http://www.vectorwise.com/) проект стократного увеличения производительности баз данных.

Над проектом работает компания Ingres (ведущая разработку открытой реляционной СУБД) вместе с нидерландским Центром математики и информатики (Centrum Wiskunde & Informatica, CWI) и корпорацией Intel.

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

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