BASE Модель разработки базы данных

Оглавление:

BASE Модель разработки базы данных
BASE Модель разработки базы данных
Anonim

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

Image
Image

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

Есть четыре основных принципа модели ACID:

  • атомарность транзакций гарантирует, что каждая транзакция базы данных представляет собой единую единицу, использующую подход к выполнению «все или ничего». Если какой-либо оператор в транзакции завершается ошибкой, выполняется откат всей транзакции.
  • Реляционные базы данных также обеспечивают согласованность каждой транзакции с бизнес-правилами базы данных. Если какой-либо элемент атомарной транзакции нарушит согласованность базы данных, вся транзакция завершится ошибкой.
  • Ядро базы данных обеспечивает изоляцию между несколькими транзакциями, происходящими в одно и то же время или почти одновременно. Каждая транзакция происходит либо до, либо после любой другой транзакции, и представление базы данных, которое транзакция видит в своем начале, изменяется только самой транзакцией до ее завершения. Ни одна транзакция не должна видеть промежуточный продукт другой транзакции.
  • Последний принцип ACID, долговечность, гарантирует, что после фиксации транзакции в базе данных она будет постоянно сохранена за счет использования резервных копий и журналов транзакций. В случае сбоя эти механизмы могут быть использованы для восстановления зафиксированных транзакций.

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

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

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

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

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

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

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

Тем не менее, решения BASE лучше подходят для нечетких тем, таких как анализ настроений. Например, проект со структурой BASE может сканировать ленту Twitter в поисках слов, обозначающих эмоции, на основе определенного хэштега. Канал Twitter плохо структурирован и не создается локально, но поток данных предлагает информацию, запрограммированную в запросах, даже если объем и природа этих данных не четко ограничены.

Рекомендуемые: