Что такое нереляционные БД
Python
Senior
Без компании
Что такое нереляционные БД
Ответы
Нереляционные (NoSQL) базы данных — это базы, которые не используют табличную структуру с фиксированными схемами и SQL для запросов. Они предназначены для работы с большими объемами неструктурированных или полуструктурированных данных и обеспечивают горизонтальную масштабируемость.
**Типы NoSQL БД:**
- **Документные** (MongoDB, CouchDB) — хранят данные в форматах JSON/BSON.
- **Ключ-значение** (Redis, DynamoDB) — простейший тип, данные хранятся как пары ключ-значение.
- **Колоночные** (Cassandra, HBase) — оптимизированы для аналитики и работы с большими таблицами.
- **Графовые** (Neo4j) — хранят данные в виде узлов и связей между ними.
**Пример с MongoDB (документная БД):**
```
from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")
db = client["test_db"]
collection = db["users"]
# Вставка документа
collection.insert_one({"name": "Alice", "age": 25, "city": "Berlin"})
# Поиск
user = collection.find_one({"name": "Alice"})
print(user) # {'_id': ObjectId('...'), 'name': 'Alice', 'age': 25, 'city': 'Berlin'}
```
**Преимущества NoSQL:**
- Гибкость схемы.
- Высокая производительность при больших нагрузках.
- Простота масштабирования (шардинг, репликация).