Реляционные: Строго структурированы, используют таблицы со строками и столбцами, определенные схемы.
Нереляционные: Гибкая или лишенная схемы, данные хранятся в различных форматах (ключ-значение, документ, граф, колоночное семейство).
Схема:
Реляционные: Требуют предопределенной схемы (schema-on-write). Изменения схемы могут быть сложными.
Нереляционные: Не требуют фиксированной схемы (schema-on-read) или имеют гибкую схему. Легче адаптируются к изменениям данных.
Масштабируемость:
Реляционные: Вертикальная масштабируемость (увеличение ресурсов сервера), горизонтальная затруднена (сложное шардирование).
Нереляционные: Горизонтальная масштабируемость (добавление серверов) обычно проще, спроектированы для распределенных систем.
Модель данных:
Реляционные: Основаны на реляционной модели, используют нормализацию для уменьшения избыточности.
Нереляционные: Различные модели (документно-ориентированные, графовые, ключ-значение и т.д.), оптимизированные под конкретные типы данных и сценарии использования.
Язык запросов:
Реляционные: Используют SQL для запросов и манипуляций данными.
Нереляционные: Используют различные API и языки запросов, специфичные для конкретной базы данных.
ACID-транзакции:
Реляционные: Поддерживают ACID-транзакции, обеспечивая целостность данных при сложных операциях.
Нереляционные: Могут поддерживать частичную или ослабленную согласованность (например, BASE), жертвуя строгой целостностью ради производительности и масштабируемости.