NoSQL (Not Only SQL) — это класс нереляционных систем управления базами данных, которые используют структуры, отличные от традиционных таблиц с фиксированной схемой. Они разработаны для работы с большими объемами неструктурированных, полуструктурированных и полиструктурированных данных, предоставляя гибкую масштабируемость и высокую доступность.
Основные категории NoSQL баз данных:
python
json
Отличия от реляционных БД (SQL):
| Характеристика | Relational (SQL) | NoSQL |
|---|---|---|
| Схема данных | Фиксированная, строгая | Гибкая, динамическая |
| Масштабирование | Вертикальное (увеличение мощности сервера) | Горизонтальное (добавление серверов) |
| Нормализация | Высокая (уменьшение избыточности) | Низкая (дублирование данных для производительности) |
| ACID транзакции | Обычно полная поддержка | Различная поддержка (иногда BASE) |
| Язык запросов | SQL | Различается (часто API, специфичные языки) |
NoSQL базы данных выбирают для сценариев, требующих высокой масштабируемости, гибкости схемы, быстрой обработки больших объемов данных (Big Data), работы с полуструктурированными/неструктурированными данными или специфических моделей данных (например, графы).