Типы баз данных
Что такое типы баз данных: определение, основные принципы, примеры и практические советы. Изучайте SQL для тестировщиков с подробными объяснениями для начинающих специалистов.
Типы баз данных.
Основные БД:
- Реляционные базы данных.
- Key-value базы данных.
- Документоориентированные базы данных.
Реляционные БД.
Реляционными называются базы данных, в основе построения которых лежит реляционная модель. В такой базе данные структурированы в виде таблиц, которые содержат строки и столбцы.
Ключевое поле (первичный ключ) — это поле (или набор полей), значение которого однозначно определяет запись в таблице.
Внешний ключ — это поле (или набор полей) в одной таблице, которое ссылается на первичный ключ в другой таблице.
Автоинкремент — это функция в базах данных, которая автоматически генерирует уникальный номер для каждой новой строки, добавленной в таблицу. Этот номер обычно используется в качестве первичного ключа для уникальной идентификации каждой строки в таблице.
Правила первичного и внешнего ключа служат для одной цели.
Особенности реляционных БД.
- Модель данных в реляционных БД определена заранее и является строго типизированной.
- Данные хранятся в таблицах, состоящих из столбцов и строк.
- На пересечении каждого столбца и строчки допускается только одно значение.
- Каждый столбец проименован и имеет определенный тип, которому следуют значения со всех строк в данном столбце.
- Столбцы располагаются в определённом порядке, который определяется при создании таблицы.
- В таблице может не быть ни одной строчки, но обязательно должен быть хотя бы один столбец.
- Запросы к базе данных возвращают результат в виде таблиц.
Реляционная и Нереляционная. Ключевые отличия.
Реляционные и нереляционные базы данных представляют различные модели хранения и организации данных.
Реляционные базы данных:
Структура.
- Основаны на табличной структуре, где данные хранятся в таблицах, состоящих из строк (записей) и столбцов (полей).
- Связи между таблицами устанавливаются с помощью ключей (Primary Key, Foreign Key).
Язык запросов.
- Для работы с данными используется язык запросов SQL (Structured Query Language).
- Запросы удобны для выполнения сложных операций соединения, фильтрации, группировки и сортировки данных.
Нереляционные базы данных:
Структура.
- Основаны на различных моделях данных, таких как документы (MongoDB), ключ-значение (Redis), столбцы (Cassandra), графы (Neo4j).
- Данные могут быть представлены в виде коллекций, документов, ключей и т.д.
Гибкость.
- Позволяют хранить и обрабатывать разнородные и неструктурированные данные.
- Лучше подходят для масштабируемых и распределенных систем.
Производительность.
- Нереляционные базы данных могут обеспечить более высокую скорость обработки больших объемов данных.
- Особенно эффективны при работе с неструктурированными данными или при необходимости горизонтального масштабирования.
Key-value БД.
Key-value базы данных — это тип баз данных, которые хранят данные как совокупность пар «ключ-значение», в которых ключ служит уникальным идентификатором.
Особенности Key-value БД.
- Скорость работы.
- Простота модели хранения данных.
- Гибкость: значения могут быть любыми, включая JSON.
Недостатки
- Плохо масштабируются по мере усложнения моделей данных.
- Неэффективность при работе с группой записей.
Документоориентированные базы данных — это тип баз данных, направленный на хранение и запрос данных в виде документов, подобном JSON.
Документоориентированные БД
Особенности документоориентированных БД.
В отличие от других баз данных, документоориентированные оперируют «документами», сгруппированными по коллекциям. Документ представляет собой набор атрибутов (ключ и соответствующее ему значение). Значения могут быть как и простыми типами данных (строки, числа или даты), так и более сложными, такими как вложенные объекты, массивы и ссылки на другие документы.
Второстепенные БД:
- Распределенные БД. Такие БД состоят из двух и более частей, расположенных на разных серверах.
- Хранилища данных. Представляет собой тип БД, специально предназначенный для быстрого выполнения запросов и анализа. Централизованный репозиторий для данных.
- NoSQL. Нереляционная БД, хранит неструктурированные или слабоструктурированные данные.
- Графовые БД. Разновидность БД с реализацией сетевой модели в виде графа и его обобщений.
- OLTP. БД для бизнес-транзакций, выполняемых множеством пользователей.
- С открытым исходным кодом. Имеют открытый ИК и могут управляться средствами как SQL, так и NoSQL.
- Облачные БД. Набор структурированных или неструктурированных данных, размещенный на частной, публичной или гибридной платформе облачных вычислений.
- Многомодельные БД. Объединяет разные типы моделей БД в единую интегрированную СУБД. Может содержать различные типы данных.
- Автономные БД. Самоуправляемые БД. Используют машинное обучение для автоматизации настройки, защиты, бэкапа, обновления и тд, управляемые администраторами БД.