Riak CS - Количество реплик
Из официальной документации Riak: "В системе Riak CS любой узел может отвечать на запросы клиентов - нет главного узла, и каждый узел имеет одинаковые обязанности. Поскольку данные реплицируются (три реплики на объект по умолчанию), и другие узлы автоматически берут на себя ответственность за неисправные или не коммуникативные узлы, данные остаются доступными даже в случае отказа узла или сетевого раздела ".
Есть ли опыт, если три реплики на объект приносят какие-то преимущества (скорость, безопасность) или можно использовать Riak без реплик (меньше места)?
1 ответ
Имея 0 реплик, Riak будет по-прежнему счастливо хранить все ваши данные, но отключение одного узла (для обслуживания) приведет к тому, что некоторые ваши данные будут недоступны, а потеря узла приведет к потере данных.
Представьте себе следующие сценарии (оба используют гипотетический размер кольца 5)
Риак из 5 узлов с 3 репликами
- node1
- data1
- data2
- данные 5
- node2
- data2
- data3
- данные 5
- node3
- data1
- data3
- Data4
- node4
- data2
- Data4
- data3
- node5
- data1
- Data4
- данные 5
Если узел 3 выключен, все данные все еще доступны на 2 других узлах. Все еще можно прочитать или записать, и когда оно вернется, изменения будут перенесены по мере необходимости.
Риак из 5 узлов с 0 репликами
- node1
- data1
- node2
- data2
- node3
- data3
- node4
- Data4
- node5
- данные 5
В этом случае, если узел 3 выключен, все данные, которые были на нем, становятся недоступными, и, если узел полностью потерян, данные также будут потеряны.
У Basho есть довольно хорошая документация, но это хорошее место для начала http://basho.com/posts/technical/understanding-riak_core-handoff/