Ответ
-
Масштабируемость
Вертикальное масштабирование (увеличение ресурсов сервера) ограничено физически, горизонтальное (шардинг, репликация) усложняет архитектуру. -
Производительность
При высоких нагрузках возможны задержки из-за блокировок, конкуренции за ресурсы, сложных запросов. -
Согласованность vs Доступность
CAP-теорема: в распределённых системах нельзя одновременно обеспечить согласованность, доступность и устойчивость к разделению. -
Сложность JOIN-операций
Большое количество JOIN в SQL-запросах резко снижает производительность.
Пример (PostgreSQL):
-- Медленный запрос с множественными JOIN
SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id
JOIN products p ON o.product_id = p.id
WHERE p.price > 1000;
-
Ограничения схемы
Жёсткая схема в реляционных БД усложняет изменение структуры данных. -
Хранение больших данных
BLOB-объекты (изображения, видео) лучше хранить в файловых системах или объектных хранилищах. -
Транзакции в NoSQL
Многие NoSQL-решения (например, MongoDB до версии 4.0) не поддерживают ACID-транзакции.