Biraz uzun oldu ama yapay zekanın cevabı:
1) Milyarlarca isteği tek yere atmıyorlar: trafik kenarda kırılıyor
Googleda kritik fikir şu:
kullanıcıya en yakın noktada iş başlar.- Dünya çapında edge/PoP (Point of Presence) noktaları var. DNS ve anycast routing ile istekler en yakın/az yükteki bölgeye gider.
- Poplarda:
- TLS sonlandırma
- Bot/DDOS filtreleme
- önbellek (cache)
- Basit/çok sık gelen sorgular için hazır cevap
yapılır.
Sonuç: Merkezi datacentera giden istek sayısı ciddi azalır; gidenler de ön işlenmiş daha hafif istekler olur.
2) Arama motorunun veri yapısı: dev bir database değil, dev bir indeks
Arama dediğimiz şey DB sorgusu gibi görünse de aslında ana iş
inverted index (ters indeks) kullanmak.
Yani
kelimeden dokümana giden harita.
2.2 Bu indeks nasıl saklanır?
- İndeks, parçalara (shard) bölünür.
- Her shard birden fazla makinede replike edilir.
- Saklama tarafında Googleın kendi dağıtık dosya sistemi (eski GFS → yeni Colossus) üzerinde durur.
- Meta/veri servisleri için Bigtable/Spanner benzeri dağıtık KV/kolon DBler kullanılır ama arama servingin kalbi inverted indextir.
Sonuç: tek dev DB yerine
binlerce shard + replika.
3) Crawl → Index → Serve: üç ana hat
Google Searchü bir fabrika gibi düşün:
3.1 Crawl (toplama)
- Web botları sayfaları gezer.
- Robots.txt, site hız limitleri, içerik tazeliği vb. kurallar var.
- İçerik ham halde dağıtık depoya yazılır.
3.2 Indexing (işleme)
- Sayfadan metin çıkarma, dil algılama, spam/kalite skorları, link grafı, yapısal veri, medya analizi
- MapReduce-benzeri batch işler ile dev paralel işlem yapılır.
- Çıktı: ters indeks parçaları + çeşitli sinyaller.
3.3 Serving (kullanıcı sorgusu)
- Sorgu gelir → normalizasyon (dil, yazım, eş anlam, niyet).
- İlgili shardlara dağıtılır.
- Her shard kendi top K sonucunu döner.
- Aggregator bunları birleştirip sıralar, UIya taşır.
4) Sorgulama sistemi neye göre çalışır?
4.1 Adım adım query pipeline
- Query rewrite
- Yazım düzeltme
- Eş anlamlı/benzer kelime genişletme
- Yerelleştirme (TR → Türkiye kaynaklarını öne çekme)
- Niyet sınıflandırma (bilgi mi, alışveriş mi, navigasyon mu?)
- Candidate retrieval
- Ters indeks ile bu kelimeleri içeren doküman havuzu çekilir.
- Bu havuz milyonlar olabilir ama shardlarda çok hızlı bulunur.
- Ranking
- Yüzlerce sinyal:
- metin eşleşmesi
- link otoritesi (PageRank türevleri)
- tazelik
- kullanıcı memnuniyeti sinyalleri
- spam/kalite
- konum
- sayfa hızı/UX
- yapısal veri uyumu
- Modern tarafta büyük kısmı ML/LLM destekli learning-to-rank modelleriyle tartılır.
- Re-ranking / post-processing
- Çeşitlilik (aynı kaynaktan 10 sonuç gelmesin)
- Güvenlik filtreleri
- Snippet üretimi
- Görsel/video/news dikeyleri harmanlama
Önemli nokta: İlk retrieval çok hızlı geniş ağ; derin ML işi ise daha küçük top-N üzerinde çalışır → latency düşük kalır.
5) O kadar RAM/CPU/GPUyu nasıl optimize kullanıyorlar?
5.1 Bellek hiyerarşisi ve cache katmanları
Googleda arama için
RAM altın. Çünkü diskten okumak milisaniyeler, RAMden nanosaniyeler.
- Edge cache: En popüler sorguların sonuçları
- Datacenter cache: Popüler shard blokları RAMde tutulur
- OS / FS cache: sıcak veri
- Cold storage: nadir erişilen indeks parçaları disk/SSDde
80/20 kuralı gerçek: sorguların küçük bir kısmı trafiğin çoğunu oluşturur → cache ile uçururlar.
5.2 Sharding + parallelism
- Bir sorgu tek makineye değil, yüzlerce shard sunucusuna paralel gider.
- Her shard kendi küçük parçasında çalışır.
- Paralel toplamına bakarsan dev işlem çok kısa sürer.
5.3 Load balancing ve hızlı failover
- Her shardın birden fazla kopyası var.
- En hızlı cevap veren replika kullanılır (tail latency azaltma).
- Bir makina yavaşsa hedged requests ile ikinci kopyaya aynı anda sorulur.
5.4 Süreç yönetimi (Borg/Kubernetes benzeri)
- Googleda iş yükleri konteyner/cluster scheduler ile dağıtılır:
- CPU boşta kalmasın
- RAM aşırı şişmesin
- Aynı racke bağımlılık olmasın
- Arama gibi kritik servisler yüksek öncelik alır.
6) Gecikme (latency) neden bu kadar düşük?
Bir sorgunun bütçesi kabaca:
- Edgee ulaşım: ~1030 ms
- Query rewrite + routing: ~15 ms
- Shard retrieval (paralel): ~1030 ms
- Ranking + snippet: ~520 ms
- UI dönüş: ~510 ms
Toplam: çoğu zaman
<100 ms bandı.
Bunu tutturmak için:
- Paralel shard sorgusu
- Heavy ML sadece top adayda
- Cache
- Replika/hedge
- Ağa yakın computation
7) Basit bir muhtemel Google Search mimarisi şeması
- Client
- DNS/Anycast → Edge PoP
- Edge cache / güvenlik
- Query broker (DC içinde)
- Shard router
- Index servers (inverted index parçaları, RAM ağırlıklı)
- Top-K aggregator
- Ranking/ML servisleri
- Snippet & vertical blender
- Result cache → Edge → Client
8) Neden datacenter adaları yetiyor gibi görünüyor?
Çünkü kapasiteyi 3 şeyle efektif büyütüyorlar:
- Veriyi böl (shard)
- İşi paralelleştir
- Sıcak veriyi RAM/cachee al
Bu üçü sayesinde aynı donanım:
- daha çok sorgu taşır,
- daha düşük gecikme verir,
- arıza toleranslı olur.
9) Senin tarafına yansıyan pratik çıkarım (SEO açısından)
Googleın sistemi
anlamsal + kalite sinyallerine dayanıyor. Bu yüzden:
- Net konu ve niyet (sayfa tek soruyu çok iyi cevaplasın)
- Yapısal veri (schema)
- Tazelik + otorite (dış link kadar içerik tutarlılığı)
- Hız/UX
- Spamden uzak doğal metin
Ters indeks kelime eşleşmesiyle başlatır, ama final sıralama
kalite ve niyet çözümü