Приложения

Отказ от ACID в пользу BASE в области разработки баз данных

Реляционные базы данных спроектированы с учетом надежности и согласованности. Разработчики, которые разработали их, сосредоточились на транзакционной модели, которая гарантирует, что четыре принципа модели ACID всегда будут сохранены. Однако появление новой неструктурированной модели базы данных ставит ACID с ног на голову. Модель базы данных NoSQL отказывается от высокоструктурированной реляционной модели в пользу гибкого подхода ключ / значение. Этот неструктурированный подход к данным требует альтернативы модели ACID: модель BASE.

Основные принципы модели ACID

Существует четыре основных принципа модели ACID:

Основные принципы BASE

С другой стороны, базы данных NoSQL охватывают ситуации, когда модель ACID избыточна или фактически препятствует работе базы данных. Вместо этого NoSQL опирается на более мягкую модель, известную, соответственно, как модель BASE. Эта модель учитывает гибкость, предлагаемую NoSQL, и аналогичные подходы к управлению и хранению неструктурированных данных. BASE состоит из трех принципов:

  • Базовая доступность . Подход к базе данных NoSQL фокусируется на доступности данных даже при наличии множества сбоев. Это достигается путем использования распределенного подхода к управлению базами данных. Вместо того чтобы поддерживать одно большое хранилище данных и сосредоточиться на отказоустойчивости этого хранилища, базы данных NoSQL распределяют данные по многим системам хранения с высокой степенью репликации. В маловероятном случае, если сбой нарушает доступ к сегменту данных, это не обязательно приводит к полному отключению базы данных.
  • Soft State . Базы данных BASE практически полностью отказываются от требований согласованности модели ACID. Одна из основных концепций, лежащих в основе BASE, заключается в том, что согласованность данных является проблемой разработчика и не должна обрабатываться базой данных.
  • Возможная последовательность . Единственное требование, которое базы данных NoSQL имеют в отношении согласованности, — это требование, чтобы в какой-то момент в будущем данные сходились в согласованное состояние. Однако нет никаких гарантий относительно того, когда это произойдет. Это полное отклонение от требования немедленной согласованности ACID, которое запрещает выполнение транзакции до тех пор, пока предыдущая транзакция не будет завершена и база данных не приблизится к согласованному состоянию.

В BASE базовая доступность может означать, что вы даже не контролируете источники данных — например, вы можете связываться с общедоступными наборами данных для части ваших усилий.

Относительные случаи использования

Модель BASE не подходит для каждой ситуации, но она, безусловно, является гибкой альтернативой модели ACID для баз данных, которые не требуют строгого соблюдения реляционной модели.

Оптимальные варианты использования для баз данных, использующих ACID, зависят от высоко структурированных данных с предсказуемыми входными и выходными данными. Таким образом, базы данных человеческих ресурсов, розничные базы данных и электронные медицинские карты получают пользу от надежной внутренней проверки согласованности, которую предлагает ACID.

Похожие посты
Приложения

34 лучших бесплатных программных инструмента для резервного копирования

Приложения

Лучшие онлайн-инструменты для встреч

Приложения

11 лучших бесплатных почтовых аккаунтов

Приложения

7 бесплатных языков программирования для обучения детей кодированию