हाय-लो आवंटक से बेहतर, "रैखिक चंक" आवंटक है। यह एक समान टेबल-आधारित सिद्धांत का उपयोग करता है लेकिन छोटे, आसानी से आकार वाले हिस्सों को आवंटित करता है & अच्छे मानव-अनुकूल मूल्य उत्पन्न करता है। करने के लिए
select NEXT from KEY_ALLOC where SEQ=?;
update KEY_ALLOC set NEXT=(old value+20) where SEQ=? and NEXT=(old value);
यह कि इस सौदे के लिए प्रतिबद्ध कर सकते हैं प्रदान करना (उपयोग पुनर्प्रयास:
create table KEY_ALLOC (
SEQ varchar(32) not null,
NEXT bigint not null,
primary key (SEQ)
);
अगले, कहते हैं, 20 चाबियाँ (जो तब की जरूरत के रूप में इस्तेमाल सर्वर & में एक सीमा के रूप में आयोजित की जाती हैं) का आवंटन करने के लिए विवाद को संभालें), आपने आवंटित 20 कुंजी & आवश्यकतानुसार उन्हें वितरित कर सकते हैं।
केवल 20 के एक खंड के आकार के साथ, यह योजना ओरेकल अनुक्रम से आवंटित करने से 10x तेज है, और सभी डेटाबेस के बीच 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
मैं वास्तव में 90 के दशक में वापस श्री Ambler साथ पत्राचार किया उसे करने के लिए इस सुधार योजना का सुझाव देना है, लेकिन वह भी फंस गया था & फायदे का उपयोग करने का & स्पष्ट सादगी स्वीकार करने के लिए जिद्दी एक रैखिक संख्या रेखा।
डिजाइन-वार, कोई समाधान तुलनात्मक लाभ प्राप्त करते समय Linear_Chunk की तुलना में उनका समाधान मूल रूप से संख्या-रेखा (समग्र कुंजी, बड़े hi_word उत्पादों) पर अधिक जटिल है। इस प्रकार उनका डिजाइन गणितीय साबित हुआ है।
क्या आप कह रहे हैं कि "निम्न श्रेणियां" क्लाइंट के भीतर समन्वयित होती हैं, जबकि "उच्च अनुक्रम" एक डीबी अनुक्रम से मेल खाता है? –
यूप, यह मूल रूप से यह है। –
क्या हाय और लो मान आमतौर पर एक एकल पूर्णांक मान में बने होते हैं, या दो-भाग वाली व्यावसायिक कुंजी के रूप में? –