कुशलता से पूछताछ में मेरे पास 64-बिट पूर्णांक के tuples (x,y)
का संग्रह है जो मेरा डेटासेट बनाते हैं। मैंने कहा है, इन tuples के ट्रिलियन; पृथ्वी पर किसी भी मशीन पर डेटासेट को स्मृति में रखना संभव नहीं है। हालांकि, उन्हें डिस्क पर स्टोर करना काफी उचित है।बी + ट्री होल्डिंग बहुआयामी डेटा
मेरे पास ऑन-डिस्क स्टोर (एक बी + -ट्री) है जो एक ही आयाम में डेटा की त्वरित, और समवर्ती, क्वेरीिंग की अनुमति देता है। हालांकि, मेरे कुछ प्रश्न दोनों आयामों पर भरोसा करते हैं।
क्वेरी उदाहरण:
- टपल जिसका
x
से अधिक या कुछ दिया मूल्य - टपल जिसका
x
खोजें से बराबर है का पता लगाएं संभव s.t. के रूप में के रूप में छोटा है यहy
किसी दिए गए मान से अधिक या उसके बराबर है - उस टुपल को ढूंढें जिसका
x
जितना संभव हो उतना छोटा है। यहy
कुछ दिया मूल्य - रखरखाव कार्रवाई करने से कम या बराबर है है (कुछ टपल डालने को दूर कुछ टपल)
सबसे अच्छा शर्त मैं पाया है जेड क्रम घटता रहे हैं, लेकिन मैं यह पता लगाने नहीं कर पा रहे मेरे दो आयामी डेटा-सेट दिए गए प्रश्नों का संचालन कैसे करें।
समाधान जो स्वीकार्य नहीं हैं, उनमें डेटा का क्रमिक स्कैन शामिल है, यह बहुत धीमा हो सकता है।
मुझे लगता है कि वे केवल प्रश्न उदाहरण थे, न कि उन प्रश्नों की पूरी श्रृंखला जो उन्हें चाहिए। उस ने कहा, दो चर के लिए, मुझे लगता है कि यह 4 अलग-अलग इंडेक्स (यानी, एक्स, वाई, एक्स + वाई और एक्स-वाई) पर है, इसलिए, सुनिश्चित करें। :) –
यह काम नहीं करता है, उदाहरण 2 लें: मैं सबसे कम 'x' संभव के साथ कम से कम 20 के' y' की तलाश में हूं। 'Y' और' x' को जोड़ना और 'y + x' के लिए क्वेरी से अधिक-या-बराबर-क्वेरी बनाना '20 + 0' जैसा दिखता है। यह '20 + 50' पा सकता है लेकिन' 21 + 10' से अधिक हो जाएगा। – user1290696
मेरा बुरा - मैं आपके प्रश्नों की ज़रूरतों को समझ नहीं पाया, जो वास्तव में 2 डी हैं। मैं एक और जवाब आज़माउंगा। – antlersoft