Объяснение терминологии BASE

Акроним BASE используется для описания свойств определенных баз данных, обычно баз данных NoSQL. Он часто упоминается как противоположность ACID.

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

Это оставляет мне несколько вопросов о определении:

B asically A vailable, S oft состояние, E ventual consistency

Я интерпретировал эти свойства следующим образом, используя эту статью и мое воображение:

В принципе доступный может ссылаться на воспринимаемую доступность данных. Если один node выходит из строя, часть данных будет недоступна, но весь уровень данных останется работоспособным.

  • Является ли эта интерпретация правильной или относится к чему-то еще?
  • Обновление: вывод Mau, может ли это означать, что весь слой данных всегда принимает новые данные, то есть сценарии блокировки которые предотвращают немедленное встраивание данных?

Мягкое состояние. Все, что я мог найти, - это концепция данных, требующих обновления периода. Без обновления данные истекают или будут удалены.

  • Автоматическое удаление данных в базе данных кажется мне странным.
  • Истекшие или устаревшие данные имеют больше смысла. Но эта концепция применима к любому типу избыточного хранилища данных, а не только к NoSQL. Описывает ли он что-то еще?

Конечная консистентность означает, что обновления со временем прорвутся на все серверы, учитывая достаточное время.

  • Это свойство мне понятно.

Может кто-нибудь подробно объяснить эти свойства?

Или это просто надуманный и бессмысленный акроним, который относится к понятиям кислот и оснований, найденным в химии?

Ответ 1

Аббревиатура BASE была определена Эрик Брюэр, который также известен тем, что формулирует теорема CAP.

Теорема CAP гласит, что распределенная компьютерная система не может гарантировать одновременно все три следующих свойства:

  • Согласованность
  • Наличие
  • Допуск на разделение

Система BASE отказывается от согласованности.

  • В принципе доступный указывает на то, что система гарантирует доступность в терминах теоремы CAP.
  • Мягкое состояние указывает, что состояние системы может меняться со временем, даже без ввода. Это связано с возможной моделью согласованности.
  • Конечная согласованность означает, что система станет последовательной с течением времени, учитывая, что система не получает ввод в течение этого времени.

Brewer действительно признает, что сокращен аббревиатура:

Я придумал акроним с моими учениками в их офисе в начале этого года. Я согласен, что это немного надуманно, но так же "ACID" - гораздо больше, чем люди понимают, поэтому мы решили, что это достаточно хорошо.

Ответ 2

Это связано с BASE: тип перемычки BASE всегда в основном доступен (для новых отношений), в мягком состоянии ( ни один из его отношений не длится очень долго) и в конечном итоге последователен (в один прекрасный день он выйдет замуж).

Ответ 3

  • Базовая доступность: база данных работает большую часть времени.

  • Мягкое состояние: магазины не должны быть согласованными по записи или взаимно согласованными все время.

  • Окончательная согласованность: данные всегда должны быть согласованными в отношении того, как выполняется любое количество изменений.

Ответ 4

Это может быть просто потому, что ACID - это один набор свойств, которые показывают вещества (в химии) и BASE - их набор дополнений. Таким образом, это может быть просто показать контраст между ними, который был составлен акроним, а затем "В принципе доступное состояние мягкого состояния в конечном итоге" было принято как полноформатное.

Ответ 5

Чтобы добавить к другим ответам, я думаю, что аббревиатуры были получены, чтобы показать шкалу между двумя терминами, чтобы различать, насколько надежны транзакции или запросы между RDMS и большими данными.

Из этой статьи кислота против основания

В химии pH измеряет относительную основность и кислотность водного раствора (растворитель в воде). Шкала рН простирается от 0 (сильно кислотные вещества, такие как аккумуляторная кислота) до 14 (сильнощелочные вещества, такие как ложь); чистая вода при температуре 77 ° F (25 ° C) имеет pH 7 и является нейтральной.

Инженеры по обработке данных умно позаимствовали кислоту и основание у химиков и создали аббревиатуры, которые, хотя и не являются точными по своему значению, все же являются точными представлениями о том, что происходит в данной системе баз данных, при обсуждении надежности обработки транзакций.

Еще один момент, так как я работаю с большими данными, используя Elasticsearch. Для пояснения, экземпляр Elasticsearch является узлом, а группа узлов образует кластер.

Для меня с практической точки зрения, BA (в основном доступно), в этом контексте, имеет идею нескольких главных узлов для обработки кластера Elasticsearch и его операций.

Если у вас есть 3 мастер-узла, и текущий направляющий мастер-узел отключается, система остается в рабочем состоянии, хотя и в менее эффективном состоянии, а другой ведущий узел занимает свое место в качестве основного направляющего мастер-узла. Если два главных узла выходят из строя, система все еще остается в рабочем состоянии, и последний мастер-узел вступает во владение.

Ответ 6

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

BASE означает -

  • Базовая доступность - база данных работает большую часть времени.
  • Мягкое состояние - хранилища не должны быть согласованными по записи, равно как и разные реплики не должны быть взаимно согласованными все время.
  • Окончательная согласованность - магазины демонстрируют согласованность на более позднем этапе (например, лениво во время чтения).

Поэтому BASE ослабляет согласованность, позволяя системе обрабатывать запросы даже в несогласованном состоянии.

Пример: никто не будет возражать, если их твит будет непоследовательным в их социальной сети в течение короткого периода времени. Более важно получить немедленный ответ, чем иметь согласованное состояние информации пользователей.