Что такое нереляционные БД

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:** - Гибкость схемы. - Высокая производительность при больших нагрузках. - Простота масштабирования (шардинг, репликация).