Bu aralar sıkça ölçeklenebilirlik üzerine yazılar okuyorum. Her zaman olduğu gibi tükenmeyen bir heyecanla ilgimi çekmeye devam ediyor. İtiraf etmek gerekirse bu tip mühendislik problemlerine oldum olası ilgi duymuş ve çözümlerini merak etmişimdir.

Bugün Google, lab‘dan aniden çıkmış bir arama ürününü duyurdu. (Google Search 2010 Instant Lansmanı-87 dk) Google Instant. Özetle siz arama kutusuna yazmaya başladıkça sayfanın kalanında gerçek arama sonuçları ve önerileri gelmeye başlıyor. Arama kutusunda gelen önerileri tab tuşu ile tamamlayabiliyorsunuz. Elbette son kullanıcı ve arka tarafta neler olduğu hakkında fikri olmayan biri için oldukça basit ama kullanışlı bir uygulama. Çünkü sıradan kullanıcı aramasının sonucunu en hızlı şekilde görebilecek ve tüm sayfanın yüklenmesini beklemeyecek olması kullanıcı deneyiminde belki de bir devrim. (Kullanıcı deneyimi demişken elbette işin içinde Marissa Mayer parmağı var.)

Aslında Google, yaptığı değişikliklerle kullanıcı alışkanlıklarını zorlamanın sınırlarına geliyor. (bu konuyla ilgili Mehmet Doğan’ın Yeni Tasarım yazısını okumakta fayda var) Fakat başarılı bir şekilde her defasında trendsetter olarak bu işin içinden çıkıp kullanıcılarını yormadan yeni kullanımları kolayca adapte edebiliyor. (fare imlecini kımıldatmadıkça kutu ve arama düğmesi dışında hiçbir elementi görünmeyen ana sayfayı hatırlayın.)

Google’ın dünya geneline yayılmış Akamai CDN’deki sunucularının hızı ortada. Galiba yurt dışında olup da bu kadar hızlı response time alabildiğiniz bir ağ daha yoktur. (ortalama 400 ms x 2) Peki ya Google sunucularındaki aramanın hızı? Bundan bahsetmeye gerek bile yok (en fazla 300 ms). Yıllar önce dağıtık işlemenin ve indexlemenin kitabını yazan (işte burada biraz fanboy’luk) Google, bu özellik ile aslında bir sorguda çözebileceği kullanıcı aramasını kafadan 3-5 katına çıkarmayı göze alıyor.

Her mühendisin düşünmesi gereken soru, daha ne kadar optimize edilebilir, dar boğaz (bottleneck) neresi diyenler için Google webspam takımı yöneticisi Matt Cutts’dan geliyor:

Google typically returns search results in milliseconds, but it takes several seconds for you to type a query. In other words, the limiting factor on a typical search is you. :) Son bir yıl içinde çıkan (Google arama sonucu sayfasında solda dikkatinizi çeken) ileri düzey ayarlar; örneğin zaman aralığı, son bulunan sonuçlar, sosyal çevrenizden sonuçlar, ilgili aramalar vb. ile git gide güçlenirken basitliğinden de bir şey kaybetmeyen Google search artık haftada 1 milyar farklı kullanıcıya ulaşabiliyor.

Google, Instant (anlık arama) arkasında 15 yeni teknolojinin kullanıldığını söylüyor. Şimdilik isimleri olmasa da Google’ın kendi içinde geliştirip kullandığı tonlarca tekniğin buna katkısı olduğunu rahatlıkla söyleyebiliriz. Peki Google bütün bunları nasıl ölçekliyor derseniz:

Dipnot: Mutlaka Bing[ kullanıcıları gelip Bing’de de çok rahat yapılır ki bu, diyeceklerdir. Evet yapılır, hatta amatör olarak gerçeklenmiş. Kimse yapılamaz demedi, önemli olan başarılı deneyimi sunabilmek. Bu linkten Bing API ile yaratılan aramayı görün ve Google Instant ile “eyjafjallaokull”un “eyj” kısmını yazarak karşılaştırın, hangisi leb demeden leblebiyi anlayıp sonucu getirebiliyor deneyin. Bing ile Google Search’ün arama kutusuna yazdıkça getirdikleri önerileri ve tamamlamalardaki başarılarını da karşılaştırmakta fayda var.

Güncelleme: (Google Blog’undan) Google Instant: Behind The Scenes