Google veya Yahoo’nun çok büyük miktarlarda veriye karşı anahtar kelimeleri nasıl aradığını bilen var mı? Bunun için ne tür veritabanı veya teknolojiler kullanıyorlar?
Birkaç milisaniye sürer, ancak dizine eklenmiş bir milyardan fazla sayfa var.
Google veya Yahoo’nun çok büyük miktarlarda veriye karşı anahtar kelimeleri nasıl aradığını bilen var mı? Bunun için ne tür veritabanı veya teknolojiler kullanıyorlar?
Birkaç milisaniye sürer, ancak dizine eklenmiş bir milyardan fazla sayfa var.
Yanıtlar:
Bir şeylerin bir arada olduğundan eminim:
çok fazla - veriler birçok düğümde ve farklı veri merkezlerinde dağıtılır ve çoğaltılır
Güvercinler .
Google’ın arama teknolojisinin kalbi , Stanford Üniversitesi’nde Google kurucuları Larry Page ve Sergey Brin tarafından geliştirilen web sayfalarını sıralayan bir sistem olan PigeonRank ™ :
BF Skinner, Page ve Brin'in çığır açan çalışması üzerine inşa etmek, web sayfalarının göreceli değerini insan editörlerinden veya makine tabanlı algoritmalardan daha hızlı hesaplamak için düşük maliyetli güvercin kümelerinin (PC'ler) kullanılabileceğini düşündü. Ve Google’ın günlük olarak hizmetlerimizin her yönünü iyileştirmek için çalışan onlarca mühendisi olsa da, PigeonRank tüm web arama araçlarımız için temel oluşturmaya devam ediyor.
Google’ın patentli PigeonRank ™ neden bu kadar iyi çalışıyor?
PigeonRank'ın başarısı, öncelikle yerli güvercinlerin (Columba livia) üstün eğitilebilirliği ve mekansal yönelimden bağımsız olarak nesneleri tanıma konusundaki benzersiz kapasitesine dayanır . Yaygın gri güvercin, yalnızca en küçük farkları gösteren öğeler arasında kolayca ayırt edebilir, bu da binlerce benzer sayfadan alakalı web sitelerini seçmesini sağlar.
Yoğun kümelerdeki güvercin sürülerini toplayarak, Google, arama sorgularını, genellikle yırtıcı kuşlara, tavuklara veya yavaş hareket eden su kuşlarına alaka düzeylerini yapmak için kullanan geleneksel arama motorlarına göre daha yüksek hızlarda işleme koyabilir.
Bir arama sorgusu Google’a gönderildiğinde , flaş sonuç sayfalarını yanan hızlarda izleyen bir veri kümesine yönlendirilir . Bir zaman ilgili sonuç görülmektedir kümedeki güvercinler bir kişi tarafından, bu sayfayı birinin bir PigeonRank değer atar gagasının, bir kauçuk kaplı çelik çubuk vurur. Her gagalama için GüvercinRank artar . En fazla gagalamayı alan sayfalar, kullanıcının sonuç sayfasının en üstünde, gagalama sırasındaki diğer sonuçlarla birlikte döndürülür.
Google ile ilgili birkaç şeyi aklınızda bulundurmanız önemlidir:
DB'leri tescilli BigTable'dır - GOOGLE TARAFINDAN gereksinimlerine tam olarak uyacak şekilde özel olarak tasarlanmıştır.
Onların tescilli DB'leri kendi tescilli dosya sistemlerine ( Google Dosya Sistemi) dayanıyor - bu, yine GOOGLE tarafından , ortak mal donanımı kullanılarak kolayca genişletilebilecek şekilde tasarlandı . Aaron'un cevabında belirttiği gibi, az sayıda çok güçlü sunucu yerine çok sayıda ortalama sunucuya sahipler.
Tek tek tabloları erişimi daha hızlı hale getirmenin bir yolu olarak birden fazla makinede saklarlar - yazılımları hangi verinin hangi makinede olduğunu bilir ve bir diski atmak yerine doğrudan ilgili bilgiyle sunucuya gidebilir.
Google geleneksel ilişkisel veritabanı teknolojisini kullanmaz. Kendi teknolojisini geliştirdi, büyük masa ve harita azaltıldı. Orijinal araştırma makaleleri burada: Big Table ve Map / Reduce . Ayrıca ilgi olduğunu SSTable, sıralı dize tablo .
Benzer teknoloji şimdi hadoop ve NoSQL veritabanlarında kullanılmaktadır .
Steven Levy'nin " The Plex: Google'ın Yaşamlarımızı Nasıl Düşündüğü, İşlediğini ve Şekillendirdiğini " okuyun. Bu kitap Google’la ilgili her şeyi okuyor ve araştırmanın arkasındaki bazı teknoloji ve mühendisliği yüksek düzeyde tartışıyor. Aaron cevabında gerçekten çok iyi özetliyor ve Levy'nin kitabı nasıl yaptıkları hakkında size biraz daha detay verecek.