Что означает «мягкое состояние» в BASE? - PullRequest
33 голосов
/ 31 января 2011

BASE означает «Доступно в основном, Мягкое состояние, В конечном итоге непротиворечивый»

Итак, я зашел так далеко: «В основном доступно: система доступна, но не обязательно все элементы в ней в любой заданный момент времени» и «В конечном итоге согласованно: по истечении определенного времени все узлы становятся согласованными, но в любой момент времени это может быть не так "(пожалуйста, поправьте меня, если я ошибаюсь).

Но что именно подразумевается под «мягким состоянием»? Я пока не смог найти достойных объяснений в интернете.

Ответы [ 4 ]

24 голосов
/ 14 апреля 2011

Эта страница (изначально здесь , теперь доступна только из веб-архива ) может помочь:

[мягкое состояние] - это информация (состояние)пользователь поместил в систему, которая уйдет, если пользователь не будет поддерживать ее.Другими словами, срок действия информации истечет, если она не будет обновлена.

В отличие от этого, положение обычного простого выключателя света находится в «жестком состоянии».Если вы перевернете его, он останется на месте, возможно, навсегда.Он изменится только вниз, когда вы (или какой-либо другой пользователь) явно вернетесь, чтобы манипулировать им.

Аббревиатура BASE немного надумана, и большинству хранилищ NoSQL фактически не требуются данные дляобновляться таким образом.Есть другое объяснение , предполагающее, что мягкое состояние означает, что система изменит состояние без вмешательства пользователя из-за возможной согласованности (но тогда часть акронима с мягким состоянием является избыточной).

В некоторых случаях пользователь действительно должен обновлять состояние;например, в базе данных Cassandra NoSQL можно дать всем строкам время жизни, чтобы они стали полностью мягкими (они истекают, если не обновляются), но это необычный способ использования (по сути, временный кэш).

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

5 голосов
/ 13 июня 2012

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

2 голосов
/ 01 апреля 2016

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

Некий источник: ссылка

0 голосов
/ 11 декабря 2017

Система BASE отказывается от согласованности для повышения производительности базы данных. Следовательно, большинство известных баз данных nosql более мощные, чем ACID-совместимые реляционные базы данных.

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

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