Top.Mail.Ru
поддержка 24/7
поддержка 24/7

Виды баз данных

Экспертный материал,

Михаил Сергеев | Ведущий инженер

Рассказываем, какие базы данных существуют на рынке и какие у них есть преимущества и недостатки.

База данных (БД) — это набор структурированной информации, хранящейся в электронном виде. Как правило, БД управляются системой управления базами данных — СУБД. В самых распространенных типах БД информация структурируется с помощью строк и таблиц. Это упрощает работу с данными: управление, изменение, обработку и обновление.

Существует много типов БД, мы опишем только самые популярные.

Иерархические базы данных

Иерархические базы имеют древовидную схему, где единый ствол порождает множество расходящихся ветвей. В такой структуре данные структурируются согласно отношениям родитель-потомок. Схематично это похоже на папки на рабочем столе компьютера — у каждой записи есть физическая связь только с одной предыдущей, а отношение многих ко многим невозможно.

Пример иерархической базы данных 

Рис.1. Пример иерархической базы данных.

Так как структура БД иерархична, каждая запись дерева данных должна иметь хотя бы одного родителя. Пользователь получает доступ к данным, следуя структуре, всегда инициируемой из корня древа или первого родителя.

Преимущества 

Отношения родитель-потомок обеспечивают целостность данных. Каждое изменение, сделанное в родительской таблице, автоматически обновляется и в дочерней таблице. 

Еще одно преимущество иерархических баз данных — высокий уровень безопасности.

Недостатки

Жесткая иерархия усложняет работу с данными. Если родительская и дочерняя таблицы не связаны между собой, то добавление новой записи в дочернюю таблицу усложняется, потому что ее необходимо добавить и в родительскую таблицу. 

Изменение структуры БД приводит к изменению всех прикладных программ, которые с ней работают. 

Иерархическая БД поддерживает отношения один к многим и не поддерживает отношения многие к многим. 

Реляционные базы данных

Это самый распространенный тип БД. Реляционная модель распределяет данные по таблицам. В каждом столбце таблицы указывается атрибут объекта, о котором идет речь, например, цена, почтовый индекс или дата рождения. Вместе атрибуты называются доменом. Конкретный атрибут или комбинация атрибутов выбирается в качестве первичного ключа. Когда на ключ ссылаются другие таблицы, то он называется внешним ключом.

Пример реляционной базы данных 

Рис.2. Пример реляционной базы данных.

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

Для запросов БД использует язык запросов SQL, что упрощает работу с данными.

Преимущества 

В отличие от других типов БД, реляционная обеспечивает целостность очень больших объемов данных. Это критически важно для операционной деятельности бизнеса, например, банковской сферы с миллионами ежедневных транзакций.

Реляционная БД предоставляет доступ для нескольких сотрудников одновременно, с возможностью настройки уровней доступа.

Недостатки

Для обеспечения целостности данных реляционная БД использует длительные и кратковременные блокировки. Это приводит к задержкам и недоступности данных на некоторое время. 

Реляционная база данных требует большого объема физической памяти. Кроме того, сравнительно с другими БД, у нее невысокая производительность. И чем больше объем БД, тем медленнее обрабатываются запросы.

Организация, хранение и обработка слабо структурированных или неструктурированных данных из разных источников достаточно трудная задача.

Нереляционные базы данных или базы данных NoSQL 

В отличие от реляционных, NoSQL БД не используют табличную схему строк и столбцов и поэтому способны обрабатывать неструктурированные данные. Вместо таблиц БД применяют несколько моделей, в зависимости от типа обрабатываемых данных. Рассмотрим модели подробнее.  

Документоориентированные базы данных

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

Пример документоориентированной базы данных 

Рис.3. Пример документоориентированной базы данных

Колоночные базы данных

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

Пример колоночной базы данных 

Рис.4. Пример колоночной базы данных.

Графовые базы данных 

Такой тип БД делит данные на два типа: узлы и ребра. Узлами называются объекты, а ребрами — связи между ними и направления этих связей. 

Пример структуры графовой базы данных 

Рис.5. Пример структуры графовой базы данных

Графовые базы данных помогают быстро анализировать огромное количество данных со сложными связями.

Другие типы баз данных NoSQL:

  • Базы данных временных рядов.

  • Объектные базы данных.

  • Базы данных внешних индексов.

  • Базы данных  «Ключ — значение» .

Преимущества 

NoSQL БД обладают высокой гибкостью, способны хранить обрабатывать как структурированные, так и неструктурированные данные. Кроме того, такие БД быстро масштабируются с ростом количества данных, сохраняя высокую производительность. 

Недостатки

Отсутствие единого общепризнанного стандарта, определяющего правила и роли баз данных NoSQL. Структура и языки запросов сильно различаются в разных продуктах NoSQL.

У NoSQL БД могут быть проблемы с обработкой информации, требующей строгой согласованности во всем наборе данных.

Объектно-ориентированная база данных

Объектно-ориентированные базы данных — это постреляционная модель БД. Она включает в себя таблицы, но не ограничивается ими. В таких БД информация хранится в виде набора объектов или программных элементов многократного использования.

Пример объектно-ориентированной базы данных 

Рис.6. Пример объектно-ориентированной базы данных

Объектно-ориентированные базы данных делятся на несколько видов:

  • База данных мультимедиа включает мультимедийные данные, например, изображения, что невозможно в реляционной базе данных.

  • База данных гипертекста позволяет любому объекту ссылаться на любой другой объект. Это полезно для организации множества разрозненных данных, но не идеально для численного анализа.

Преимущества 

Объектно-ориентированная модель БД помогает точнее моделировать «реальный мир» и работать объектами, с которыми трудно справиться другим типам БД. 

БД позволяют создавать новые типы данных из уже существующих, выделять общие свойства нескольких классов и сформировать из них суперкласс, который можно использовать совместно с подклассами. Это помогает уменьшить избыточность внутри системы и считается одним из основных преимуществ объектно-ориентированного подхода. 

В них можно хранить самые разные типы данных, например, изображения и видео.

Недостатки

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

Невозможно разграничить доступ пользователей к отдельным объектам или классам.

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

СУБД — это ПО для создания и управления базами данных. 

Самые популярные СУБД

Рейтинг популярности СУБД 

Рис.7. Рейтинг популярности СУБД

Источник: Statista.

Российские СУБД

Ведущими поставщиками СУБД являются IBM, Oracle и Microsoft. Сейчас доступ к иностранным СУБД из России ограничен, поэтому корпоративные заказчики стали переходить на российские разработки: Postgres Pro, Arenadata DB и СУБД Ред База Данных. Важно понимать, что выбор СУБД в каждом случае зависит от приложений, которыми она будет управляться, поэтому выбор СУБД — привилегия разработчика, а не пользователя. 

Postgres Pro

Объектно-реляционная СУБД Postgres Pro разработана компанией Postgres Professional с использованием свободно распространяемой СУБД PostgreSQL и значительно переработана под требования корпоративного сегмента. Входит в реестр российского ПО.

Arenadata DB

Реляционная СУБД Arenadata DB (ADB) — построена на свободно распространяемой СУБД Greenplum. Входит в реестр российского ПО.

СУБД Ред База Данных

Реляционная СУБД, основанная на свободно распространяемой СУБД Firebird. Входит в реестр российского ПО.

Что предлагает Corpsoft24

Мы предлагаем в аренду серверы для самостоятельного развертывания и управления СУБД в облаке. Размещение в облаке имеет несколько преимуществ сравнительно с локальным: 

  1. Доступ из любой точки, что удобно организациям с несколькими филиалами и удаленными сотрудниками.

  2. Масштабируемость — практически неограниченные ресурсы для работы с данными. 

  3. Отказоустойчивость и высокая производительность без задержки и сбоев. 

  4. Резервное копирование для защиты данных.  


Автор: Сергей Драгун
Получить доступ к виртуальной инфраструктуре Corpsoft24


Загрузка ...