मैं एक बड़े भू-स्थानिक डेटा सेट के लिए एक नई प्रणाली तैयार करने की प्रक्रिया में हूं, जिसके लिए तेजी से पढ़े जाने वाले क्वेरी प्रदर्शन की आवश्यकता होगी। इसलिए मैं यह देखना चाहता हूं कि क्या किसी को लगता है कि यह संभव है या उसके पास उपयुक्त DBMS, डेटा संरचना, या वैकल्पिक तरीकों के बारे में अनुभव / सलाह है, जो निम्न स्थिति में आवश्यक प्रदर्शन प्राप्त कर सकता है:
संसाधित सैटेलाइट रडार डेटा से डेटा लगातार उत्पादित किया जाएगा, जिसमें वैश्विक कवरेज होगा। दुनिया के उपग्रह संकल्प और भूमि कवरेज के आधार पर, मैं अनुमान लगाता हूं कि विश्व के 75 बिलियन असतत स्थानों पर मूल्यों का उत्पादन करने के लिए पूरा डेटा सेट है। एक एकल उपग्रह के जीवन काल के दौरान, इन स्थानों में से प्रत्येक में 300 मानों का उत्पादन होगा (इसलिए कुल डेटा सेट> 22 ट्रिलियन मान)। यह एक उपग्रह के लिए है, और पहले से ही कक्षा में एक दूसरा है, नए दो वर्षों में एक और दो की योजना बनाई गई है। तो बहुत सारा डाटा होगा! एक एकल डेटा आइटम बहुत सरल है और इसमें केवल (देशांतर, अक्षांश, मूल्य) शामिल होंगे, लेकिन आइटमों की संख्या के कारण मैं 100TB तक के उत्पादन के लिए एकल उपग्रह का अनुमान लगाता हूं।
लिखित डेटा को अद्यतन करने की आवश्यकता नहीं होनी चाहिए, क्योंकि यह केवल बढ़ेगा क्योंकि नए उपग्रह अधिग्रहण संसाधित होते हैं। प्रदर्शन लिखना महत्वपूर्ण नहीं है, लेकिन पढ़ना प्रदर्शन महत्वपूर्ण है। इस परियोजना का लक्ष्य एक सरल इंटरफ़ेस के माध्यम से डेटा की कल्पना करने में सक्षम होना है जैसे कि गूगल मैप्स पर एक परत, जहां प्रत्येक बिंदु का औसत, ग्रेडिएंट या समय के साथ कुछ फ़ंक्शन के आधार पर रंगीन मान होता है। (पोस्ट के अंत में डेमो)।
इन आवश्यकताओं से, डेटाबेस को मापनीय बनाने की आवश्यकता है और हमें क्लाउड समाधानों की ओर देखने की संभावना है। सिस्टम को भू-स्थानिक प्रश्नों से निपटने में सक्षम होना चाहिए जैसे कि "अंक पास (अव्यक्त, लोन)" और "अंक (बॉक्स) के भीतर" ", और एक बिंदु का पता लगाने के लिए <1s का प्रदर्शन पढ़ा है, और बहुभुज जो सम्मिलित हैं 50,000 अंक (हालांकि 200,000 तक अंक बेहतर होंगे)।
अब तक मेरे पास 111 मिलियन स्थानों पर ~ 750 मिलियन डेटा आइटम का एक परीक्षण डेटा सेट है। मैंने एक पोस्टग्रैज / पोस्टगिस उदाहरण का परीक्षण किया है, जो ठीक काम किया है, लेकिन इसे तेज करने की संभावना के बिना मैं ऐसा नहीं कर पाऊंगा क्योंकि डेटा बढ़ता है। मैंने एक मोंगोडीबी उदाहरण का भी परीक्षण किया है, जो फिर से ओके पर दिखाई देता है दूर तक, और पैनापन के साथ यह डेटा की मात्रा के पैमाने के लिए पर्याप्त हो सकता है। मैंने हाल ही में इलास्टिक्स खोज के बारे में थोड़ा सीखा है, इसलिए इस पर कोई भी टिप्पणी उपयोगी होगी क्योंकि यह मेरे लिए नया है।
यहाँ एक त्वरित एनीमेशन है जिसे हम पूर्ण डेटा सेट के साथ प्राप्त करना चाहते हैं:
यह gif (मेरे पोस्टग्रेज ट्रायल से) 6x3 प्री-कंप्यूटेड रैस्टर टाइल्स परोस रहा है, जिनमें से प्रत्येक में ~ 200,000 अंक हैं और प्रत्येक को उत्पन्न करने के लिए ~ 17s ले रहे हैं। एक बिंदु पर क्लिक करके <1s में निकटतम स्थान पर सभी ऐतिहासिक मूल्यों को खींचकर ग्राफ बनाया जाता है।
लंबी पोस्ट के लिए क्षमायाचना, सभी टिप्पणियों / सलाह का स्वागत है।