Teknologi basis data apa yang digunakan mesin pencari besar? [Tutup]

32

Adakah yang tahu bagaimana Google atau Yahoo melakukan pencarian kata kunci terhadap jumlah data yang sangat besar? Database atau teknologi apa yang mereka gunakan untuk ini?

Dibutuhkan beberapa milidetik, tetapi indeks mereka lebih dari satu miliar halaman.

rkosegi
sumber
Ada pertanyaan serupa di Stack Overflow: stackoverflow.com/questions/362956/…
splattne

Jawaban:

21

Saya yakin ada kombinasi beberapa hal:

  • perangkat keras yang serius
  • banyak - data didistribusikan dan direplikasi di banyak node dan pusat data yang berbeda

    • (sebenarnya dalam kasus Google setidaknya saya percaya mereka memiliki ribuan server yang sangat rendah)
  • banyak hasil kueri umum di-cache, perhatikan bagaimana mereka mempopulasi pencarian potensial untuk hal-hal yang Anda tahu belum pernah dicari sebelumnya; mereka memperkirakan apa yang mungkin Anda cari dan berharap hasil Anda sudah dihitung sebelumnya dan di-cache di suatu tempat. Dalam banyak kasus yang mereka lakukan - tidak ada banyak pencarian yang dapat Anda lakukan di Google hari ini yang belum ditanyakan oleh seseorang sebelum Anda. Ketika mereka mendapatkan frasa pencarian baru maka mereka mungkin menggunakan sesuatu seperti pencarian teks bebas - dan saya berharap kata kunci diekstraksi secara semantik ketika sebuah halaman pertama kali dijelajahi daripada mencoba untuk menemukan kata kunci dalam dokumen setelah Anda mencari mereka . Tentu saja mereka harus membatalkan cache itu secara berkala, menghitung ulang peringkat halaman,
Aaron Bertrand
sumber
34

Merpati .

Inti dari teknologi pencarian Google adalah PigeonRank ™ , sistem untuk menentukan peringkat halaman web yang dikembangkan oleh pendiri Google Larry Page dan Sergey Brin di Stanford University:

masukkan deskripsi gambar di sini

Membangun atas karya terobosan BF Skinner, Page dan Brin beralasan bahwa biaya rendah cluster merpati (PC) dapat digunakan untuk menghitung nilai relatif halaman web lebih cepat daripada editor manusia atau algoritma berbasis mesin. Dan sementara Google memiliki banyak insinyur yang bekerja untuk meningkatkan setiap aspek layanan kami setiap hari, PigeonRank terus memberikan dasar untuk semua alat pencarian web kami.

Mengapa PigeonRank ™ yang dipatenkan Google bekerja dengan sangat baik

Keberhasilan PigeonRank terutama bergantung pada kemampuan latih yang unggul dari merpati domestik (Columba livia) dan kapasitasnya yang unik untuk mengenali objek. terlepas dari orientasi spasial. Merpati abu-abu umum dapat dengan mudah membedakan antara item yang hanya menampilkan perbedaan terkecil, kemampuan yang memungkinkannya untuk memilih situs web yang relevan dari antara ribuan halaman yang serupa.

Dengan mengumpulkan kawanan merpati dalam kelompok padat, Google dapat memproses permintaan pencarian dengan kecepatan lebih tinggi dari mesin pencari tradisional, yang biasanya mengandalkan burung pemangsa, induk ayam yang merenung atau unggas air yang bergerak lambat untuk melakukan pemeringkatan relevansinya.

Ketika kueri pencarian dikirim ke Google, itu dialihkan ke kandang data di mana monitor halaman hasil flash dengan kecepatan sangat tinggi . Ketika hasil yang relevan diamati oleh salah satu merpati di kluster, ia menabrak batang baja berlapis karet dengan paruhnya, yang memberikan nilai PigeonRank satu halaman. Untuk setiap kecupan, PigeonRank meningkat . Halaman-halaman yang menerima paling banyak mematuk, dikembalikan di bagian atas halaman hasil pengguna dengan hasil lainnya yang ditampilkan dalam urutan kekuasaan.

ypercubeᵀᴹ
sumber
6
Catatan: Halaman ini diposting untuk April Fool's Day - 2002
dr jimbob
19

Penting untuk diingat beberapa hal tentang google:

  • DB mereka adalah BigTable yang dipatenkan - itu dirancang khusus oleh GOOGLE agar sesuai dengan kebutuhan mereka

  • DB milik mereka dibangun di atas sistem file milik mereka - Google File System - ini dirancang, lagi-lagi oleh GOOGLE , agar mudah diperluas menggunakan perangkat keras komoditas umum. Seperti yang disebutkan Aaron dalam jawabannya, mereka memiliki sejumlah besar server rata-rata alih-alih sejumlah kecil server yang sangat kuat.

Mereka menyimpan tabel individual di beberapa mesin sebagai cara untuk membuat akses lebih cepat - perangkat lunak mereka tahu data mana yang ada di mesin mana dan alih-alih meretas melalui disk untuk menemukannya dapat langsung menuju ke server dengan info yang relevan.

JNK
sumber
9

Baca Steven Levy " In The Plex: Bagaimana Google Berpikir, Bekerja, dan Membentuk Kehidupan Kita ". Buku ini adalah bacaan yang menarik tentang semua hal yang dibahas Google dan pada tingkat tinggi beberapa teknologi dan teknik di balik pencarian. Aaron meringkaskannya dengan sangat baik dalam jawabannya dan buku Levy akan memberi Anda lebih banyak detail tentang bagaimana mereka melakukannya.

Todd Everett
sumber