Лекция №1 Введение в СУБД.
1. Введение в базы данных
1.1. Основные понятия и определения
Стержневые идеи современных информационных технологий
базируются на концепции баз данных.
Согласно этой концепции, основой информационных технологий
являются данные, которые должны быть организованы в базы данных в
целях адекватного отображения изменяющегося реального мира и
удовлетворения информационных потребностей пользователей.
Одним из важнейших понятий в теории баз данных является понятие
информации. Под информацией понимаются любые сведения о каком-либо
событии, процессе, объекте.
Данные — это информация, представленная в определенном виде,
позволяющем автоматизировать ее сбор, хранение и дальнейшую
обработку человеком или информационным средством. Для компьютерных
технологий данные — это информация в дискретном, фиксированном
виде, удобная для хранения, обработки на ЭВМ, а также для передачи по
каналам связи.
База данных (БД) — именованная совокупность данных,
отражающая состояние объектов и их отношений в рассматриваемой
предметной области, или иначе БД — это совокупность взаимосвязанных
данных при такой минимальной избыточности, которая допускает их
использование оптимальным образом для одного или нескольких
приложений в определенной предметной области. БД состоит из
множества связанных файлов.
Система управления базами данных (СУБД) — совокупность
языковых и программных средств, предназначенных для создания, ведения
и совместного использования БД многими пользователями.
Автоматизированная информационная система (АИС) — это
система, реализующая автоматизированный сбор, обработку,
манипулирование данными, функционирующая на основе ЭВМ и других
технических средств и включающая соответствующее программное
обеспечение (ПО) и персонал. В дальнейшем в этом качестве будет
использоваться термин информационная система (ИС), который
подразумевает понятие автоматизированная.
Каждая ИС в зависимости от ее назначения имеет дело с той или
иной частью реального мира, которую принято называть предметной
областью (ПрО) системы. Выявление ПрО — это необходимый
начальный этап разработки любой ИС. Именно на этом этапе
определяются информационные потребности всей совокупности
пользователей будущей системы, которые, в свою очередь,
предопределяют содержание ее базы данных.
7
Банк данных (БнД) является разновидностью ИС. БнД — это система
специальным образом организованных данных: баз данных, программных,
технических, языковых, организационно-методических средств,
предназначенных для обеспечения централизованного накопления и
коллективного многоцелевого использования данных.
Под задачами обработки данных обычно понимается специальный
класс решаемых на ЭВМ задач, связанных с видом, хранением,
сортировкой, отбором по заданному условию и группировкой записей
однородной структуры.
Отдельные программы или комплекс программ, реализующие
автоматизацию решения прикладных задач обработки данных, называются
приложениями. Приложения, созданные средствами СУБД, относят к
приложениям СУБД. Приложения, созданные вне среды СУБД с помощью
систем программирования, использующих средства доступа к БД, к
примеру, Java, C# или Visual Studio, называют внешними приложениями.
1.2. Современное состояние технологий баз данных
Кратко сформулируем основные современные принципы
организации баз данных.
Значительная часть современных СУБД способна работать на
компьютерах различной архитектуры под управлением разных
операционных систем.
Подавляющее большинство современных СУБД обеспечивают
поддержку полной реляционной модели данных, обеспечивая
целостность категорий и целостность на уровне ссылок.
Современные СУБД для определения данных и манипуляции ими
опираются на принятые стандарты в области языков, а при обмене
данными между различными СУБД базируются на существующих
технологиях по обмену информацией.
Многие существующие СУБД относятся к так называемым сетевым
СУБД, которые предназначены для поддержки
многопользовательского режима работы с базой данных и
поддержки возможности децентрализованного хранения данных.
Такие СУБД имеют развитые средства администрирования баз
данных и средства защиты хранимой в них информации.
Подобные СУБД имеют средства подключения клиентских
приложений.
Современные СУБД характеризуются опытами применения
концепции фундаментальной идеи объектно-ориентированного
подхода, способствующей повышению уровня абстракции баз
данных, являющейся перспективным этапом на пути развития
технологий баз данных.
8
Информационные системы, созданные средствами технологии баз
данных, иногда принято называть банками данных (БнД).
БнД включает в себя:
технические средства;
одну или несколько БД;
СУБД;
словарь или каталог данных;
администратора;
вычислительную систему;
обслуживающий персонал.
Дадим краткие определения новым составляющим этой схемы.
Словарь или каталог данных служит для централизованного
накопления и описания ресурса данных. Он содержит описание ПрО,
сведения о структуре БД, о связях между элементами БД. Словарь данных
можно рассматривать как часть самой базы данных.
Администратор БД (АБД) — человек или группа лиц, которые
принимают решения. Основные функции АБД:
участие в разработке БД;
контроль правильности функционирования БД.
Вычислительная система (ВС) — включает программные (ПС) и
аппаратные средства (ТС).
Обслуживающий персонал (ОП) — это лица, прямыми
обязанностями которых является создание и поддержание корректного
функционирования банка данных. Они ответственны за работу БнД и
прикладного программного обеспечения. К обслуживающему персоналу
относятся: разработчики и администраторы базы данных, аналитики,
программисты.
1.3. Базы данных
БД, как правило, создается как общий ресурс всего предприятия, где
данные являются интегрированными и общими. Под понятием
интегрированные данные подразумевается возможность представить базу
данных как объединение нескольких отдельных файлов данных. Под
понятием общие данные подразумевается возможность использования
отдельных областей данных в БД несколькими различными
пользователями для разных целей.
В базе данных информация должна быть организована так, чтобы
обеспечить минимальную долю ее избыточности. Частичная избыточность
информации необходима, но она должна быть минимизирована, так как
чрезмерная избыточность данных влечет за собой ряд негативных
последствий. Главные из них:
увеличение объема информации, а значит, потребность в
дополнительных ресурсах для хранения и обработки
дополнительных объемов данных;
появление ошибок при вводе дублирующей информации,
нарушающих целостность базы данных и создающих
противоречивые данные.
БД содержит не только данные, всесторонне характеризующие
деятельность самой организации, фирмы, процесса или другой предметной
области, но и описания этих данных. Информацию о данных принято
называть "метаданными", т. е. "данными о данных". В совокупности
описания всех данных образуют словарь данных.
В БД должны храниться данные, логически связанные между собой.
Для того чтобы данные можно было связать между собой, и связать так,
чтобы эти связи соответствовали реально существующим в данной
предметной области, последнюю подвергают детальному анализу, выделяя
сущности или объекты. Сущность или объект — это то, о чем необходимо
хранить информацию. Сущности имеют некоторые характеристики,
называемые атрибутами, которые тоже необходимо сохранять в БД.
Атрибуты по своей внутренней структуре могут быть простыми, а могут
быть сложными. Простые атрибуты могут быть представлены простыми
типами данных. Различного рода графические изображения, являющиеся
атрибутами сущностей, — это пример сложного атрибута. Определив
сущности и их атрибуты, необходимо перейти к выявлению связей,
которые могут существовать между некоторыми сущностями. Связь — это
то, что объединяет две или более сущностей. Связи между сущностями
также являются частью данных, и они также должны храниться в базе
данных.
Назовем основные свойства БД.
Целостность. В каждый момент времени существования БД
сведения, содержащиеся в ней, должны быть непротиворечивы.
Целостность БД достигается вследствие введения ограничений
целостности, в частности, к ним относятся ограничения, связанные с
нормализацией БД.
Восстанавливаемость. Данное свойство предполагает возможность
восстановления БД после сбоя системы или отдельных видов порчи
системы.
Безопасность. Безопасность БД предполагает защиту данных от
преднамеренного и непреднамеренного доступа, модификации или
разрушения. Применяется запрещение несанкционированного доступа,
защита от копирования и криптографическая защита.
Эффективность. Свойство эффективности обычно понимается как:
минимальное время реакции на запрос пользователя;
12
минимальные потребности в памяти;
сочетание этих параметров.
1.4. Системы управления базами данных
Итак, как уже не один раз упоминалось, СУБД — это программное
обеспечение, с помощью которого пользователи могут определять,
создавать и поддерживать базу данных, а также осуществлять к ней
контролируемый доступ.
По степени универсальности различаются два класса СУБД —
системы общего назначения и специализированные системы.
СУБД общего назначения не ориентированы на какую-либо
конкретную предметную область или на информационные потребности
конкретной группы пользователей. Каждая система такого рода
реализуется как программный продукт, способный функционировать на
некоторой модели ЭВМ в определенной операционной обстановке. СУБД
общего назначения обладает средствами настройки на работу с конкретной
БД в условиях конкретного применения.
В некоторых ситуациях СУБД общего назначения не позволяют
добиться требуемых проектных и эксплуатационных характеристик
(производительность, занимаемый объем памяти и прочее). Тем не менее
создание специализированных СУБД весьма трудоемкий процесс и для
того, чтобы его реализовать, нужны очень веские основания.
В процессе реализации своих функций СУБД постоянно
взаимодействует с базой данных и с другими прикладными программными
продуктами пользователя, предназначенными для работы с данной БД и
называемыми приложениями.
Для того чтобы СУБД успешно справлялась со своими задачами, она
должна обладать определенными возможностями.
Можно дать следующую обобщенную характеристику возможностям
современных СУБД.
1. СУБД включает язык определения данных, с помощью которого
можно определить базу данных, ее структуру, типы данных, а также
средства задания ограничений для хранимой информации. В
многопользовательском варианте СУБД этот язык позволяет
формировать представления как некоторое подмножество базы
данных, с поддержкой которых пользователь может создавать свой
взгляд на хранимые данные, обеспечивать дополнительный уровень
безопасности данных и многое другое.
2. СУБД позволяет вставлять, удалять, обновлять и извлекать
информацию из базы данных посредством языка управления
данными.
3. Большинство СУБД могут работать на компьютерах с разной
архитектурой и под разными операционными системами, причем на
13
работу пользователя при доступе к данным практически тип
платформы влияния не оказывает.
4. Многопользовательские СУБД имеют достаточно развитые средства
администрирования БД.
5. СУБД предоставляет контролируемый доступ к базе данных с
помощью:
системы обеспечения безопасности, предотвращающей
несанкционированный доступ к информации базы данных;
системы поддержки целостности базы данных,
обеспечивающей непротиворечивое состояние хранимых
данных;
системы управления параллельной работой приложений,
контролирующей процессы их совместного доступа к базе
данных;
системы восстановления, позволяющей восстановить базу
данных до предыдущего непротиворечивого состояния,
нарушенного в результате аппаратного или программного
обеспечения.__
Сравнение современных СУБД
Информацией, хранящейся в базе данных (БД), может быть всё что угодно: каталог продукции, информация о клиентах, контент веб-сайта и др. Для обеспечения доступа к информации, хранящейся в базе данных, а также для управления ею, применяют систему управления базами данных (СУБД). СУБД — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, базирующиеся на использовании реляционной модели данных, называют реляционными СУБД. Системы управления базами данных помогают отсортировать информацию, а также связать базы данных между собой, при этом предоставив отчет об изменениях и зарегистрированных событиях.
В этой статье мы обсудим некоторые из наиболее популярных баз данных, используемых в настоящее время и обозначим их достоинства и недостатки.
На что стоит обращать внимание
Несмотря на то, что все системы управления базами данных выполняют одну и ту же основную задачу (т.е дают возможность пользователям создавать, редактировать и получать доступ к информации, хранящейся в базах данных), сам процесс выполнения этой задачи варьируется в широких пределах. Кроме того, функции и возможности каждой СУБД могут существенно отличаться. Различные СУБД документированы по-разному: более или менее тщательно. По-разному предоставляется и техническая поддержка.
При сравнении различных популярных баз данных, следует учитывать, удобна ли для пользователя и масштабируема ли данная конкретная СУБД, а также убедиться, что она будет хорошо интегрироваться с другими продуктами, которые уже используются. Кроме того, во время выбора следует принять во внимание стоимость системы и поддержки, предоставляемой разработчиком.
Если речь идёт о выборе СУБД для предприятия, то следует принять во внимание возможность СУБД «расти» вместе с развитием организации. Малому бизнесу могут потребоваться только базовые функции и возможности, а также небольшое количество информации, размещаемой в БД. Но требования могут существенно расти с течением времени, а переход на другую СУБД может стать проблемой.
Существует несколько популярных СУБД, как платных, так и бесплатных, которые можно рекомендоватьдля применения в организации. Выполняя поиск, рассмотрите как минимум перечень из десяти СУБД, приведённых ниже, включая отечественные продукты.
1. Oracle 12c
Неудивительно, что корпорация Oracle предлагает одноимённый продукт, с которого обычно начинается рассмотрение вариантов популярных СУБД. Первая версия Oracle была создана в конце 70-х годов, имея на данный момент блестящую репутацию. Кроме того, существует несколько версий этого продукта для удовлетворения потребностей конкретной организации.
Актуальная версия Oracle на момент написания настоящей статьи - 12с - предназначена для облачных сред и может быть размещена на одном или нескольких серверах, это позволяет управлять базами данных, которые содержат миллиарды записей. Некоторые из функций новейшей версии Oracle включают в себя grid framework и использования как физических, так и логических структур.
Это означает, что физическое управление данными не влияет на доступ к логическим структурам. Кроме того, безопасность в этой версии доведена до высочайшего уровня, потому что каждая транзакция изолирована от других.
Достоинства
Самые свежие инновации и впечатляющий функционал уже внедрены в этом продукте, поскольку компания Oracle стремится держать планку даже на фоне других разработчиков СУБД.
СУБД от Оракул является крайне надёжной, фактически это эталон надёжности среди подобных систем.
Недостатки
Стоимость Oracle может оказаться непомерно высокой, особенно для небольших организаций.
Система может потребовать значительных ресурсов уже сразу после установки, поэтому возможно потребуется модернизировать оборудование для внедрения Oracle.
Идеально подходит для крупных организаций, которые работают с огромными базами данных и разнообразными функциями.
2. MySQL
MySQL - одна из самых популярных баз данных для веб-приложений. Фактически, является стандартом de facto для веб-серверов, которые работают под управлением операционной системы Linx. MySQL - это бесплатный пакет программ, однако новые версии выходят постоянно, расширяя функционал и улучшая безопасность. Существуют специальные платные версии, предназначенные для коммерческого использования. В бесплатной версии наибольший упор делается на скорость и надежность, а не на полноту функционала, который может стать и достоинством и недостатком - в зависимости от области внедрения.
Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
Эта СУБД позволяет выбирать различные движки для системы хранения, которые позволяют менять функционал инструмента и выполнять обработку данных, хранящихся в различных типах таблиц. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Она также имеет простой в использовании интерфейс, и пакетные команды, которые позволяют удобно обрабатывать огромные объемы данных. Система невероятно надежна и не стремится подчинить себе все доступные аппаратные ресурсы.
Достоинства
Распространяется бесплатно
Прекрасно документирована
Предлагает много функций, даже в бесплатной версии
Пакет MySQL включен в стандартные репозитории наиболее распространённых дистрибутивов операционной системы Linux, что позволяет устанавливать её элементарно
Поддерживает набор пользовательских интерфейсов
Может работать с другими базами данных, включая DB2 и Oracle.
Недостатки
Придётся потратить много времени и усилий, чтобы заставить MySQL выполнять несложные задачи, хотя другие системы делают это автоматически, например: создавать инкрементные резервные копии.
Отсутствует встроенная поддержка XML или OLAP.
Для бесплатной версии доступна только платная поддержка.
Идеально подходит для: организаций, которым требуется надежный инструмент управления базами данных, но бесплатный.
3. Microsoft SQL сервер
Ещё одной из популярных СУБД является программный продукт Microsoft SQL-сервер. Это система управления базами данных, движок которой работает на облачных серверах, а также локальных серверах, причем можно комбинировать типы применяемых серверов одновременно. Вскоре после выпуска Microsoft SQL сервер 2016, Microsoft адаптировала продукт для операционной системы Linux, а на Windows-платформе он работал изначально.
Одной из уникальных особенностей версии 2016 года является temporal data support (временная поддержка данных), которая позволяет отслеживать изменения данных с течением времени. Последняя версия Microsoft SQL-сервер поддерживает dynamic data masking (динамическую маскировку данных), которая гарантирует, что только авторизованные пользователи будут видеть конфиденциальные данные.
Достоинства
Продукт очень прост в использовании
Текущая версия работает быстро и стабильно
Движок предоставляет возможность регулировать и отслеживать уровни производительности, которые помогают снизить использование ресурсов.
Вы сможете получить доступ к визуализации на мобильных устройствах.
Он очень хорошо взаимодействует с другими продуктами Microsoft.
Недостатки
Цена для юридических лиц оказывается неприемлемой для большей части организаций.
Даже при тщательной настройке производительности корпорация SQL Server способен занять все доступные ресурсы.
Сообщается о проблемах с использованием службы интеграции для импорта файлов.
Идеально подходит для: крупных организаций, которые уже используют ряд продуктов Microsoft.
4. PostgreSQL
PostgreSQL является одним из нескольких бесплатных популярных вариантов СУБД, часто используется для ведения баз данных веб-сайтов. Это была одна из первых разработанных систем управления базами данных, поэтому в настоящее время она хорошо развита, и позволяет пользователям управлять как структурированными, так и неструктурированными данными. Может быть использован на большинстве основных платформ, включая Linux. Прекрасно справляется с задачами импорта информации из других типов баз данных с помощью собственного инструментария.
Движок БД может быть размещен в ряде сред, в том числе виртуальных, физических и облачных. Самая свежая версия, PostgreSQL 9.5, предлагает обработку больших объемов данных и увеличение числа одновременно работающих пользователей. Безопасность была улучшена благодаря поддержке DBMS_SESSION.
Достоинства
Является масштабируемым и способен обрабатывать терабайты данных.
Поддерживает формат json.
Существует множество предопределенных функций.
Доступен ряд интерфейсов.
Недостатки
Документация туманна, поэтому, возможно, ответы на некоторые вопросы придется искать в интернете.
Конфигурация может смутить неподготовленного пользователя.
Скорость работы может падать во время проведения пакетных операций или выполнения запросов чтения.
Идеально подходит для организаций с ограниченным бюджетом, но квалифицированными специалистами, когда требуется возможность выбрать свой интерфейс и использовать json.
5. MongoDB
Еще одна бесплатная база данных, которая имеет коммерческую версию - MongoDB, она предназначена для приложений, которые используют как структурированные, так и неструктурированные данные. Ядро является очень гибким и работает при подключении базы данных к приложениям через драйверы MongoDB. Существует широкий выбор доступных драйверов, поэтому легко найти драйвер, который будет работать с требуемым языком программирования.
Поскольку изначально система MongoDB не была разработана для обработки моделей реляционных данных (хотя может это выполнять), могут возникнуть проблемы производительности, если вы попытаетесь использовать её таким образом. Однако, движок предназначен для обработки различных данных, которые нельзя отнести к реляционным, и может хорошо справляться там, где другие движки работают медленно или бессильны.
MongoDB 3.2 - это последняя версия, и она имеет новую подключаемую систему движков хранения. Документы могут быть проверены в процессе обновления или выполнения вставок, а функции текстового поиска были улучшены. Новая способность частичного индексирования может привести к более высокой производительности, уменьшая размер индексов.
Достоинства
Скорость и простота в использовании
Движок поддерживает json и другие традиционные документы NoSQL.
Данные любой структуры могут быть сохранены/прочитаны быстро и легко.
Недостатки
SQL не используется в качестве языка запросов.
Инструменты для перевода SQL-запросов в MongoDB доступны, но их следует рассматривать именно как дополнение.
Программа установки может занять много времени.
Подходит для организаций, работающих с разнородными данными, которые тяжело поддаются классификации. Для внедрения потребуются высококлассные специалисты.
6. MariaDB
Эта СУБД является бесплатной, но как и многие другие бесплатные приложения, предлагает платные версии. Есть множество доступных плагинов расширений, пожалуй, это самая быстро-развивающаяся СУБД на данный момент.
MariaDB фактически - это ответвление от СУБД MySQL, разрабатываемое сообществом под лицензией GNU GPL. Разработку и поддержку MariaDB осуществляет компания MariaDB Corporation Ab и фонд MariaDB Foundation. Толчком к созданию стала необходимость обеспечения свободного статуса СУБД, в противовес политике лицензирования MySQL компанией Oracle. Система лицензирования MariaDB обязывает участников, желающих добавить свой код в основную ветку СУБД, обмениваться своими авторскими правами с MariaDB Foundation для охраны лицензии и возможности создавать критические исправления для MySQL.
Ведущий разработчик — Майкл Видениус, автор оригинальной версии MySQL и основатель компании Monty Program AB.
Ядро базы данных позволяет делать выбор из нескольких систем хранения, и это делает использование ресурсов более оптимизированным, что повышает производительность запросов и обработки. В состав MariaDB включена подсистемы хранения данных XtraDB для возможности замены InnoDB, как основной подсистемы хранения. Также включены подсистемы Aria, PBXT и FederateX. Она полностью совместима с MySQL, и прекрасно подходит в качестве замены, т.к. полностью соответствует как набор команд, так и API. Многие разработчики MySQL были вовлечены в процесс разработки, а сейчас принимают участие в развитии.
Достоинства
Система работает быстро
Индикаторы дадут вам знать, как обрабатывается запрос.
Расширяемая архитектура и плагины позволяют настраивать инструмент в соответствии с вашими потребностями.
Шифрование доступно в сети, сервере и уровне приложения.
Недостатки
На данный момент стабильность ниже, чем у MySQL, поэтому даже на новых проектах можно рекомендовать устанавливать mysql.
Движок довольно новый, поэтому пока нет никаких гарантий дальнейших обновлений.
Как и во многих других бесплатных базах данных, вам придется платить за поддержку.
Идеальна как альтернатива MySQL, если MySQL не устраивает по каким-то причинам.
7. DB2
Созданная компанией IBM, DB2 представляет собой СУБД, которая имеет возможности NoSQL, и может читать JSON и XML-файлы. Ввиду того, что система разрабатывалась для серверов компании IBM модельного ряда iSeries, логично, что система работает на Windows, Linux и Unix.
Диалект языка SQL, используемый в DB2 за редкими исключениями строго декларативен, система снабжена многофазовым оптимизатором, строящим по этим декларативным конструкциям план выполнения запроса. В диалекте SQL DB2 отсутствуют подсказки оптимизатору, мало развит (а долгое время вообще отсутствовал) язык хранимых процедур, и, таким образом, всё направлено на поддержание декларативного стиля написания запросов. Язык SQL DB2 при этом является вычислительно полным, то есть потенциально позволяет в декларативной форме определять любые вычислимые соответствия между исходными данными и результатом. Это достигается в том числе за счёт использования табличных выражений, рекурсии и других развитых механизмов манипулирования данными.
Оптимизатор DB2 широко использует статистику распределения данных в таблицах (если процесс её сбора был выполнен администратором базы данных), поэтому один и тот же запрос на языке SQL может быть оттранслирован в совершенно различные планы выполнения в зависимости от статистических характеристик данных, которые он обрабатывает.
В рамках концепции повышения уровня интеграции средств безопасности в компьютерной системе, DB2 не имеет собственных средств аутентификации пользователей, интегрируясь со средствами операционной системы или специализированными серверами безопасности. В рамках DB2 осуществляется только авторизация пользователей, аутентифицированных системой.
DB2 является единственной реляционной СУБД общего назначения, имеющей реализации на аппаратно-программном уровне (система IBM i; также в оборудовании мэйнфреймов IBM System z реализуются средства поддержки DB2).
Современные версии DB2 обеспечивают расширенную поддержку использования данных в формате XML, в том числе операции с отдельными элементами документов XML.
Текущая версия DB2 - это LUW 11.1, которая предлагает разнообразные улучшения и доработки. Одно из них, ускорение Blu , которое предназначено, для того чтобы сделать эту базу данных быстрее. Пропуск данных предназначен для повышения быстродействия системы с большим количеством данных, чем может она может вместить в себя. Последняя версия DB2 также обеспечивает усовершенствованные функции аварийного восстановления, совместимости и аналитики.
Достоинства
Blu Acceleration позволяет грамотно задействовать ресурсы для объёмных баз данных.
Может быть размещена в облачном хранилище, на физическом сервере, или же и там, и там одновременно.
Несколько задач могут выполняться одновременно с помощью планировщика задач.
Коды ошибок и коды завершения позволяют легко отследить, какие задания выполняются или выполнились с помощью планировщика задач.
Недостатки
Цена за пределами бюджета многих физических лиц и небольших организаций.
Сторонние приложения или дополнительное программное обеспечение требуется, для того чтобы заставить функционировать кластеры или несколько вторичных узлов.
Базовая поддержка доступна только в течение трех лет; после этого, вы должны заплатить за это.
Подходит для: крупных организаций, которые планируют выжимать максимум из имеющихся ресурсов и обрабатывают большие БД.
8. SAP HANA
Разработанная компанией SAP SE, SAP HANA - это СУБД, с движком ориентированным на работу со столбцами, работающая с родными данными SAP и чужими данными. Ядро предназначена для сохранения и извлечения данных из приложений и других источников на нескольких уровнях хранения. Может быть размещен на физических серверах, и в облаке.
Достоинства
Она поддерживает SQL, OLTP и OLAP.
Ядро снижает требования к ресурсам за счет использования сжатия.
Данные хранятся в памяти, сокращая время доступа, в некоторых случаях, значительно.
Отчеты формируются в реальном времени.
Может взаимодействовать с рядом других приложений.
Недостатки
Высокая стоимость лицензий даже если речь идёт о плате за программное обеспечение предприятия.
Это всё ещё относительный новичок, требуются постоянные обновления.
Идеально подходит для: организаций, которые захватывают данные из приложений и при этом неограниченны в бюджете.
9. ЛИНТЕР
«Линтер» — российская СУБД, реализующая стандарт SQL:2003 (за исключением нескалярных типов данных и объектно-ориентированных возможностей) и поддерживающая большинство операционных систем, в том числе семейство Windows, различные версии UNIX, ОС реального времени (включая QNX).
К особенностям можно отнести защиту данных: 2 класс защиты данных от несанкционированного доступа и 2 уровень контроля отсутствия недекларированных возможностей. Мандатный контроль доступа к данным на уровне таблиц, столбцов записей и отдельных полей записей. Управление доступом к рабочим станциям и устройствам хранения информации. Контроль доступа к СУБД по расписанию. Управление протоколированием операций над БД (аудит). Аутентификация пользователей через LDAP, Kerberos, средствами операционной системы. Хеширование паролей по алгоритму FIPS 180-2 SHA-224.
18 марта 2016 года по решению Экспертного совета по российскому программному обеспечению при Минкомсвязи России СУБД ЛИНТЕР включена в единый реестр российских программ для электронных вычислительных машин и баз данных (реестр российского ПО).
Репликация асинхронная (в том числе и двунаправленная), возможна репликация с другими БД через ODBC.
Имеет утилиты конвертации, работающие через ODBC и ADO.NET. Конвертор из DBF-формата. Конвертор модели данных (из ERwin в ЛИНТЕР).
Достоинства
Российская разработка
Она поддерживает SQL:2003.
Облегчается конвертация при переходе с других СБУД
Рекомендована "Единым реестром российских программ".
Недостатки
Идеально подходит для: отечественных организаций, которые работают с конфиденциальными и персональными данными.
9. РЕД База Данных
«РЕД База Данных» — российская СУБД, работает на всех основных платформах и ОС (Windows, Linux, BSD Unix, IBM AIX, HP-UX, Sun Solaris и т.д.). Система модульная. Имеет открытый исходный код.
Возможность «горячего» резервного копирования и инкрементного резервного копирования. Сертифицирована ФСТЭК России. Соответствует отечественным требованиям по защите информации.
Может использоваться при создании информационных систем до класса защищенности 1Г включительно и при создании информационных систем персональных данных до 1 класса включительно. Полное соответствие принципам атомарности, непротиворечивости, изоляции, долговечности (ACID).
Имеются модули сопряжения практически для всех используемых сред разработки (драйверы ODBC, JDBC, C/C++, C#, Java, Delphi, PHP, Python, Perl, VB, и т.д.), результатов тестов этих модулей и гарантия стабильной работы.
Возможность работы во «встроенном» в ПО (embedded) локальном режиме в виде библиотеки DLL без отдельной установки и настройки СУБД, в т.ч. поддержка встраивания в виртуальную машину Java.
Достоинства
Российская разработка
Соответствует отечественным требованиям по защите информации
Высокое быстродействие, сравнимое с лидерами рынка.
Возможность хранения базы данных в одном отдельном файле.
Недостатки
Идеально подходит для: отечественных организаций (включая оборонные), которые работают с конфиденциальными и персональными данными.
Обсуждение
Если сравнивать популярность современных СУБД с точки зрения их распространенности, то можно увидеть следующую картину по состоянию на 2013 год (рис. 1).
Рис. 1. Распространенность современных СУБД по состоянию на 2013 г.
C течением времени картина распространенности СУБД изменилась и в 2017 году приняла следующий вид (рис. 2).
Рис. 2. Распространенность современных СУБД по состоянию на 2017 г.
Необходимо отметить, что в опросе принимали участие специалисты, непосредственно занимающиеся разработкой, внедрением и эксплуатацией той или иной СУБД.
Приведем сводную таблицу, в которой постараемся упорядочить все рассмотренные особенности каждого программного продукта (таблица 1).
Таблица 1. Сравнительный анализ параметров СУБД
№ п/п | СУБД | Тип | Разработчик | Операционная система | Лицензия | Исходный код | Стабильность | Популярность | Поддержка |
1 | Oracle Database | Мульти-модельная | Oracle Corporation | Linux, Microsoft Windows, Oracle Solaris, IBM AIX, HP-UX | Коммерческая | Закрытый | + | + | Платная |
2 | MySQL | Реляционная | Oracle Corporation | Linux, Microsoft Windows, Oracle Solaris, macOS, FreeBSD | GNU GPL и коммерческая | Открытый | + | + | Платная |
3 | SQL Server | Реляционная | Microsoft | Linux, Microsoft Windows | Коммерческая | Закрытый | + | + | Бесплатная |
4 | PostgreSQL | Объектно-реляционная | PostgreSQL Global Development Group | Linux, Microsoft Windows, Oracle Solaris, IBM AIX, macOS, HP-UX, QNX | Свободное и открытое программное обеспечение, разрешительная лицензия | Открытый | + | + | Платная |
5 | MongoDB | Документо-ориентированная | MongoDB Inc. | Linux, Microsoft Windows, Oracle Solaris, FreeBSD, macOS | GNU AGPL (СУБД) и Apache License (драйверы) | Открытый | + | + | Платная |
6 | MariaDB | Реляционная | MariaDB Corporation Ab, MariaDB Foundation | Linux, Microsoft Windows, Oracle Solaris, FreeBSD, macOS | GNU GPL | Открытый | -* | - | Платная |
7 | DB2 | Объектно-реляционная | IBM | Linux, Microsoft Windows, Oracle Solaris, FreeBSD, macOS | Проприетарная EULA | Закрытый | + | - | Бесплатная*** |
8 | SAP HANA | Реляционная, in-memory | SAP SE | Linux** | Коммерческая | Закрытый | + | - | Платная |
9 | ЛИНТЕР | Реляционная | РЕЛЭКС | Linux, Microsoft Windows, Oracle Solaris, FreeBSD, macOS, QNX, ИНТРОС | Коммерческая | Закрытый | + | - | Бесплатная**** |
10 | Ред База Данных | Реляционная | Ред Софт | Linux, Microsoft Windows, Oracle Solaris, FreeBSD, HP-UX | GNU GPL | Открытый | + | - | Платная |
Примечания:
*) нестабильность MariaDB зафиксирована при эксплуатации реального веб-сервера (при обслуживании drach.pro в том числе);
**) только дистрибутивы SUSE и Red Hat Enterprise Linux;
***) в течение первых 36 месяцев;
****) в течение первых 12 месяцев.
Из всех представленных в таблице вариантов только Ред База Данных и ЛИНТЕР включены в «Единый реестр российских программ для электронных вычислительных машин и баз данных» (реестр российского программного обеспечения).
2 июня 2015 года Министерство связи и массовых коммуникаций Российской Федерации издало «Протокол экспертной оценки проектов по импортозамещению инфраструктурного программного обеспечения», в котором проект «СУБД PostgreSQL и связанные с ним решения» занимает 1-е место по направлению «Системы управления базами данных» протокола экспертной оценки.
Исходя из таблицы можно сделать вывод, что при планирования веб-сервера следует в первую очередь обратить внимание на MySQL, которые остается востребованным в течение уже более десяти лет. Альтернативами будут Maria DB и PostgreSQL. Примечательно, что все перечисленные решения бесплатны.
Если же речь заходит о внедрении БД на предприятие и осуществлении документооборота, то начать выбор следовало бы с Oracle Database, функционал и производительность которого действительно впечатляют. Уникальной в данном сегменте является MongoDB, её также можно уверенно рекомендовать для рассмотрения. При ограниченном финансировании следует рассмотреть вариант использования PostgreSQL для документооборота.
Заключение
Существует несколько популярных СУБД, выбирая из которых, можно гарантированно найти ту, которая будет соответствовать требованиям конкретного промышленного предприятия. Благодаря тому, что есть множество отличных бесплатных вариантов, для небольших организаций можно найти инструмент управления БД, который соответствует их критериям. С другой стороны, если предприятие требует более насыщенного функционалом решения, существует множество платных предложений СУБД.