क्या कोई जानता है कि Google या याहू बहुत बड़ी मात्रा में डेटा के खिलाफ कीवर्ड की खोज कैसे करते हैं? इसके लिए वे किस तरह के डेटाबेस या तकनीक का इस्तेमाल करते हैं?
इसमें कुछ मिलीसेकंड लगते हैं, लेकिन उनके पास एक अरब से अधिक पृष्ठ अनुक्रमित हैं।
क्या कोई जानता है कि Google या याहू बहुत बड़ी मात्रा में डेटा के खिलाफ कीवर्ड की खोज कैसे करते हैं? इसके लिए वे किस तरह के डेटाबेस या तकनीक का इस्तेमाल करते हैं?
इसमें कुछ मिलीसेकंड लगते हैं, लेकिन उनके पास एक अरब से अधिक पृष्ठ अनुक्रमित हैं।
जवाबों:
मुझे यकीन है कि चीजों का एक संयोजन है:
इसके बहुत सारे - कई नोड्स और विभिन्न डेटा केंद्रों में डेटा वितरित और दोहराया जाता है
कबूतर ।
Google की खोज तकनीक का केंद्र PigeonRank ™ है , जो स्टैनफोर्ड विश्वविद्यालय में Google के संस्थापकों लैरी पेज और सर्गेई ब्रिन द्वारा विकसित वेब पृष्ठों की रैंकिंग के लिए एक प्रणाली है:
बीएफ स्किनर, पेज और ब्रिन की सफलता के आधार पर निर्माण ने तर्क दिया कि कम लागत वाले कबूतर समूहों (पीसी) का उपयोग मानव संपादकों या मशीन-आधारित एल्गोरिदम की तुलना में तेजी से वेब पृष्ठों के सापेक्ष मूल्य की गणना करने के लिए किया जा सकता है। और जबकि Google के पास दर्जनों इंजीनियर हैं जो दैनिक आधार पर हमारी सेवा के हर पहलू को बेहतर बनाने के लिए काम कर रहे हैं, कबूतररैंक हमारे सभी वेब सर्च टूल के लिए आधार प्रदान करता रहता है।
क्यों Google के पेटेंट PigeonRank ™ इतनी अच्छी तरह से काम करता है
कबूतर की सफलता मुख्य रूप से घरेलू कबूतर ( कोलंबा लिविया) की बेहतर ट्रेनबिलिटी पर निर्भर करती है और स्थानिक अभिविन्यास की परवाह किए बिना वस्तुओं को पहचानने की इसकी अनूठी क्षमता है । आम ग्रे कबूतर आसानी से केवल न्यूनतम अंतर प्रदर्शित करने वाली वस्तुओं में अंतर कर सकता है, एक ऐसी क्षमता जो इसे हजारों समान पृष्ठों में से प्रासंगिक वेब साइटों का चयन करने में सक्षम बनाती है।
घने समूहों में कबूतरों के झुंडों को इकट्ठा करके, Google पारंपरिक खोज इंजनों से बेहतर गति से खोज प्रश्नों को संसाधित करने में सक्षम है, जो आम तौर पर अपने प्रासंगिक रैंकिंग करने के लिए शिकार, ब्रूडिंग मुर्गियों या धीमी गति से चलने वाले जलपक्षी पर निर्भर करते हैं।
जब कोई खोज क्वेरी Google को सबमिट की जाती है, तो इसे एक डेटा कॉप में भेजा जाता है, जहां धधकती गति पर फ्लैश परिणाम पृष्ठों पर नज़र रखता है । जब एक प्रासंगिक परिणाम क्लस्टर में कबूतरों में से एक द्वारा देखा जाता है, तो यह अपनी चोंच के साथ एक रबर-लेपित स्टील बार पर हमला करता है, जो पृष्ठ को एक के कबूतर मूल्य प्रदान करता है। प्रत्येक पेक के लिए, कबूतर बढ़ जाता है । वे पृष्ठ जो सबसे अधिक पीक प्राप्त करते हैं, उपयोगकर्ता के परिणाम पृष्ठ के शीर्ष पर लौटाए जाते हैं, जो अन्य ऑर्डर पेकिंग क्रम में प्रदर्शित होते हैं।
Google के बारे में कुछ बातों को ध्यान में रखना महत्वपूर्ण है:
उनका DB मालिकाना BigTable है - यह कस्टम द्वारा GOOGLE द्वारा डिज़ाइन किया गया था ताकि उनकी आवश्यकताओं को पूरी तरह से फिट किया जा सके
उनका मालिकाना डीबी उनके मालिकाना फ़ाइल सिस्टम के ऊपर बनाया गया है - Google फ़ाइल सिस्टम - यह सामान्य वस्तु हार्डवेयर का उपयोग करके आसानी से विस्तार योग्य होने के लिए , फिर से GOOGLE द्वारा डिज़ाइन किया गया था । जैसा कि आरोन ने अपने जवाब में उल्लेख किया है, उनके पास बहुत कम शक्तिशाली सर्वरों के बजाय बड़ी संख्या में औसत सर्वर हैं।
एक्सेस एक्सेस करने के तरीके के रूप में वे कई मशीनों में अलग-अलग तालिकाओं को संग्रहीत करते हैं - उनके सॉफ़्टवेयर को पता होता है कि कौन सी मशीन किस डेटा पर है और एक डिस्क के माध्यम से थ्रेशिंग करने के बजाय यह पता लगाने के लिए प्रासंगिक जानकारी के साथ सीधे सर्वर पर जा सकती है।
Google पारंपरिक रिलेशनल डेटाबेस तकनीक का उपयोग नहीं करता है। इसने अपनी तकनीक, बड़ी तालिका और मानचित्र को कम किया। मूल शोध पत्र यहां हैं: बिग टेबल और मैप / रिड्यूस । ब्याज की भी SSTable, सॉर्ट की गई स्ट्रिंग तालिका है ।
इसी तरह की तकनीक अब हडूप और नोएसक्यूएल डेटाबेस में उपयोग की जाती है ।
स्टीवन लेवी की " इन द प्लेक्स: हाउ गूगल थिंक, वर्क्स, एंड शेप्स अवर लाइव्स " पढ़ें । यह पुस्तक Google की सभी चीजों के बारे में एक आकर्षक रीड है और खोज के पीछे कुछ उच्च तकनीक और इंजीनियरिंग पर चर्चा करती है। हारून ने अपने उत्तर में इसे अच्छी तरह से गाया है और लेवी की पुस्तक आपको कुछ और विस्तार से बताएगी कि वे इसे कैसे करते हैं।