مع إصدار هيكل بيانات MemoryStoreHashMap، قامت Roblox بإزالة جميع الحدود الموجودة لهياكل البيانات الفردية واستبدلتها بحد واحد عالمي "لكل قسم". يتقلب الحد الدقيق بناءً على القيم الداخلية وكيفية توزيع عملية التقسيم التلقائي لبياناتك، ولكن بشكل عام يسمح باستخدام أكبر بكثير قبل فرض القيود، خاصة بالنسبة لخرائط التجزئة. يتيح هذا الحد الجديد استخدامًا مرنًا لمخازن الذاكرة عبر جميع هياكل البيانات.
الأقسام
تخزن واجهة برمجة تطبيقات MemoryStores البيانات في الأقسام، التي هي مجرد تقسيمات للتخزين. في كل مرة تقوم فيها بكتابة عنصر في مخزن الذاكرة، يتم تخزين ذلك العنصر على قسم واحد فقط. تتم إدارة الأقسام بالكامل بواسطة واجهة برمجة تطبيقات MemoryStores؛ لا تحتاج إلى إدارتها بنفسك.
تعيين الأقسام
يختلف تخزين الأقسام حسب هيكل البيانات الذي يتم تخزين العنصر عليه. بالنسبة للخرائط المرتبة والطوابير، يتم تعيين هيكل بيانات واحد فقط لقسم واحد.
على سبيل المثال، اعتبر لعبة كرنفالية بها خريطة مرتبة تُدعى PlayerScores وطابور يُدعى PlayerLine يتكون من اللاعبين الذين ينتظرون للعب اللعبة:

على عكس الخرائط المرتبة والطوابير، يتم تخصيص أجزاء متعددة لخرائط التجزئة، ويتم توزيع البيانات تلقائيًا عبر هذه الأقسام. إذا كنت ستضيف خريطة تجزئة تُدعى Prizes، قد تبدو الأقسام كما يلي:

لاحظ كيف أن خريطة التجزئة موجودة في جميع الأقسام، وكل قسم يحتوي على بعض العناصر الفرعية.
الحدود
يسمح وجود حد لكل قسم بزيادة معدل النقل لجميع هياكل البيانات. كما أنه يفضل خرائط التجزئة، لأنها موزعة عبر جميع الأقسام.
على سبيل المثال، افترض وجود حد لكل قسم يبلغ 50,000 طلب في الدقيقة (RPM):
- في أفضل الحالات، يتم تحديد خريطة مرتبة وطابور على 50,000 RPM، لأن كل منهما يقيم في قسم واحد.
- يتم توزيع الطلبات على خرائط التجزئة عبر مفاتيح العناصر، التي هي نفسها موزعة عبر الأقسام، لذا يمكن أن تحتوي خرائط التجزئة على حد فعال أعلى بكثير قبل فرض القيود، عدة مرات مقارنة بهياكل البيانات الأخرى بشرط انتشار الطلبات عبر العديد من مفاتيح العناصر.
- على الرغم من أن خرائط التجزئة يمكن أن تحقق معدل نقل أعلى بشكل عام من خلال توزيع الطلبات عبر الأقسام، لا تزال مفاتيح العناصر الفردية محددة بمعدل للحفاظ على استقرار النظام. إذا كانت معظم حركة المرور تستهدف مفتاح عنصر واحد، قد يتم فرض قيود على ذلك المفتاح.
- للتوسع بفاعلية وتجنب هذه الحدود المرتبطة بكل مفتاح، نفذ تقطيع المفاتيح. وزع القراءات والكتابات بشكل متساوٍ عبر العديد من مفاتيح العناصر لتقليل الاختناقات والحفاظ على أداء سلس.

لهذا السبب، إذا لم تكن بحاجة إلى فرز أو وظيفة "الأول في الأول خارج"، فإن خرائط التجزئة عادة ما تكون الخيار الأفضل لهياكل بيانات مخزن الذاكرة. لمزيد من المعلومات، راجع أفضل الممارسات.