Google Bu İşi Nasıl Nasıl Yapıyor? Milyonlarca Sonuç ve 0,21 Saniye

google-veri-toplamaUzun zamandır merak ettiğim ve araştırdığım bir konu bu soruyu kime sorsam ıgghh edip duruyordu.  Cevapsız olan kalan sorularımdan bir tanesiydi. Bugün  Musa Savaş abime sordum ve …

Her zaman merak ettiğim Google üzerinde bir kelime aradığımızda milyonlarca sonuç buluyor hemde milisaniyeler içerisinde bunları karşımıza getirebiliyor.  Peki bu kadar hızlı bir taramayı bu kadar büyük bir veri yığını içerisinden SQL sorgusuyla,  kendi filtrelemeleriyle ve kullanıcı filtrelemelerinden geçirerek karşımıza birkaç milisaniye içerisinde nasıl getirebildiğiydi. Nasıl bir teknoloji kullandıklarıydı…

Düşünsenize Google’ı açıyorsunuz ve bir kelime arıyorsunuz ..

send feedback için yaklaşık 265.000.000 sonuçtan 1 – 10 arası sonuçlar (0,24 saniye)

Karşınıza 250 milyon sonuç çıkıyor ve bu sonuçlar 0,24 saniye gibi manyak bir süre içersinde listeleniyor.   Google önbelleğine aldığı sitelerin içerisinde aradığımız kelimeyi tarıyor ve bu kelime ile alakalı sonuçları kendi kurallarına ve filtrelerine göre dizerek karşımıza getiriyor.  Bunu hangi bilgisayar diski ile 0,24 saniyede getirebilirsiniz ?

Ne kadar süper bir işlemcinizde olsa ne kadar hızlı bir diskiniz bile olsa bu kadar düşük bir süre için  artık işlemci – ram veya harddisk hızını geçtim altın ile baskı devresi olan anakart bile olsa işletim sisteminin hızının bile yetmeyeceğine karar verdim.  Hadi geçtim işletim sistemini  diskin FAT32 / NTFS bile olmasının bu hızda etkisi olacağını ortaya çıkıyor.

En hızlı dosya sistemi olarak NTFS ‘yi bile ele alsak desek ki Google NTFS olan disklere veriyi yazsa yinede NTFS ‘nin bile hızının bu kadar sonucu 0,24 saniyede getirebileceğine imkan vermiyorum.

Peki ne olabilir ?

1. Google kendi server makinalarını özel yaptırıyor.   Tamam olabilir.

2. Google kendi işletim sistemini kullanıyor.  Tamam kesinlikle böyle.

3. Google kendi dosya sistemini yazdı.  Abi o kadar hızlı bir dosya sistemi olabilir mi ?

4. Google binlerce sunucusu ile aynı anda sorguyu çalıştırıyor.  Olsun yinede bu hız ?

Musa Abi gülümseyerek şu cevabı verdi ;

Google verilerinin bir kopyasını disk yüzyinde taşıyor fakat asıl veri tabanını disk yüzeyinde taşımıyor.

Nasıl yani bir disk kullanmıyor mu ?  Ne kullanıyor ? Veriyi nerede tutuyor ?

Ramlerde..!

Bir an şaşırdım veriyi nasıl RAM üzerinde tutabilir ki dedim ? Bu kadar büyük bir veri yığını RAM üzerinde tutulabilir mi ?  Evet dedi. Google’ın en büyük yatırımı RAM lerdir.   Bu yüzden bir sürü diski var bu diskleride Gmail deki hayvan gibi depolama sistemi sunabiliyor :)  Boşa ziyan olmasın :)

Hiç böyle birşeyi düşünmemiştim.  Hani Google’ın veri tabanının RAM ler üzerinde tutulabileceği ? Tabiki disk hızı, dosya sistemi felan hikaye olarak kalıyor.  Olay tamamiyle SQL sorgusuna kadar RAM üzerinde tutulması 0,24 milisaniyede milyonlarca sonuç üzerinde tarama yapmasına ve sonuçların filtreleme edilmesine olanak verebilir.

Şimdi kafamda yeni bir soru işareti oluştu… Google RAM ‘leri hangi firmadan alıyor :) Herhalde sağlam bir bütçe ve sağlam bir yatırım hangi firmadan alıyorsa o firmayı ihya ediyordur kesin :)

Neyse orası bizi ilgilendirmez :)

“Google Bu İşi Nasıl Nasıl Yapıyor? Milyonlarca Sonuç ve 0,21 Saniye” üzerine 27 yorum

  1. Ayrıca! ram lerdeki bilgi ufak bir kaynak (elektirik) kesintisi ile gider google verilerini böyle risk altında taşıyamaz bence ram çok saçma olmuş:D

    Cevapla
  2. Hamza hocam bence Google’ın başarısında donanım ikinci planda. Bir yerlerde Google’ın algoritmasının matematiksel formüle döküldüğünü okumuştum. Matematiksel açıdan Google, pagerank’i hesaplamak için, 500 milyon tane değişken barındıran bir denklemi çözüyormuş. Böylesine bir algoritmaya zaten donanım dayanmaz. Özel yaptırıyorlardır.

    Cevapla
  3. Ben bu bilgiyi ilk öğrendiğimde afallamıştım, sonrasında biraz araştırınca gerçekten RAM üzerinden tüm sorgularını çalıştırdığını öğrendim. Üstelik her aramayı sonuclarıyla birlikte kaydettiğini de öğrenince bayağı bi şaşırmıştım.

    Google ‘ın datacenterlarından birisi: http://is.gd/3crFq

    Cevapla
  4. Acaba “sql”, ram’ler uzerinden mi select ediliyor?
    Ayrıca tasan verinin disk’e yazılgıdını da dusunursek.Muhtemelen bu olasılıklara karsı mutlaka saglam bir hdd kullanıyorlardır.

    Cevapla
  5. Google tamamen comodity, yani orta seviye sunucular üzerinde çalışır.
    Araştırma için başlangıç olarak:
    Google big table: Kolon tabanlı veritabanı RDBMS değildir!
    map reduce: Sonuçlar üzerinde önceden çalışılır.
    google file system: Multi homing için, dns round robin ve BGP ile birlikte.

    Cevapla
  6. sakın ola ki, google’ın siz arama butonuna basmadan evvel her harfi almak için ajax kullanma olayını unutmayın :)

    Cevapla
  7. Ramdrive dedikleri teknolojiyi biz 15 sene önce amiga 500 de kullanıyorduk. :) Jet hızıyla açılıyordu. İnsanların yeni zannetikleri herşey zaten geçmişte kullanılan teknolojiler. Teşekkürler Bilgi İçin

    Cevapla

Yorum yapın

teakolik hamza şamlıoğlu blog logo

Wordpress altyapısını kullandığımız bu sistem, Sunucu Çözümleri firmasında yüksek performans sağlayan özel sunucularda barındırılmaktadır. Görüntülemek için en iyi Chrome tarayıcı, 1920x1080 çözünürlük ve Full HD Android telefonlarda çalışır. Ayrıca Sitedeki içeriği istediğiniz gibi çarpabilirsiniz. :)