إليك كيفية عمل Sharding للبيانات في Redis Cluster:
Redis Cluster Sharding
تستخدم Redis Cluster آلية تقطيع مدمجة لتقسيم البيانات تلقائيًا عبر عقد Redis المتعددة. الجوانب الرئيسية لكيفية عمل هذا:
1. تقسيم المفاتيح: يتم تقسيم مساحة المفاتيح بأكملها في مجموعة Redis إلى 16،384 فتحة التجزئة. هذه فتحات التجزئة هي المسؤولة عن توزيع البيانات عبر الكتلة.
2. تعيين فتحات التجزئة: يتم تعيين كل عقدة redis في الكتلة مجموعة فرعية من فتحات التجزئة 16،384. يتم تعيين فتحات التجزئة للعقد من خلال وظيفة التجزئة.
3. وضع البيانات: عندما يريد العميل تخزين زوج القيمة الرئيسية ، يحسب العميل قيمة تجزئة للمفتاح باستخدام وظيفة التجزئة المحددة مسبقًا. ثم يتم تعيين قيمة التجزئة هذه إلى واحدة من فتحات التجزئة 16384. ثم يتم تخزين البيانات على عقدة redis التي تمتلك هذه الفتحة.
4. النسخ المتماثل: لكل فتحة تجزئة ، هناك عقدة أساسية مسؤولة عن طلب طلبات القراءة/الكتابة. بالإضافة إلى ذلك ، هناك واحد أو أكثر من العقد المتماثلة التي تحافظ على نسخة من البيانات من أجل توفرها العالي.
5. إعادة التوحيد التلقائي: حيث تتم إضافة العقد أو إزالتها من الكتلة ، يتم إعادة توازن تعيينات فتحة التجزئة تلقائيًا لضمان توزيع بيانات وحملها عبر المجموعة.
فوائد Redis Cluster Sharding
1. قابلية التوسع: من خلال توزيع البيانات عبر عقد متعددة ، يمكن أن تتوسع مجموعة Redis للتعامل مع كميات كبيرة من البيانات والإنتاجية العالية.
2. توفر مرتفع: تكرار فتحات التجزئة عبر العقد الأولية والنسخة المتماثلة يضمن توافرًا مرتفعًا ، حيث يمكن للعملاء مواصلة الوصول إلى البيانات حتى إذا فشلت بعض العقد.
3. وصول العميل الشفاف: يتم التعامل مع رسم الخرائط للتجزئة بشفافية بواسطة مجموعة Redis ، بحيث يمكن للعملاء الوصول إلى البيانات دون الحاجة إلى معرفة تفاصيل التقشير الأساسي.
4. الإدارة التلقائية: تقوم Redis Cluster بأتمتة إدارة Sharding ، بما في ذلك إعادة التوازن مع تنمو المجموعة أو تتقلص.
بشكل عام ، تسمح بنية Redis Cluster بتوفير مخزن بيانات موزع للغاية قابل للتطوير ومتوفر وسهل الإدارة ، مما يجعله مناسبًا تمامًا للتطبيقات ذات الأحجام الكبيرة أو متطلبات الإنتاجية العالية.
الاستشهادات:[1]
[2]
[3] https://yandex.cloud/en/docs/managed-redis/concepts/sharding
[4] https://redisson.org/glossary/sharding.html
[5] https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachenodes.nodegroups.html