2014-04-04 4 views
9

चूंकि कैसंड्रा डायनेमो पेपर (वितरित, स्वयं-संतुलन हैश तालिका) + बिगटेबल से बाहर है और वहां स्थानिक इंडेक्स हैं जो उस प्रतिमान (quadkey या geohash) में अच्छी तरह से फिट होंगे। क्या कोई कारण है कि भू-स्थानिक समर्थन लागू नहीं किया गया है?क्या कोई कारण है कि कैसंद्रा में भू-स्थानिक समर्थन नहीं है?

आप एक भू-पॉइंट डेटाटाइप को एक आंतरिक भूहाश के साथ एक टुपल के रूप में जोड़ सकते हैं और एक सीएफ निर्दिष्ट भौगोलिक डेटा के रूप में निर्दिष्ट कर सकते हैं। वहां से आप व्यवहार को चुन सकते हैं क्योंकि भौगोलिक डेटा द्वितीयक सूचकांक है, या एक असामान्य एससीएफ है। इससे भू-स्थानिक विकास के लिए जमीन का काम हो सकता है और आप कुछ कम लटकते फल जैसे .nearby() को कार्यान्वित करके शुरू कर सकते हैं जो एक ही geohash साझा करने वाले कॉलम वापस कर सकता है। (मुझे पता है कि आपको "निकटतम" नहीं देगा, आपको आस-पास के भूगर्भों का चलना होगा या उसके लिए एक आकार और एक स्पेस भरने की वक्र का उपयोग करना होगा जिसे बाद में लागू किया जा सकता है, लेकिन कुछ खोजने के लिए एक सामान्य ऑपरेशन है पास के कॉलम)

मुझे पता है कि सरलजीओ/शहरी एयरशिप ने कैसंद्रा में भू-समर्थन बनाया है, लेकिन ऐसा लगता है कि यह कभी खोला नहीं गया था। इसके अलावा, अगर मुझे यह पूछने के लिए कोई बेहतर जगह है (क्वारा, मेलिंग सूचियां, आदि ...)

+0

यहां क्वाडकी का एक पायथन कार्यान्वयन है यदि यह https://github.com/buckheroux/QuadKey – agentargo

+0

में मदद करता है, तो मुझे उत्सुकता है कि एक डीबी किसी ऐसे समस्या का समर्थन क्यों करेगा जो किसी विशेष समस्या डोमेन में केवल उपयोगी हो। उनमें से कुछ करते हैं, इसलिए एक अच्छा कारण होना चाहिए। लेकिन, जीनोमिक्स के लिए विशिष्ट डेटा प्रकारों का समर्थन करने के समान नहीं है? –

उत्तर

5

मुझे लगता है कि उत्तर में दो भाग हैं।

इसका कारण यह क्यों नहीं है, क्योंकि कोई भी जो कैसंद्रा में कोड नहीं करता है, इस विचार के बारे में सोचा है, या सोचा है कि इस क्षमता पर प्रमुख समय बिताने के लिए पर्याप्त प्राथमिकता है। कैसंद्रा में अधिकांश विकास डेटास्टैक्स द्वारा किया जाता है, और वे एक वाणिज्यिक इकाई होने के नाते, उपयोगकर्ता की मांगों और सुझावों के लिए गोपनीय हैं और नई सुविधाओं के संदर्भ में उन्हें सबसे ज्यादा आरओआई देने के बारे में बहुत व्यावहारिक हैं।

यदि उनके हाथों पर पर्याप्त समय के साथ पर्याप्त तीसरे पक्ष के डेवलपर (या एक टीम) थे, तो यह किया जा सकता था, और अवधारणात्मक रूप से सी * कमेटर्स को इस तरह की एक प्रमुख सुविधा जोड़ने की कोई समस्या नहीं होगी।

दूसरा पहलू यह है कि कैसंड्रा ब्लब्स (बाइट एरेज़) का समर्थन करता है, जिसका अर्थ है कि आप जो वर्णन कर रहे हैं वह क्लाइंट ऐप/ड्राइवर में अपेक्षाकृत सरल तरीके से कार्यान्वित किया जा सकता है। उस मामले में ड्राइव उचित कच्चे बाइट ऑपरेशंस में भू-कॉल का अनुवाद करने के लिए ज़िम्मेदार होगी। मुझे यह भी संदेह है कि कोर स्टोरेज इंजन में ऑपरेटरों के प्रासंगिक सेट के साथ एक नए नए डेटा आदिम का समर्थन करने से यह कम काम होगा।

संबंधित मुद्दे

 संबंधित मुद्दे