Ответ
Базы данных делятся на несколько основных типов, каждый из которых оптимизирован под определенные сценарии использования.
1. Реляционные (SQL) БД
Данные организованы в таблицы со строгой схемой (столбцы и строки). Связи между таблицами устанавливаются через ключи.
- Принцип: ACID-транзакции, строгая согласованность.
- Примеры: PostgreSQL, MySQL, Oracle.
- Пример запроса:
SELECT name, email FROM users WHERE registration_date > '2024-01-01';
2. Нереляционные (NoSQL) БД
Гибкая схема, горизонтальная масштабируемость. Включают несколько подтипов:
- Документные: Хранят данные в виде документов (JSON, BSON).
- Примеры: MongoDB, CouchDB.
- Пример документа:
{ "_id": "507f1f77bcf86cd799439011", "username": "alex", "preferences": { "theme": "dark" } }
- Ключ-значение (Key-Value): Простейшая модель для быстрого доступа по уникальному ключу.
- Примеры: Redis, Amazon DynamoDB.
- Колоночные (Wide-Column): Данные хранятся по столбцам, а не по строкам, что эффективно для аналитики.
- Примеры: Apache Cassandra, ScyllaDB.
- Графовые (Graph): Оптимизированы для хранения и запросов сложных связей между сущностями (узлы и ребра).
- Примеры: Neo4j, Amazon Neptune.
3. In-memory БД
Хранят данные в оперативной памяти для максимальной скорости (часто используются как кэш).
- Пример: Redis, Memcached.
4. NewSQL БД
Сочетают горизонтальную масштабируемость NoSQL с SQL-интерфейсом и гарантиями ACID.
- Пример: Google Spanner, CockroachDB.