# 32. Общие характеристики NoSQL баз данных

  1. Отказ от стандарта SQL (он есть, но со множеством отхождений)

  2. Schemaless (неструктурированность)

    Мы можем менять что-то в структуре данных уже по дороге

  3. Aggregates

    В противовес нормализованным SQL решениям мы пытаемся хранить данные как можно более сгруппированными (отмена декомпозиции)

    • Это связано с тем, что зачастую из миллиардов возможных комбинаций SQL запросов (аггрегатов таблиц), зачастую используется 30-50, отсюда и идея о том, чтобы сразу хранить данные в таком виде, в котором их было бы удобно запрашивать

    • Минус заключается в том, что при NoSQL, когда всё-таки приходится делать агрегат данных, приходится фактически просматривать полностью всю базу данных для построения результата запроса

  4. Weak ACID (Atomicity, Consistenss, Isolation, Durability)

    Транзакция в базе перестаёт сохранять указанные для неё в SQL свойства.

    • На смену ACID пришла другая модель BASE (Basic Avialability, Sost State, Eventual Consistens)

# BASE модель

  1. Каждый запрос гарантированно завершается
  2. Система может изменять данные даже без ввода или изменения данных извне
  3. Конечная непротиворечимость