Экспертный материал,
Михаил Сергеев | Ведущий инженер
Рассказываем, какие базы данных существуют на рынке и какие у них есть преимущества и недостатки.
База данных (БД) — это набор структурированной информации, хранящейся в электронном виде. Как правило, БД управляются системой управления базами данных — СУБД. В самых распространенных типах БД информация структурируется с помощью строк и таблиц. Это упрощает работу с данными: управление, изменение, обработку и обновление.
Существует много типов БД, мы опишем только самые популярные.
Иерархические базы данных
Иерархические базы имеют древовидную схему, где единый ствол порождает множество расходящихся ветвей. В такой структуре данные структурируются согласно отношениям родитель-потомок. Схематично это похоже на папки на рабочем столе компьютера — у каждой записи есть физическая связь только с одной предыдущей, а отношение многих ко многим невозможно.
Так как структура БД иерархична, каждая запись дерева данных должна иметь хотя бы одного родителя. Пользователь получает доступ к данным, следуя структуре, всегда инициируемой из корня древа или первого родителя.
Преимущества
Отношения родитель-потомок обеспечивают целостность данных. Каждое изменение, сделанное в родительской таблице, автоматически обновляется и в дочерней таблице.
Еще одно преимущество иерархических баз данных — высокий уровень безопасности.
Недостатки
Жесткая иерархия усложняет работу с данными. Если родительская и дочерняя таблицы не связаны между собой, то добавление новой записи в дочернюю таблицу усложняется, потому что ее необходимо добавить и в родительскую таблицу.
Изменение структуры БД приводит к изменению всех прикладных программ, которые с ней работают.
Иерархическая БД поддерживает отношения один к многим и не поддерживает отношения многие к многим.
Реляционные базы данных
Это самый распространенный тип БД. Реляционная модель распределяет данные по таблицам. В каждом столбце таблицы указывается атрибут объекта, о котором идет речь, например, цена, почтовый индекс или дата рождения. Вместе атрибуты называются доменом. Конкретный атрибут или комбинация атрибутов выбирается в качестве первичного ключа. Когда на ключ ссылаются другие таблицы, то он называется внешним ключом.
В отличие от иерархических, реляционные БД поддерживают не только модель один к многим, но и многие ко многим. Вдобавок любое изменение в нескольких таблицах БД влияет и на остальные таблицы. Благодаря этому, реляционная БД сохраняет целостность данных во всех приложениях и копиях БД.
Для запросов БД использует язык запросов SQL, что упрощает работу с данными.
Преимущества
В отличие от других типов БД, реляционная обеспечивает целостность очень больших объемов данных. Это критически важно для операционной деятельности бизнеса, например, банковской сферы с миллионами ежедневных транзакций.
Реляционная БД предоставляет доступ для нескольких сотрудников одновременно, с возможностью настройки уровней доступа.
Недостатки
Для обеспечения целостности данных реляционная БД использует длительные и кратковременные блокировки. Это приводит к задержкам и недоступности данных на некоторое время.
Реляционная база данных требует большого объема физической памяти. Кроме того, сравнительно с другими БД, у нее невысокая производительность. И чем больше объем БД, тем медленнее обрабатываются запросы.
Организация, хранение и обработка слабо структурированных или неструктурированных данных из разных источников достаточно трудная задача.
Нереляционные базы данных или базы данных NoSQL
В отличие от реляционных, NoSQL БД не используют табличную схему строк и столбцов и поэтому способны обрабатывать неструктурированные данные. Вместо таблиц БД применяют несколько моделей, в зависимости от типа обрабатываемых данных. Рассмотрим модели подробнее.
Документоориентированные базы данных
Такой тип БД управляет так называемым документом: набором значений и данных объекта. Важно, что один документ может содержать сведения, которые в реляционной СУБД обычно распределяются по нескольким реляционным таблицам. Вдобавок документоориентированные БД не требуют, чтобы все документы имели одинаковую структуру. Доступ к документам дается через ключ — уникальный идентификатор документа.
Колоночные базы данных
Такие БД упорядочивают данные по столбцам и строкам, подобно тому, как это делается в реляционной базе данных. Столбцы разделяются на группы, в каждую включен набор логически связанных столбцов, которые извлекаются или управляются как единое целое.
Графовые базы данных
Такой тип БД делит данные на два типа: узлы и ребра. Узлами называются объекты, а ребрами — связи между ними и направления этих связей.
Графовые базы данных помогают быстро анализировать огромное количество данных со сложными связями.
Другие типы баз данных NoSQL:
-
Базы данных временных рядов.
-
Объектные базы данных.
-
Базы данных внешних индексов.
-
Базы данных «Ключ — значение» .
Преимущества
NoSQL БД обладают высокой гибкостью, способны хранить обрабатывать как структурированные, так и неструктурированные данные. Кроме того, такие БД быстро масштабируются с ростом количества данных, сохраняя высокую производительность.
Недостатки
Отсутствие единого общепризнанного стандарта, определяющего правила и роли баз данных NoSQL. Структура и языки запросов сильно различаются в разных продуктах NoSQL.
У NoSQL БД могут быть проблемы с обработкой информации, требующей строгой согласованности во всем наборе данных.
Объектно-ориентированная база данных
Объектно-ориентированные базы данных — это постреляционная модель БД. Она включает в себя таблицы, но не ограничивается ими. В таких БД информация хранится в виде набора объектов или программных элементов многократного использования.Объектно-ориентированные базы данных делятся на несколько видов:
-
База данных мультимедиа включает мультимедийные данные, например, изображения, что невозможно в реляционной базе данных.
-
База данных гипертекста позволяет любому объекту ссылаться на любой другой объект. Это полезно для организации множества разрозненных данных, но не идеально для численного анализа.
Преимущества
Объектно-ориентированная модель БД помогает точнее моделировать «реальный мир» и работать объектами, с которыми трудно справиться другим типам БД.
БД позволяют создавать новые типы данных из уже существующих, выделять общие свойства нескольких классов и сформировать из них суперкласс, который можно использовать совместно с подклассами. Это помогает уменьшить избыточность внутри системы и считается одним из основных преимуществ объектно-ориентированного подхода.
В них можно хранить самые разные типы данных, например, изображения и видео.
Недостатки
У большинства пользователей еще мало опыта работы с такими БД, вдобавок работу с ними усложняет отсутствие универсальной модели данных и общепризнанного языка запросов.
Невозможно разграничить доступ пользователей к отдельным объектам или классам.
Системы управления базами данных — СУБД
СУБД — это ПО для создания и управления базами данных.
Самые популярные СУБД
Источник: Statista.
Российские СУБД
Ведущими поставщиками СУБД являются IBM, Oracle и Microsoft. Сейчас доступ к иностранным СУБД из России ограничен, поэтому корпоративные заказчики стали переходить на российские разработки: Postgres Pro, Arenadata DB и СУБД Ред База Данных. Важно понимать, что выбор СУБД в каждом случае зависит от приложений, которыми она будет управляться, поэтому выбор СУБД — привилегия разработчика, а не пользователя.
Postgres Pro
Объектно-реляционная СУБД Postgres Pro разработана компанией Postgres Professional с использованием свободно распространяемой СУБД PostgreSQL и значительно переработана под требования корпоративного сегмента. Входит в реестр российского ПО.
Arenadata DB
Реляционная СУБД Arenadata DB (ADB) — построена на свободно распространяемой СУБД Greenplum. Входит в реестр российского ПО.
СУБД Ред База Данных
Реляционная СУБД, основанная на свободно распространяемой СУБД Firebird. Входит в реестр российского ПО.
Что предлагает Corpsoft24
Мы предлагаем в аренду серверы для самостоятельного развертывания и управления СУБД в облаке. Размещение в облаке имеет несколько преимуществ сравнительно с локальным:
-
Доступ из любой точки, что удобно организациям с несколькими филиалами и удаленными сотрудниками.
-
Масштабируемость — практически неограниченные ресурсы для работы с данными.
-
Отказоустойчивость и высокая производительность без задержки и сбоев.
-
Резервное копирование для защиты данных.
Автор: Сергей Драгун