सवाल हार्ड ड्राइव खोज से Google इतना तेज़ क्यों है?


जब मैं विंडोज 7 या विंडोज एक्सपी में अपने एचडी पर एक फाइल खोजता हूं तो प्रक्रिया को समाप्त करने में कुछ मिनट लगते हैं। अगर मैं Google में एक खोज शब्द भरता हूं, तो जवाब मेरी स्क्रीन पर मिलीसेकंड में है

Google के लिए इंटरनेट खोजना कैसे संभव है, जो मेरी हार्ड ड्राइव से कई गुना बड़ा है, मेरे ओएस से तेज़ मेरे कंप्यूटर को खोज सकता है? क्या यह केवल कंप्यूटिंग शक्ति और सही एल्गोरिदम का मामला है?


247
2018-04-03 18:44


मूल


क्या आपने अपने ड्राइव पर सभी फाइलों को अनुक्रमणित करने और केवल इंडेक्स खोजने की कोशिश की है? प्रयत्न सब कुछ और देखो। - Karan
Google डेस्कटॉप ने विंडोज़ के लिए ऐसा करने के लिए "इस्तेमाल किया" ... - rogerdpack
Google रैम में संग्रहीत इंडेक्स के माध्यम से खोज करता है, हार्ड ड्राइव पर फ़ाइलों के माध्यम से नहीं। - Ari
सूचकांक महत्वपूर्ण है, लेकिन Google संचालन के बड़े पैमाने पर समानांतर सेट करने के लिए मानचित्र-कम एल्गोरिदम का भी उपयोग करता है। इससे कोई फर्क नहीं पड़ता कि आपके कंप्यूटर में आपके पास कितने कोर हैं, मैं गारंटी देता हूं कि Google के पास और भी बहुत कुछ है। - Adam Wuerl
इंडेक्सिंग का उपयोग करने से डेस्कटॉप खोज कार्यान्वयन को रोकना कुछ भी नहीं है। हालाँकि, याद रखें कि Google के पास पर्याप्त नकद है ए) बहुत सी तेज CPUs / सर्वर एक क्वेरी समानांतर करने के लिए; बी) डिस्क का उपयोग करने से बचने के लिए बहुत तेज़ रैम; सी) आपके द्वारा उपयोग किए जाने वाले बहुत से हार्ड ड्राइव बहुत तेज हैं; डी) बहुत सारे स्मार्ट इंजीनियरों को शामिल एल्गोरिदम अनुकूलित करने के लिए। (उदाहरण के लिए परिणाम (बहुत से) अक्सर उपयोग किए जाने वाले प्रश्नों और बहुत कुछ के लिए परिणाम कैश करना।) यह इनमें से किसी एक का "केवल" प्रश्न नहीं है, यह सब संगीत कार्यक्रम में अभिनय कर रहा है। - millimoose


जवाब:


Google इंटरनेट नहीं खोज रहा है: यह एक इंडेक्स खोज रहा है। Google में विशाल सर्वर खेतों हैं जो लगातार इंटरनेट स्कैनिंग और अनुक्रमणित कर रहे हैं। इस प्रक्रिया में आपके अनइंडेक्स हार्ड ड्राइव की खोज की तरह बहुत समय लगता है। विंडोज 7 में, आपके हार्ड ड्राइव को इंडेक्स करने का एक विकल्प है। इस प्रक्रिया को पहले कुछ समय लगता है लेकिन एक बार जब यह ऊपर हो जाता है और खोज के परिणाम चलते हैं तो तात्कालिक हो जाएगा।

यदि आप Google खोज कैसे काम करते हैं, इस बारे में और जानना चाहते हैं तो आप Google के लेख को पढ़ सकते हैं "खोज कैसे काम करती है"या लेख पढ़ें"कैसे सामग्री काम करता है: Google कैसे काम करता है"।


210
2018-04-03 18:53



अंतिम अनुच्छेद: यह लिंक अधिक आधिकारिक और समग्र बेहतर है। - ulidtko
मेरी जिज्ञासा क्षमा करें, लेकिन मत करो फाइल सिस्टम डिस्क पर फ़ाइलों को पहले ही सूचीबद्ध कर सकते हैं? क्या आप अपनी फाइल एक्सप्लोरर में डिस्क पर वास्तविक भौतिक क्षेत्रों के लिंक की एक सूचकांक नहीं देखते हैं? फिर हमें ऐसा करने की ज़रूरत क्यों है और भी अधिक अनुक्रमण? - Adi
@Adnan फ़ाइल सिस्टम इंडेक्स को उस स्थिति को खोजने के लिए डिज़ाइन किया गया है जहां एक भौतिक मीडिया पर फ़ाइल संग्रहीत की जाती है। यह एक पुस्तक की अनुक्रमणिका जैसा है जो आपको बताता है कि कौन सा पृष्ठ अध्याय शुरू होता है। एक खोज सूचकांक सामग्री खोजने के लिए डिज़ाइन किया गया है। एक अच्छी खोज अनुक्रमणिका न केवल फाइल नामों को अनुक्रमित करती है बल्कि साथ ही साथ ज्ञात फ़ाइल प्रकारों की सामग्री जैसे पीडीएफ, डॉक्टर, एचटीएमएल, ... उन्नत इंडेक्स के साथ-साथ समानार्थी शब्द भी उपयोग करते हैं ताकि यदि आप "कार" की खोज करते हैं तो यह परिणाम भी मिल सकता है शब्द "ऑटोमोबाइल"। - Simon
@Adnan, फ़ाइल सिस्टम वास्तव में एक "अनुक्रमणिका" नहीं है, बस फ़ाइल नामों का एक पेड़ है। ऐसे पेड़ को खोजना तेज़ नहीं है, क्योंकि इसकी संरचना खोज के लिए अनुकूल नहीं है। ओटीओएच गूगल (और डेटाबेस) विशिष्ट क्रमबद्ध इंडेक्स संरचनाओं का उपयोग करता है जो विशेष प्रविष्टि बिजली के लिए लुकअप बनाता है। फिर भी, सभी खोजों को इस तरह के सूचकांक से लाभ नहीं हो सकता है और धीमा (एर) होगा। - PiRX
@Adnan एक अर्थ में, एफएस ट्री अनुकूलित है विरुद्ध खोज कर। यह ज्ञात स्थानों के पते की अनुमति देने के लिए डिज़ाइन किया गया है। आपके रूट नोड से, आपको जो भी मिलता है वह रूट के अंतर्गत निर्देशिकाओं और फ़ाइलों की एक सूची है। प्रत्येक निर्देशिका बस इसमें फ़ाइलों के बारे में जानता है, और इसके नीचे निर्देशिकाएं। एक ज्ञात फ़ाइलपैथ तक पहुंचने के लिए बहुत तेज़ है, और यह बहुत लचीलापन प्रदान करता है, लेकिन फाइलों की वैश्विक सूची में मौजूद नहीं है। आपको हमेशा निर्देशिका पेड़ के माध्यम से उतरना होगा, और यह बहुत से अलग लुकअप के लिए बनाता है। - Phoshi


Google एक पते (अनुक्रमित) के लिए पीले रंग के पृष्ठों की खोज करना है। विंडोज़ खोज भवनों (गैर अनुक्रमित) पर जांच संख्याओं के आसपास ड्राइविंग के समान है।

एक और समानता एक अच्छी तरह से संगठित पुस्तकालय और कार्ड कैटलॉग के माध्यम से देखेगी, या हर बार किताबों के एक असंगठित ढेर के माध्यम से छंटनी होगी।

मूल रूप से यह खोज से पहले किया गया सभी संगठनात्मक काम है जो इसे तेज़ बनाता है।

एफवाईआई: अनुक्रमित स्थानों की खोज करते समय, विंडोज़ खोज केवल उत्तरदायी हो सकती है।


71
2018-04-03 21:09



या: सामग्री की एक (विस्तृत) तालिका में देखकर एक पाठ्यपुस्तक स्कैनिंग - bobobobo


Google का व्यवसाय खोज (और विज्ञापनों की सेवा करना) है और यह उस पर बहुत केंद्रित है। ऐसी कई चीजें हैं जो Google यह सुनिश्चित करने के लिए करती हैं कि डेटा आपके लिए बहुत तेज़ी से वापस आ गया है:

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

इसके बारे में अधिक जानकारी के लिए इस लिंक को देखें खोज कैसे काम करती है

तुलनात्मक रूप से एक इंडेक्स के बिना एक हार्ड ड्राइव खोज ड्राइव पर हर फाइल के माध्यम से पढ़ना है और इसमें काफी समय लग सकता है।

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


36
2018-04-03 20:44





लगभग 4 साल पहले मैंने खुद से भी यही सवाल पूछा था। लेकिन जैसा कि मैंने अपने शोध करने के चारों ओर गुमराह किया, मैंने अंततः यह पढ़ा कि इस तथ्य के अलावा कि वे कुछ सबसे परिष्कृत खोज एल्गोरिदम और उसके साथ आने के लिए सबसे अच्छे से सर्वश्रेष्ठ काम करते हैं।

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

और यह डेटा ताजा होना जरूरी नहीं है, क्योंकि हम सभी जानते हैं कि Google सबकुछ स्टोर करता है। तो रैम में क्या होना चाहिए, एसप्ले पेड़ों के साथ एक ही सिद्धांत का उपयोग किया जा सकता है, जो भी लोग रैम में सबसे ज्यादा खोज रहे हैं और कम से कम खोजी गई सामग्री को हार्ड डिस्क पर फ़्लश करें।

यह छोटा सा विचार उनके अनुक्रमण और अन्य सभी चीजों के साथ उनके उत्तरों में उल्लिखित है, यह एक कारण हो सकता है कि यह एक हार्ड ड्राइव खोज से तेज क्यों है।

  • अन्य खोजों के आधार पर भविष्यवाणी करने की शक्ति।
  • डेटा रैम में सबसे अधिक संभावना है जिसे हम सभी जानते हैं तेज़ है।
  • कई प्रणालियों का उपयोग करें विभाजन और जीत
  • खोज उनकी मुख्य प्राथमिकता है।

बेशक मैं गलत हो सकता था, लेकिन यह मुझे समझ में आया। और मैंने जो कुछ सीखा उससे खुश था।


30
2018-04-03 22:57



आपने कुछ चीजों पर इसे खींचा कि अन्य, अधिक लोकप्रिय पोस्टर चूक गए। Google अक्सर सब कुछ नहीं खोजता है। निश्चित रूप से पूरे इंटरनेट पर नहीं, और अपने स्वयं के कैश में भी सबकुछ नहीं। इसके अलावा, जब आप Google.com पर खोज करते हैं, तो वास्तविक खोज वास्तविक समय में नहीं हो रही है, केवल एक त्वरित प्रतिलिपि और खोज परिणामों को प्रदर्शित करना जो पिछले कुछ महीनों में Google द्वारा पहले ही उत्पादित और व्यवस्थित किए जा चुके हैं। उत्पादन / आयोजन प्रक्रिया का वर्णन करना बेहद जटिल है, लेकिन किसी को कहा गया है कि इसे "इंडेक्सिंग" कहा जा सकता है। - Joseph Myers
उत्पादन / आयोजन प्रक्रिया का वर्णन करना बेहद जटिल है ...। हां, यही वह है जिसे मैं इसके परिष्कृत हिस्से के रूप में संदर्भित करता हूं। अंगूठे ऊपर, आप इसे अच्छी तरह से सारांशित किया। - Touch
@JosephMyers लगातार Google अनुक्रमणिका। सुपरयूसर पर दिन में पहले पूछे गए एक प्रश्न पर एक खोज करें (उदाहरण के लिए। google.com/search?q=google+faster+than+a+hard+drive) और यह परिणामों में दिखाई देता है। - Brad Patton
@ टच मैं रैम में खोजों के बारे में सहमत हूं। यह कैशिंग के बारे में मेरी पोस्ट में चौथा बिंदु था - Brad Patton
@ ब्रैड पैटन ट्रू। मुझे इसका जिक्र करना पड़ा क्योंकि यह मैंने जो सीखा, उसका आधार था। और लगातार अनुक्रमण के बारे में हिस्सा, अच्छी तरह से अनुक्रमण भाग संगठित हिस्सा की तरह है। इसलिए बयान में कहा गया है कि आप जो खोज रहे हैं उसे खोजते हैं और इस समय अनुक्रमित नहीं किया जा रहा है। परिणाम क्यों दिख रहा है, स्टैकओवरफ्लो की कई वेबसाइटों की तुलना में अधिक विश्वसनीयता है, इसलिए इसे अधिक बार अनुक्रमित करना अच्छा विचार है। यही कारण है कि यह दिखाता है। यदि यह उस के लिए नहीं था, तो आपको जो खोजा जाता है उससे पहले आपको एक या दो दिन का इंतजार करना होगा। मुझे लगता है कि श्री जोसेफमेयर क्या कह रहे हैं। - Touch


Google एक बेहद परिष्कृत अनुक्रमण प्रणाली, समांतर संचालन, और कई मानक संतुलन तकनीक का उपयोग करता है जो एक मानक स्टैंडअलोन कंप्यूटर के लिए उपलब्ध नहीं है। वेब खोज और हार्ड डिस्क फ़ाइल खोज के बीच वास्तव में बहुत कम समानता है, और Google अपने विशिष्ट उपयोग मामलों के लिए भारी अनुकूलित करता है।


20
2018-04-03 18:49





2004 में, कुछ Google कर्मचारियों ने एक पेपर प्रकाशित किया: मानचित्र छोटा करना और उस समय से उन्होंने सैकड़ों बार सुधार किया।

इसके अलावा, वे उपयोग करते हैं Google फाइल सिस्टम (जीएफएस) जो एक वितरित फ़ाइल सिस्टम की तरह है हडोप डिस्ट्रिबुड फाइल सिस्टम (एचडीएफएस) और उनके उद्देश्यों के लिए बेहद अनुकूलित। जहां तक ​​मुझे पता है, GFS शायद हजारों बार तेजी से काम करता है HDFS


4
2018-04-04 06:49





मैंने सोचा कि मैं इसमें जोड़ूंगा क्योंकि मेरे पास कुछ समय पहले भी यह सवाल था और इन महान वीडियो को मिला जो वर्णन करता है कि Google सतह पर क्या करता है। देखना दिलचस्प है।

यूट्यूब 1 पर Google
यूट्यूब 2 पर Google

वह थोड़ा गहरा हो जाता है लेकिन इतना गहरा नहीं है कि आप तकनीकीताओं में खो जाते हैं।

चीयर्स।


2
2018-04-04 00:14