लो एक कैश्ड एलोकेटर है जो कीस्पेस को बड़ी मात्रा में विभाजित करता है, जो आमतौर पर सार्थक आकार की सीमाओं (जैसे एक समय में 200 कुंजी प्राप्त करना) के बजाय कुछ मशीन शब्द के आकार पर आधारित होता है, जिसे मानव समझदारी से चुन सकता है।
हाई-लो उपयोग सर्वर पुनरारंभ पर बड़ी संख्या में कुंजियों को बर्बाद करने और बड़े मानव-प्रमुख कुंजी मान उत्पन्न करता है।
हाय-लो आवंटनकर्ता की तुलना में बेहतर, "रैखिक चंक" आवंटनकर्ता है। यह एक समान तालिका-आधारित सिद्धांत का उपयोग करता है, लेकिन छोटे, आसानी से आकार के आकार को आवंटित करता है और अच्छे मानव-अनुकूल मूल्य उत्पन्न करता है।
create table KEY_ALLOC (
SEQ varchar(32) not null,
NEXT bigint not null,
primary key (SEQ)
);
अगला, आवंटित करने के लिए, 200 कुंजियाँ (जो तब सर्वर में एक श्रेणी के रूप में रखी जाती हैं और आवश्यकतानुसार उपयोग की जाती हैं):
select NEXT from KEY_ALLOC where SEQ=?;
update KEY_ALLOC set NEXT=(old value+200) where SEQ=? and NEXT=(old value);
आप इस लेनदेन को प्रदान कर सकते हैं (विवाद को संभालने के लिए पुनर्प्रयास का उपयोग करें), आपने 200 कुंजी आवंटित की हैं और आवश्यकतानुसार उन्हें निकाल सकते हैं।
सिर्फ 20 के एक चंक-आकार के साथ, यह योजना ओरेकल अनुक्रम से आवंटित करने की तुलना में 10 गुना तेज है, और सभी डेटाबेस के बीच 100% पोर्टेबल है। आवंटन प्रदर्शन हाय-लो के बराबर है।
एंबलर के विचार के विपरीत, यह कुंजी क्षेत्र को एक सन्निहित रैखिक संख्या के रूप में मानता है।
यह कम्पोज़िट कुंजियों के लिए आवेग से बचा जाता है (जो कि वास्तव में एक अच्छा विचार नहीं था) और सर्वर के पुनरारंभ होने पर पूरे लो-वर्ड को बर्बाद करने से बचा जाता है। यह "मैत्रीपूर्ण", मानव-स्तर के प्रमुख मूल्यों को उत्पन्न करता है।
श्री अम्बलर का विचार, तुलनात्मक रूप से, उच्च 16- या 32-बिट्स को आवंटित करता है, और बड़े मानव-अमित्र प्रमुख मूल्यों को हाय-शब्द वृद्धि के रूप में उत्पन्न करता है।
आवंटित कुंजियों की तुलना:
Linear_Chunk Hi_Lo
100 65536
101 65537
102 65538
.. server restart
120 131072
121 131073
122 131073
.. server restart
140 196608
डिज़ाइन-वार, उसका समाधान मौलिक रूप से संख्या-लाइन (समग्र कुंजियों, बड़े hi_word उत्पादों) पर रैखिक तुलना में अधिक जटिल है, जबकि कोई तुलनात्मक लाभ प्राप्त नहीं हुआ है।
हाय-लो डिज़ाइन OO मैपिंग और हठ में जल्दी पैदा हुआ। इन दिनों हाइबरनेट जैसी दृढ़ता रूपरेखा उनके डिफ़ॉल्ट के रूप में सरल और बेहतर आवंटन प्रदान करती है।