Microsoft's documentation on NEWSEQUENTIALID
के अनुसार, NEWSEQUENTIALID का आउटपुट अनुमानित है। लेकिन अनुमानित अनुमानित क्या है? मान लें कि मेरे पास एक GUID है जो NEWSEQUENTIALID
द्वारा उत्पन्न किया गया था, यह कितना मुश्किल होगा:अनुमानित पूर्वानुमान कितना अनुमानित है?
- अगले मूल्य की गणना करें?
- पिछले मूल्य की गणना करें?
- पहले मूल्य की गणना करें?
- किसी भी GUID को जानने के बिना भी पहले मान की गणना करें?
- पंक्तियों की मात्रा की गणना करें? जैसे पूर्णांक का उपयोग करते समय,
/order?id=842
मुझे बताता है कि आवेदन में 842 ऑर्डर हैं।
नीचे कुछ पृष्ठभूमि जानकारी है जो मैं कर रहा हूं और विभिन्न ट्रेडऑफ क्या हैं।
सुरक्षा प्राथमिक कुंजी के रूप में GUID के पूर्ण पूर्णांक का उपयोग करने के लाभ यह है कि GUID का अनुमान लगाना मुश्किल है। जैसे कहें कि हैकर /user?id=845
जैसे यूआरएल को देखता है, वह /user?id=0
तक पहुंचने का प्रयास कर सकता है, क्योंकि यह संभव है कि डेटाबेस में पहला उपयोगकर्ता एक प्रशासनिक उपयोगकर्ता है। इसके अलावा, सभी उपयोगकर्ताओं को तेज़ी से इकट्ठा करने के लिए एक हैकर /user?id=0..1..2
से अधिक हो सकता है।
इसी प्रकार, गोपनीयता पूर्णांक के नकारात्मक पक्ष यह है कि वे जानकारी को रिसाव करते हैं। /order?id=482
मुझे बताता है कि इसके कार्यान्वयन के बाद से वेब शॉप में 482 ऑर्डर हैं।
दुर्भाग्यवश, GUID के प्राथमिक कुंजी के रूप में उपयोग करने से प्रदर्शन डाउनसाइड्स है। इस अंत तक, SQL सर्वर ने NEWSEQUENTIALID
फ़ंक्शन पेश किया। इस सवाल में, मैं जानना चाहता हूं कि NEWSEQUENTIALID
का आउटपुट कितना अनुमानित है।
उत्कृष्ट और पूरी प्रतिक्रिया! –