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. RAM’ler aklıma daha önce yatmıştı ama bende anlam veremedim. Windows da il açılma anında RAM lere alınıyor ve oradan çalışıyor yoksa baya yavaş olurdu:) Akıl alır gibi değil! Kim bilir ne kadar RAm i vardır? İstesem bi tanesini hediye yollarlar mı acep? 🙂 Teşekkürler, soru işeretinin yerin ünlem aldı 😀

    Yanıtla
  2. Yanlış hatırlamıyorsam izlediğim bi seminerde 2. el ramleri ve bozuk ramleri tamir ederek kullandıklarını söylemişlerdi.

    Yanıtla
  3. Ek Bilgi: RAM’ler üzerindeki verileri elektrik akımı olduğu müddetçe tutabilirler. Çok hızlıdırlar fakat elektrikte milisaniyelik bir kesinti bile olsa tüm veriler RAM üzerinden uçar gider. Bu nedenle mutlaka disklere de kayıt ediliyordur.

    Hamza hocam yazdığın bu konuda, Google binlerce sunucusu ile özel bir paralel işlem mekanizması kullanarak sorgu yaptırıyor diye duymuştum. Yani mesela TR’de bulunan bir Google sunucusu anlık olarak 200 sorguya izin veriyor diyelim, bu şekilde binlerce sunucu arasında paylaşım yapılıyor ve bu müthiş gizli algoritma sayesinde çok kısa sürece istenen kelimeler aratılıyor diye biliyorum.

    Yanıtla
  4. Meraj ediyordum öğrendim. Ama ben de şimdi o ram’leri üreten firmayı merak ettim 🙂 Şunu da merak ediyorum, neden hep başkalarının hikâyelerine şaşırıyoruz? Bi gün bir Türk firmasının bu türlü efsanevi hikâyelerine şaşaıracakmıyız. Vay bee diyecekmiyiz?

    Yanıtla
  5. Vallaha süpermiş hiç düşünmemiştim böyle bir souyu 🙂 Ama cevabını heyecanla okudum.Demek ram ha! vallaha bu google’ı durduramazlar.Kafaları çalışıyor bunların :))

    Yanıtla
  6. RAM hee vayy bee mantıklı RAM leri kullanıyor DİSK ler boş kalıyor onlarıda GMAIL gibi yada benzer işlerde kullanıyor 🙂 hımmm dogru cevapları aldıgımızda kareler yerlerine oturuyor ve dogru sonuc gibi geliyor. Musa ve Hamza’ya Teşekkürler.

    Yanıtla
  7. Bence ram lerde tutma hikaye.Çünkü şu açıdan düşünürsek sanki arama yaptığımız sayfalar hazır.Ve 0,21 saniye bir sql sorgusunun zamanı gibi.Ve sayfalarımız dikatinizi çekdiyse yavaş yavaş indexleniyor.Kendi azımızla diyoruz indexleniyor yani yaptığımız arama veritabanında kayıtlı biz arama ile yapacağımız tüm aramayı komple alıyoruz yani aslında aradığımız şey önceden hazırlanmış durumda.Aksi takdirde bir arama günler sürebilir…

    Yanıtla
  8. 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

    Yanıtla
  9. 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.

    Yanıtla
  10. 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

    Yanıtla
  11. 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.

    Yanıtla
  12. 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.

    Yanıtla
  13. sakın ola ki, google’ın siz arama butonuna basmadan evvel her harfi almak için ajax kullanma olayını unutmayın 🙂

    Yanıtla
  14. 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

    Yanıtla

Yorum yapın