Cервисы
Managed IT
Решения
Security
Импортозамещение
О компании

Базы данных: какие бывают и в чем особенности каждого вида

Все данные нужно где-то хранить, будь то список сотрудников компании, меню в ресторане или пароли пользователей сайта. Чаще всего для этого используют базы данных (БД). Они бывают нескольких типов, по-разному структурирующих сведения об объектах. В зависимости от процесса разработки продукта бизнес может создать БД с подходящей логической структурой и эффективно управлять ею с помощью систем управления базами данных (СУБД). В этом материале специалисты ITGLOBAL.COM рассказали про основные типы баз данных, разобрались, в чем их особенности и чем они отличаются друг от друга.

Зачем нужны базы данных

Базы данных позволяют:

Простейшие базы данных

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

Текстовые файлы

Информация в текстовых форматах (txt, csv), где поля разделяются пробелами, табуляцией и знаками препинания: запятыми, точками с запятой и двоеточиями. Простейшие базы данных подойдут, когда необходима простая БД, которая содержит 50-200 записей. Например, для телефонного справочника.

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

Недостатки:

Примеры: etc/passwd и etc/fstab, csv-файлы, ini-файлы и прочие.

Иерархические

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

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

Недостатки:

Примеры: файловые системы, DNS и LDAP.

Сетевые

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

Пример: IDMS.

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

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

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

Недостатки:

Примеры: Oracle, Microsoft SQL Server, MySQL, PostgreSQL, SQLite.

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

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

Базы данных «Ключ-значение»

Данные хранятся в виде таблицы с ключами и конкретными значениями. Базы данных «Ключ-значение» часто используют вместе с другими базами данных в качестве механизма кэширования.

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

Недостатки:

Примеры: Amazon DynamoDB, Redis, Riak, LevelDB, Memcached и пр.

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

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

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

Недостатки:

Примеры: MongoDB, RethinkDB, CouchDB, DocumentDB.

Графовые

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

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

Недостатки:

Примеры: Neo4J, JanusGraph, Dgraph, OrientDB.

Колоночные

В колоночных базах данные хранятся не в таблицах, а в столбцах. Ключи указывают на формат строки записи информации об объекте. У каждой строки есть свой набор свойств, поэтому в рамках одного семейства можно хранить по-разному структурированные данные. Колоночные базы данных применяют для аналитики больших объемов данных. Например, для фильтрации и сортировки товаров в интернет-магазине или для получения статистики с сайта в разрезе дней, категорий, цен и так далее.

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

Недостатки:

Примеры: Cassandra, HBase, ClickHouse.

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

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

Примеры: OpenTSDB, Prometheus, InfluxDB, TimescaleDB.

Комбинированные типы

Комбинированные типы совмещают SQL- и NoSQL-подходы и включают в себя NewSQL и многомерные решения.

NewSQL базы данных

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

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

Недостатки:

Примеры: MemSQL, VoltDB, Spanner и др.

Многомерные

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

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

Недостатки:

Пример: ArangoDB.

На что ориентироваться при выборе базы данных

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

Выбор в пользу того или иного типа баз данных необходимо принимать с учетом:

Managed Databases от ITGLOBAL.COM 

Компании могут самостоятельно администрировать свои базы данных, но это требует много времени, денег и сил. Сэкономить ресурсы можно, если делегировать задачи облачному провайдеру. Например, специалисты ITGLOBAL.COM в рамках услуги Managed Databases берут на себя управление базами данных «под ключ», круглосуточную техническую поддержку, масштабирование без простоев и