Какие знаешь ограничения базы данных

«Какие знаешь ограничения базы данных» — вопрос из категории Базы данных, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  • Масштабируемость
    Вертикальное масштабирование (увеличение ресурсов сервера) ограничено физически, горизонтальное (шардинг, репликация) усложняет архитектуру.

  • Производительность
    При высоких нагрузках возможны задержки из-за блокировок, конкуренции за ресурсы, сложных запросов.

  • Согласованность 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-транзакции.