سؤال

  1. هل يعرف أي شخص الفرق بين تكرار Redis و Redis Sharding؟
  2. ماذا يستخدمون؟ Redis يخزن البيانات في الذاكرة ، كيف يؤثر هذا على النسخ المتماثل/التقش؟
  3. هل من الممكن استخدام كلاهما معًا؟

شكرًا لك!

هل كانت مفيدة؟

المحلول

Sharding هو نقيض النسخ المتماثل تقريبًا ، على الرغم من أنها مفاهيم متعامدة وتعمل بشكل جيد معًا.

Sharding ، المعروف أيضًا باسم التقسيم ، يقسم البيانات بواسطة المفتاح ؛ في حين أن النسخ المتماثل ، المعروف أيضًا باسم النسخ المتطابق ، هو نسخ جميع البيانات.

يعد SHARDING مفيدًا لزيادة الأداء ، مما يقلل من الضربة والذاكرة على أي مورد واحد. النسخ المتماثل مفيد لارتفاع توافر القراءات. إذا قرأت من نسخ متماثلة متعددة ، فسوف تقلل أيضًا من معدل الضغط على جميع الموارد ، لكن متطلبات الذاكرة لجميع الموارد تظل كما هي. تجدر الإشارة إلى أنه بينما يمكنك الكتابة إلى العبد ، فإن النسخ المتماثل هو Master-> Slave فقط. لذلك لا يمكنك التوسع في الكتابة بهذه الطريقة.

لنفترض أن لديك tuples التالية: [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.

عادة ما يتم تنفيذ Sharding من خلال أداء تجزئة متسقة على المفتاح. تم تنفيذ المثال أعلاه مع وظيفة التجزئة التالية H (x) {return x ٪ 2 == 0؟ a: b}.

للجمع بين المفاهيم ، قد نكرر كل قشرة. في الحالات المذكورة أعلاه ، يمكن تكرار جميع البيانات (2،4) من الجهاز A على الجهاز C ويمكن تكرار جميع البيانات (1،3) من الجهاز B على الماكينة D.

أي متجر قيمة رئيسي (من مثال واحد فقط منه) يدعم Sharding ، على الرغم من أن بعض الوظائف المتقاطعة لن تعمل بعد الآن. Redis يدعم النسخ المتماثل خارج الصندوق.

نصائح أخرى

بالكلمات البسيطة ، فإن الفرق الأساسي بين المفهومين هو أن Sharding يستخدم لتوسيع نطاق الكتابة أثناء استخدام النسخ المتماثل لتوسيع نطاق القراءات. كما ذكر Alex بالفعل ، فإن النسخ المتماثل هو أيضًا أحد الحلول لتحقيق HA.

نعم ، يتم استخدام كلاهما معًا إذا كنت تفكر في كيفية تكرار شظايا عبر العقد في الكتلة.

فيما يتعلق بسؤالك الثالث ، بدلاً من خيار RAM-Flush ، من الأفضل استخدام ملف Redis Aspend فقط (AOF). بتكلفة بسيطة فقط (من حيث سرعة الكتابة) ، تحصل على مزيد من الموثوقية لكتسبك. هو تماما مثل السجل الثنائي mySQL. 1 FSYNC/Second هو الخيار الموصى به للاستخدام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top