В чём разница между реляционными и документно-ориентированными базами данных
Python
Senior
Без компании
В чём разница между реляционными и документно-ориентированными базами данных
Ответы
Реляционные БД (MySQL, PostgreSQL) хранят данные в таблицах с жесткой схемой, где связи между таблицами определяются через ключи. Они обеспечивают ACID-транзакции и строгую целостность данных.
Документные БД (MongoDB, CouchDB) хранят данные в виде JSON-подобных документов (коллекции вместо таблиц). Схема гибкая, документы могут иметь разную структуру. Подходят для неструктурированных данных и горизонтального масштабирования.
Пример MongoDB:
```
db.users.insert_one({
"name": "Alice",
"age": 30,
"address": {
"city": "New York",
"zip": "10001"
}
})
```
Основные различия:
- **Схема**: реляционные - жесткая, документные - гибкая
- **Связи**: реляционные - через JOIN, документные - вложенные документы или ссылки
- **Масштабируемость**: реляционные - вертикально, документные - горизонтально