आपके द्वारा उल्लेख किए गए नंबरों के लिए, मुझे लगता है कि सभी विकल्पों को काम करना चाहिए (पढ़ें: आप उचित समय में अपने विश्लेषण को समाप्त करने में सक्षम होंगे)। मैं एक ऐसे डिजाइन की सलाह देता हूं जिससे काफी तेज परिणाम मिल सकते हैं।
जैसा कि पहले उत्तर दिया गया था, सामान्य तौर पर पोस्टग्रैक्स्ल मेंगो से तेज होता है, कुछ समय से 4 गुना अधिक तेजी से। उदाहरण के लिए देखें:
http://www.enterprisedb.com/postgres-plus-edb-blog/marc-linster/postgres-outperforms-mongodb-and-ushers-new-developer-reality
आपने कहा कि आप जॉइन में प्रदर्शन को बेहतर बनाने में रुचि रखते हैं। मुझे लगता है कि आप संस्थाओं (जैसे, पोस्ट, लेखक) के बीच समानता की गणना करने में रुचि रखते हैं, इसलिए आप मुख्य रूप से इसके साथ तालिका में शामिल हो जाएंगे (जैसे, पोस्ट या लेखक द्वारा) और कुल।
इस तथ्य को जोड़ें कि प्रारंभिक लोडिंग के बाद आपके डेटाबेस को केवल पढ़ा जाएगा, जो समस्या को अनुक्रमण के उपयोग के लिए बहुत उपयुक्त बनाता है। आप इंडेक्स अपडेट के लिए भुगतान नहीं करेंगे क्योंकि आपके पास कोई भी नहीं होगा और मुझे लगता है कि आपके पास इंडेक्स के लिए अतिरिक्त स्टोरेज है।
मैंने पोस्टग्रेज का उपयोग किया और डेटा को दो तालिकाओं में संग्रहीत किया:
तालिका पोस्ट (पूर्णांक पूर्णांक, url varchar (255), author_id पूर्णांक) बनाएं;
- डेटा लोड करें और फिर इंडेक्स बनाएं। - इससे तेज लोड होगा और बेहतर सूचकांकों में परिवर्तन होगा, टेबल पोस्ट्स में बाधाएं पोस्ट_पैक प्राथमिक कुंजी (पोस्ट_ड) जोड़ें; सूचकांक post_author को पदों पर बनाएं (Author_id);
तालिका टिप्पणियाँ (टिप्पणी_id पूर्णांक, पोस्ट_आईडी पूर्णांक, लेखक_आईडी पूर्णांक, टिप्पणी varchar (255)) बनाएं; परिवर्तन तालिका टिप्पणियाँ बाधा टिप्पणियाँ जोड़ें_ प्राथमिक प्राथमिक कुंजी (टिप्पणी_ड); टिप्पणी पर अनुक्रमणिका comment_author बनाएं (Author_id); टिप्पणी पर इंडेक्स टिप्पणी_ पोस्ट बनाएं (पोस्ट_िड);
फिर आप चुनिंदा मी जैसे प्रश्नों में टिप्पणियों के आधार पर लेखक की समानता की गणना कर सकते हैं। Author_id as m_author_id, a। Author_id a_author_id के रूप में, काउंट (अलग m.post_id) टिप्पणियों के रूप में पोस्ट के रूप में m, m.author_id द्वारा a (post_id) समूह के रूप में टिप्पणियों में शामिल होते हैं, a। author_id
यदि आप एलवाईपी के लिए टिप्पणी में शब्दों को टोकने में रुचि रखते हैं, तो उसके लिए एक और तालिका जोड़ें, लेकिन याद रखें कि यह आपके डेटा की मात्रा में काफी वृद्धि करेगा। आमतौर पर डेटाबेस में संपूर्ण टोकन का प्रतिनिधित्व नहीं करना बेहतर होता है।