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


170

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

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

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

B asically A доступный, S часто состояние, E вентуальная последовательность

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

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

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

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

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

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

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

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

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

Ответы:


194

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

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

  • консистенция
  • Доступность
  • Допуск раздела

БАЗОВАЯ система отказывается от согласованности.

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

Брюэр признает, что акроним придуман :

Я придумал аббревиатуру [BASE] со своими студентами в их офисе в начале этого года. Я согласен, что это немного надумано, но так же как и «КИСЛОТА» - гораздо больше, чем думают люди, поэтому мы решили, что это достаточно хорошо.


33
Доступность в основном НЕ гарантирует доступность. это означает, что он в основном доступен, но серверы могут не работать по разным причинам.
DarthVader

@Neils, ACID отказывается от доступности или допустимого отклонения?
Pacerier

@Pacerier, вот где теорема CAP начинает показывать свои недостатки :) Если система гарантирует допуск раздела, она жертвует доступностью в случае раздела. Если система гарантирует доступность, она отказывается от допуска раздела, что означает, что раздел сделает систему недоступной (или несовместимой). Таким образом, вы можете видеть, что «доступность» и «допуск раздела» идут рука об руку. Там больше подробно об этом в этой статье .
Нильс ван дер Рест

1
Научно, но по моим наблюдениям, когда речь идет о веб-сервисах, ACID чаще всего ассоциируется с SOAP, а BASE более тесно связан с сервисами REST (RESTful). А для более тонкой дискуссии о возможной последовательности см. Дебаты между сторонниками MongoDB и CouchDB.
Чарльз Росс

«Теорема» CAP математически (но очень легко читается) разбирается и обсуждается уникальным способом Марком Берджессом , чью статью я читаю. (Я был связан там в первую очередь с Википедией .)
Wildcard

45

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


Итак, вы говорите, что базы данных ACID намного лучше, чем BASE?
Pacerier

2
Ну и наоборот, BASE всегда веселее.
Мау

8
Ну, это на самом деле мой ежедневный хлеб, и если вы хотите серьезного ответа, КИСЛОТА.
Мау

1
@Pacerier Эрик Брюэр хо ввел термин БАЗЫ, указывает на то, что в то время как банки и финансовые учреждения говорить об ограничениях ACID, на самом деле, они не являются строго говоря ( highscalability.com/blog/2013/5/1/... )
andand

2
@Pacerier и Mau, а как насчет NewSQL? Вы бы предпочли NoSQL (BASE) и реляционный (ACID)?
Борис Моциалов

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

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

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


4

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

BASE означает -

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

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

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


1
Последовательная последовательность фактически оказывает нежелательное влияние. Вы когда-нибудь испытывали замедление чата Linkedin? Вы отвечаете одним предложением, а затем отвечаете другим. Затем из-за возможной согласованности или отсутствия надлежащего их выполнения вы в конечном итоге переключаете два ответа. Да, в итоге вы получили 2 ответа в чате, но они не в указанном порядке.
zmechanic

2

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

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

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

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

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

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

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


0

Это может быть просто потому, что ACID является одним набором свойств, которые проявляют вещества (в химии), а BASE является их дополнительным набором. Таким образом, это может быть просто показать контраст между этими двумя элементами, из которых была составлена ​​аббревиатура, и затем «По существу доступный». Мягкое состояние «Окончательная согласованность» было решено, поскольку это полная форма.


2
Это может объяснить, как появилась аббревиатура, но не объясняет, что означают различные свойства .
JMB

Использование таких слов, как «В основном», которые даже не имеют существенного значения с точки зрения значения, которое они вносят, говорит о том, что сначала было выбрано сокращение (ACID против BASE), а затем были найдены слова, которые как бы заполняют части акронима. , Вероятно, поэтому мы не находим столько объяснений и ссылок (по сравнению со словами из ACID, объяснение которых вы можете найти на каждой странице, где говорится о СУБД), что означают эти слова.
siebenheaven

Я нахожу это интересным правильным, так как «По существу доступный» кажется таким вынужденным.
Рикардо Педрони
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.