Назад | Перейти на главную страницу

Riak CS - Количество реплик

Из официальной документации Riak: «В системе Riak CS любой узел может отвечать на запросы клиентов - главного узла нет, и каждый узел имеет одинаковые обязанности. Поскольку данные реплицируются (по умолчанию три реплики на объект), другие узлы автоматически берут на себя ответственность отказавшие или не коммуникативные узлы, данные остаются доступными даже в случае отказа узла или сетевого раздела ».

Есть ли опыт, если три реплики на объект дают некоторые преимущества (скорость, безопасность) или можно использовать Riak без реплик (меньше места)?

С 0 репликами Riak по-прежнему с радостью хранит все ваши данные, но отключение одного узла (для обслуживания) приведет к недоступности некоторых ваших данных, а потеря узла приведет к потере данных.

Представьте себе следующие сценарии (оба используют гипотетический размер кольца 5)

5 узловых риак с 3 репликами

  • узел1
    • data1
    • данные2
    • data5
  • узел2
    • данные2
    • data3
    • data5
  • узел3
    • data1
    • data3
    • data4
  • узел4
    • данные2
    • data4
    • data3
  • узел5
    • data1
    • data4
    • data5

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

5 узловых риак с 0 репликами

  • узел1
    • data1
  • узел2
    • данные2
  • узел3
    • data3
  • узел4
    • data4
  • узел5
    • data5

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

У Basho есть неплохая документация, но это хорошее место для начала http://basho.com/posts/technical/understanding-riak_core-handoff/