2013-06-06 5 views
7

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

एक बात जो मैं सोच रहा था, मुझे ओआरएम बनाम हेस्टैक/लोचदार खोज से पूछताछ कब करनी चाहिए? उदाहरण के लिए, यदि टैबलेट पर उपयोगकर्ता उपयोगकर्ताओं के एक विशिष्ट समूह का अनुरोध कर रहा है, तो क्या हमें TastyPie को ORM से पूछने देना चाहिए, या ElasticSearch पर जाना चाहिए?

यदि हम इस उत्तर को Django: Haystack or ORM देखते हैं, तो हम सभी सहमत हैं कि डेटा पुनर्प्राप्त करने और लिखने के लिए डीबी बनाया गया है। हालांकि, क्या हम कह सकते हैं कि एक बार खोज इंजन अपडेट होने के बाद हेस्टैक/लोचदार खोज के साथ तेज़ी से पुनर्प्राप्ति तेज हो सकती है?

मैं थोड़ी उलझन में हूं कि हमें कब हेस्टैक से पूछताछ करनी चाहिए यदि यह बहुत तेज है ?!

उत्तर

6

बातें स्पष्ट करना करने के लिए मुझे लगता है कि आप Haystack के माध्यम से Elasticsearch क्वेरी करने के बारे में बिना बात कर रहे हैं बाद में आप डेटाबेस से डेटा के साथ अपने खोज परिणामों के लिए किसी भी वस्तुओं instantiating।

कुछ बिंदुओं को अंक the other पोस्ट में उल्लेख के अलावा विचार करने के लिए:

  • Elasticsearch की तरह एक खोज इंजन अत्यधिक जब (पूर्ण-पाठ खोज के साथ काम कर जब एसक्यूएल साथ कुछ कर अनुकूलित यह अत्यधिक डेटाबेस पर निर्भर करता है/इंजन जिसका आप उपयोग कर रहे हैं)

  • कई रिश्ते/जुड़ने वाले प्रश्नों को ओआरएम के साथ संभालना आसान होगा, लेकिन दूसरी तरफ आप विदेशी-प्रमुख संबंधों से डेटा को एक असामान्य रूप से सहेज सकते हैं फैशन का उपयोग करते समय फैशन जो आपको प्रदर्शन को बढ़ावा दे सकता है । निस्संदेह आप अपनी डेटाबेस टेबल को भी असामान्य कर सकते हैं लेकिन इसे अक्सर एक बुरा अभ्यास माना जाता है जब तक आप जानते हैं कि आप क्या कर रहे हैं, उदाहरण के लिए प्रदर्शन बाधा को हल करते समय।

  • ईएस आपके एसक्यूएल डीबी को स्केल करते समय स्केल करने में काफी आसान है, यह अधिक जटिल हो सकता है।

  • अधिकतर यह एक ऐसा निर्णय है जो आपके उपयोग के मामले पर निर्भर करता है, प्रक्रिया की डेटा की मात्रा और जिन प्रश्नों को आप चलाने के इच्छुक हैं। तो पाठ्यक्रम की सबसे अच्छी बात यह है - हमेशा के रूप में - कुछ बेंचमार्किंग करने के लिए और इन दो समाधानों की तुलना करें। लेकिन किसी भी समयपूर्व अनुकूलन न करें क्योंकि ओआरएम का एक बड़ा फायदा चीजों को सरल रखना है - आपको अपने डेटा की अखंडता और अतिरिक्त प्रणाली को बनाए रखने की आवश्यकता नहीं है।

+0

बिल्कुल सही! धन्यवाद – abisson

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