Репликация Redis и советы sharding (кластерное) различие

  1. Кто-либо знает различие между репликацией советов и советами sharding?
  2. Что, они используют для? Redis хранит данные в памяти, как это влияет на replication/sharding?
  3. Действительно ли возможно использовать их обоих вместе?

Спасибо!

45
задан KARASZI István 8 November 2011 в 10:40
поделиться

1 ответ

Шардинг - это почти полная противоположность репликации, хотя они ортогональны и хорошо работают вместе.

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

Шардинг полезен для увеличения производительности, уменьшения количества обращений и нагрузки на память любого ресурса. Репликация полезна для обеспечения высокой доступности чтения. Если вы читаете из нескольких реплик, вы также уменьшите процент совпадений для всех ресурсов, но требования к памяти для всех ресурсов останутся прежними. Следует отметить, что, хотя вы можете писать на подчиненное устройство, репликация выполняется только в режиме главный-> подчиненный. Таким образом, вы не можете масштабировать запись таким образом.

Предположим, у вас есть следующие кортежи: [1: Apple], [2: Banana], [3: Cherry], [4: Durian] и у нас есть две машины A и B. С Sharding мы можем хранить ключи 2 , 4 на машине А; и ключи 1,3 на машине B. При репликации мы храним ключи 1,2,3,4 на машине A и 1,2,3,4 на машине B.

Шардинг обычно реализуется путем выполнения согласованного хеширования на ключ. Приведенный выше пример был реализован с помощью следующей хеш-функции h (x) {return x% 2 == 0? A: B}.

Чтобы объединить концепции, мы можем реплицировать каждый сегмент. В приведенных выше случаях все данные (2,4) машины A могут быть реплицированы на машине C, и все данные (1,3) машины B могут быть реплицированы на машине D.

Любой ключ-значение store (из которых Redis является только одним примером) поддерживает сегментирование, хотя некоторые функции перекрестных клавиш больше не будут работать. Redis "из коробки" поддерживает репликацию.

122
ответ дан 26 November 2019 в 20:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: