angularjs - Hierarchical data structure in firebase with geospatial/geohash searching; am I doing this right? -
आशय:
हवाई फोटोग्राफी की एक सूची बनाएं अंगुलर जेएस रूपों द्वारा बनाए जाने वाले रिकॉर्ड्स, लेकिन लीफलेट जैसे नक्शे व्यूअर द्वारा प्राप्त की गई।
लक्ष्य:
जानकारी को कई तरीकों से प्राप्त करें: फ्लाइट, संग्रह, आईडी द्वारा छवि , और भूगोल द्वारा छवि
डेटा संरचना:
संग्रह: {मेटा: '', उड़ानें: {मेटा: '', एरियल: {मेटा: '', जियोपॉइंट: [अक्षांश, लोन], भू-राजनीति: [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]}}}
<>
- / संग्रह / सीआईडी
- / संग्रह / फील्ड्स फायरबसे (denormalizing पर प्रयास) संरचना:
- / सीआईडी
- / संग्रह / छवियाँ / सीआईडी
- / उड़ान / एफआईडी
- / छवियाँ / आईआईडी
( मैं संदर्भित हूं)
प्रश्न:
-
अगर 1 मिलियन छवियाँ हैं Denormalization पर्याप्त देखो? (प्रत्येक उड़ान के बारे में 80 छवियों होगा, प्रत्येक संग्रह 100 उड़ानों औसत होगा ... अगर यह मामलों)
-
क्या मुझे भू-हॅश का उपयोग करना चाहिए ?, अगर ऐसा होता है तो जियोहैश फ़ायरबसे संदर्भ / छवियों के लिए "छवि आईडी (आईआईडी)" बन जाता है / यूआईडी? (या फिर मुझे एक अन्य संदर्भ बनाना चाहिए: / Images_Geo /)
-
मुझे इस तरह का उपयोग करना चाहिए ? (अधिकांश मैपिंग सर्वर पर मैं उपयोगकर्ता के वर्तमान दृश्य के एक बाउंडिंग बॉक्स में पारित कर सकता हूं और सर्वर उस स्थान पर सभी आइटम वापस करेगा। सुनिश्चित नहीं हैं कि इस बारे में फायरबेज का उपयोग कैसे करें।)
यहां denormalizing का मुख्य उद्देश्य संग्रह की एक सूची लाने या संग्रह / $ सीआईडी को प्राप्त करने के लिए छवियों और उड़ान सूचियों को लोड करने के लिए इंतजार किए बिना इसे तेज़ करना होगा। तो फिर, यदि वे हमेशा समानांतर में उपयोग किए जाते हैं, तो संभवत: कोई लाभ के लिए अतिरिक्त जटिलता नहीं है।
एक इंडेक्स से संदर्भित उड़ानों और / छवियों / पर विभाजित, एक उत्कृष्ट पसंद है।
> 10 लाख प्रत्येक के दस लाख छवियों के बारे में 10 जीबी डेटा होगा; एक महत्वपूर्ण विचार छवियों को मानते हुए वास्तविक समय की गति में परिवर्तन नहीं हो रहा है, तो संभवतः आप उन छवियों के लिए एक अत्यंत सस्ते भंडारण सुविधा (एस 3, सीडीएन, आदि) को खोजने के लिए ऑप्टिमाइज़ करना चाहते हैं और केवल उन्हें फायरबेज में यूआरएल को संचयित करने के बजाय, उन्हें संग्रहीत करने के बजाय डेटा और इन भारी स्थैतिक परिसंपत्तियों के बैंडविड्थ और भंडारण के लिए वास्तविक समय की दर का भुगतान।आप जियोहैश का उपयोग करना चाहिए, यह एक बहुत बड़ा विषय है और काफी विवादास्पद है; वहाँ बहुत सारे विकल्प हैं जैसे आपने पहले ही बताया है। मुझे नहीं लगता कि कोई भी आपको क्यू एंड ए प्रारूप में (जो कि किसी पाठ्यपुस्तक के एक अध्याय या उपयुक्त मेलिंग सूची पर एक चर्चा थ्रेड के रूप में हो) में उस विशाल कार्यान्वयन के फैसले का जवाब दे सकता है।
Comments
Post a Comment