На какие основные классы классифицируют системы управления базами данных (СУБД)?

«На какие основные классы классифицируют системы управления базами данных (СУБД)?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

СУБД классифицируют по модели данных. Основные классы:

Класс Модель данных Примеры Типичное применение
Реляционные (RDBMS) Таблицы со строгой схемой и связями. Используют SQL. PostgreSQL, MySQL, Oracle Транзакционные системы (банки, ERP), где важна целостность (ACID).
NoSQL Различные нереляционные модели. Большие объемы, гибкая схема, горизонтальное масштабирование.
Документные Коллекции документов (JSON/BSON). MongoDB, CouchDB Каталоги, контент-менеджеры, пользовательские профили.
Ключ-значение Хэш-таблица для простых запросов по ключу. Redis, Amazon DynamoDB Кэши, сессии, очереди.
Колоночные Хранение данных по столбцам, а не строкам. Cassandra, HBase Аналитика, big data, временные ряды.
Графовые Узлы, ребра и свойства для связей. Neo4j, Amazon Neptune Социальные сети, рекомендации, обнаружение мошенничества.
NewSQL Объединяют SQL-интерфейс и масштабируемость NoSQL. Google Spanner, CockroachDB Глобально распределенные системы с требованиями ACID.

Устаревшие модели:

  • Иерархические: Древовидная структура (например, файловая система, XML).
  • Сетевые: Более сложные связи, чем в иерархической модели.

Выбор СУБД зависит от требований к согласованности данных, масштабируемости, структуре данных и нагрузке.