Ketika saya mencari file di HD saya di Windows 7 atau Windows XP, dibutuhkan beberapa menit untuk menyelesaikan proses. Jika saya mengisi istilah pencarian di Google, jawabannya ada di layar saya dalam milidetik
Bagaimana mungkin bagi Google untuk mencari di Internet, yang berkali-kali lebih besar daripada hard drive saya, lebih cepat daripada OS saya dapat mencari di komputer saya? Apakah ini hanya masalah daya komputasi dan algoritma yang tepat?
Jawaban:
Google tidak mencari di internet: ia sedang mencari indeks. Google memiliki ladang server besar yang secara konstan memindai dan mengindeks internet. Proses ini membutuhkan banyak waktu, seperti halnya pencarian hard drive Anda yang tidak diindeks. Di Windows 7, ada opsi untuk mengindeks hard drive Anda. Proses ini membutuhkan waktu pada awalnya tetapi setelah itu dan menjalankan hasil pencarian akan instan.
Jika Anda ingin tahu lebih banyak tentang cara kerja pencarian Google, Anda dapat membaca artikel Google " How Search Works " atau membaca artikel " How Stuff Works: How Google Works ".
sumber
Google seperti mencari halaman kuning untuk alamat (diindeks). Pencarian Windows mirip dengan berkeliling memeriksa nomor pada bangunan (non-diindeks).
Analogi lain adalah melihat-lihat perpustakaan dan katalog kartu yang terorganisir dengan baik, atau hanya memilah-milah tumpukan buku yang tidak teratur setiap saat.
Pada dasarnya itu semua pekerjaan organisasi yang dilakukan sebelum pencarian yang membuatnya cepat.
FYI: Saat mencari lokasi yang diindeks, pencarian windows bisa sama responsifnya.
sumber
Bisnis Google adalah pencarian (dan menayangkan Iklan) dan sangat fokus pada hal itu. Ada beberapa hal yang dilakukan Google untuk memastikan data dikembalikan kepada Anda dengan sangat cepat:
Lihat tautan ini untuk informasi lebih lanjut tentang Cara Pencarian
Relatif pencarian hard drive tanpa indeks harus membaca setiap file pada drive dan ini bisa memakan banyak waktu.
Selain itu, Anda dapat menganggap sistem file dan indeks sebagai pohon. Dalam sistem berkas, akar pohon adalah folder tingkat atas dan dapat memiliki cabang (folder) atau daun (file) dalam satu folder itu. Setiap cabang dapat memiliki sub-cabang untuk lebih banyak folder dan menyisakan lebih banyak file. Untuk mencari struktur ini Anda harus 'berjalan' semua cabang (dan cabang pembantu) untuk menemukan daun yang Anda cari. Indeks membalik hierarki ini. Basis menjadi alfabet dan semua cabang pembantu melakukan penyempurnaan lebih lanjut. Daun adalah lokasi barang yang Anda cari. Mencari struktur ini memungkinkan Anda untuk memangkas (mengecualikan) sebagian besar pohon (mis. Huruf pertama dari istilah pencarian Anda memungkinkan Anda untuk memotong 25 cabang lainnya segera).
sumber
Sekitar 4 tahun yang lalu saya juga bertanya pada diri sendiri pertanyaan yang sama. Tetapi ketika saya mencari di Google melakukan penelitian saya akhirnya membaca bahwa selain fakta bahwa mereka mempekerjakan yang terbaik dari yang terbaik untuk datang dengan beberapa algoritma pencarian yang paling canggih dan semua itu.
Salah satu desain utama yang mereka gunakan mirip dengan gagasan peta pengurangan saya pikir. Anda memiliki banyak komputer murah di peternakan. Biarkan komputer ini hanya memiliki sekitar 80 gig ruang hard disk dan dorong keras untuk memiliki sekitar 16 gig RAM atau bahkan lebih baik 32 gig RAM pada komputer ini (sebanyak mungkin). Ingat bahwa mereka terhubung melalui beberapa sistem canggih yang mereka rancang. Tetapi ide kunci di sini adalah bahwa ketika suatu permintaan dikirimkan, ia dikirimkan ke sistem mereka di mana ia akan mencoba dan mencari data baru dalam RAM. Perlu diingat mereka memiliki banyak komputer murah ini. Dan karena data dalam RAM, ditemukan jauh lebih cepat daripada pada hard disk. Tetapi jangan lupa bahwa mereka memiliki sistem yang canggih (pengindeksan dan semua algoritma) yang sangat membantu.
Dan data ini tidak harus segar, karena kita semua tahu bahwa Google menyimpan semuanya. Jadi seperti apa yang seharusnya ada dalam RAM, prinsip yang sama dengan splay tree dapat digunakan, simpan apa yang paling banyak dicari orang di RAM dan siram barang yang paling tidak dicari ke hard disk.
Gagasan kecil ini ditambah dengan pengindeksan mereka dan semua hal lain yang telah disebutkan orang lain dalam jawaban mereka, mungkin menjadi salah satu alasan mengapa ini lebih cepat daripada pencarian hard-drive.
Tentu saja saya bisa salah, tetapi ini masuk akal bagi saya. Dan saya senang dengan apa yang saya pelajari.
sumber
Google menggunakan sistem pengindeksan yang sangat canggih, operasi paralel, dan sejumlah teknik penyeimbangan beban tidak tersedia untuk komputer mandiri standar. ada sangat sedikit kesamaan antara pencarian web dan pencarian file hard disk, dan google sangat mengoptimalkan untuk kasus penggunaan khusus mereka.
sumber
Pada tahun 2004, beberapa karyawan Google menerbitkan sebuah makalah: MapReduce dan sejak saat itu mereka meningkatkannya ratusan kali.
Juga, mereka menggunakan Google File System (GFS) yang merupakan sistem file terdistribusi seperti Hadoop Distribud File System (HDFS) dan sangat dioptimalkan untuk keperluan mereka. Sejauh yang saya tahu, GFS bekerja mungkin ribuan kali lebih cepat daripada HDFS .
sumber
Saya pikir saya akan menambahkan ini karena saya juga punya pertanyaan ini beberapa waktu lalu dan menemukan video-video hebat ini yang menggambarkan apa yang Google lakukan di permukaan. Menarik untuk ditonton.
Google di Youtube 1
Google di Youtube 2
Dia pergi sedikit lebih dalam tetapi tidak cukup dalam sehingga Anda tersesat dalam hal teknis.
Tepuk tangan.
sumber
Hanya menambahkan sesuatu ke jawaban yang bagus di sini. Google menggunakan cache frasa pencarian populer. Hasil pencarian ini berada di memori. Jadi jika Anda mencari sesuatu yang banyak dicari, hasilnya akan segera muncul.
sumber
Untuk menjawab pertanyaan pada tingkat sederhana: bayangkan Anda memiliki buku teks dengan indeks kata kunci di bagian belakang.
Mencari hard disk (secara naif, setidaknya) seperti menelusuri buku, halaman demi halaman, memindai setiap baris untuk mengetahui kata kunci Anda.
Menggunakan mesin pencari Internet seperti mencari kata kunci dalam indeks, dan kemudian beralih langsung ke nomor halaman yang diberikannya.
Pada kenyataannya tentu saja, ini jauh lebih kompleks dari ini. Misalnya, Anda biasanya akan mencari hard disk Anda untuk berbagai jenis informasi daripada Internet. Tetapi hal dasar yang harus diambil adalah bahwa mesin pencari menggunakan indeks. Itu sudah melalui "buku", kata demi kata, dan telah menyusun daftar kata-kata itu bersama dengan di mana menemukannya, dan ia telah mengatur daftar sedemikian rupa sehingga dapat mencari hal-hal di dalamnya dengan sangat cepat .
Misalnya, pikirkan tentang pengorganisasian indeks dalam sebuah buku. Pertama, biasanya diurutkan berdasarkan abjad, dan kedua mungkin memiliki judul surat. Ketika Anda mencari kata dalam indeks Anda dapat melihat langsung daftar kata yang dimulai dengan huruf yang Anda inginkan. Dan karena daftar diurutkan, mudah untuk menemukan kata yang Anda inginkan di dalam daftar, atau untuk mengatakan dengan cepat jika hilang.
Jadi untuk meringkas, ini seperti hard disk Anda hanya memiliki buku, sedangkan mesin pencari memiliki indeks. Meskipun seperti yang ditunjukkan beberapa orang lainnya, dimungkinkan untuk menggunakan perangkat lunak untuk mengindeks hard disk Anda, dan kemudian Anda dapat menggunakan indeks alih-alih semuanya.
sumber
Saya kira salah satu alasan Google muncul
Auto Complete
dan digunakanAJAX
adalah masalah kecepatan. Sekarang saat Anda mengetik, kata-kata dikirim di latar belakang sehingga Google dapat melakukan sebagian pekerjaan saat Anda belum selesai. Juga indeks didasarkan pada beberapa kombinasi kata (yang dapat Anda temukan sebagai saran di bagian bawah halaman). Saat ini kecepatan jaringan lebih tinggi daripada hard-drive dan mungkin banyak dari indeks tersebut berada di RAM server di pertanian mereka.sumber