Сохраняет ли Couchbase данные?

Я планирую хранить данные в кластере диван-база.

Я хотел бы знать, что произойдет, если моя диванная база выйдет из строя в следующих сценариях: [Учитывайте, что не было активных транзакций]

  1. Узел выходит из кластера. (Мое предположение состоит в том, что после того, как узел будет исправлен и запущен, он будет синхронизироваться с другими узлами, и данные будут там). Кроме того, дайте мне знать, после синхронизации будут ли потери данных?
  2. Кластер вышел из строя, исправлен и перезапущен.

Пожалуйста, дайте мне знать аналогию сохранения данных для вышеуказанных сценариев.


person Apurv Nerlekar    schedule 07.08.2017    source источник
comment
Я не уверен, насколько хорошей была бы база данных, если бы она не сохраняла данные...   -  person Flimzy    schedule 08.08.2017


Ответы (1)


Да, Couchbase сохраняет данные на диск. Он записывает операции изменения в файлы только для добавления на узлах службы данных.

Потеря данных маловероятна для ваших двух сценариев, поскольку нет активных транзакций.

Потеря данных может произойти, если узел выйдет из строя

  • при сохранении изменения на диске или

  • перед завершением репликации на другой узел, если ведро поддерживает реплики.

Пример: кластер из трех узлов с репликацией

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

  1. Когда узел выходит из строя, около трети активных копий и реплик становятся недоступными.

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

    Б. Если на узле произошел сбой, то реплики активных документов на отказавшем узле станут активными. Потеря данных произойдет, если репликация была неполной, когда узел вышел из строя.

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

  2. Когда кластер выходит из строя, может произойти потеря данных из-за сбоя диска.

person Jeff Kurtz    schedule 08.08.2017
comment
@Flimzy, Couchbase 5.0 Beta имеет Эфемерный Сегменты, которые не используют дисковое хранилище: это альтернатива сегментам Couchbase, которые можно использовать, когда не требуется постоянство: например, когда повторный доступ к диску требует слишком больших накладных расходов. Это обеспечивает высокую стабильную производительность в памяти без колебаний на диске. Это также позволяет быстрее перебалансировать и перезапускать узлы. - person Jeff Kurtz; 08.08.2017
comment
Спасибо, Джефф. Так что, если не считать сбоя диска, его можно использовать. Мой вариант использования заключался в использовании кушетки в качестве кеша, поэтому я хотел знать механизм сохранения. Спасибо за Ваш ответ. @Flimzy, я обязательно проверю документацию об эфемерных ведрах. - person Apurv Nerlekar; 23.08.2017