Sanjay Ghemawat Kimdir? MapReduce ve Google

Sanjay Ghemawat, Hindistan kökenli Amerikalı olan bir yazılım ve bilgisayar bilimcisidir. Google’da Sistem Altyapı Grubu’nda kıdemli araştırmacılardan biri olmuş ve Google büyük katkı sağlamıştır. Google’ın, Jeff Dean ve Sanjay Ghemawat ile çalıştığı zaman boyunca, büyük veri işleme modeli olan MapReduce, Google Dosya Sistemi, Bigtable ve Spanner veritabanları ortaya çıkmıştır. 



Ghemawat, Cornell Üniversitesi ve Massachusetts Teknoloji Enstitüsü’nde öğrenim gördü. 1995 yılında MIT’den “The Modified Object Buffer: An Object-Orientated Database Storage Technique” başlıklı tezi ile doktora derecesi sahibi oldu.

Ghemawat, Google’a katılmadan önce DEC Systems Research Center’da çalıştı. DEC’de çalışırken, yakınlardaki başka bir DEC araştırma laboratuvarında çalışan Jeff Dean ile uzun süreli arkadaşlığı ve ortaklığını başladı. Ghemawat’ın DEC çalışmaları, bir Java derleyicisini ve sistem profili oluşturma aracını içeriyordu.

Sanjay Ghemawat’ın Google Kariyeri 

DEC’in “Compaq” tarafından satın alınmasından sonra çalışan araştırmacıların çoğu şirketten istifa etti. 1982 yılında kurulan Compaq, Amerika Birleşik Devletleri’nde teknoloji şirketidir. Bilgisayarlarla ilgili her türlü ürün ve hizmet sağlar.

Jeff Dean, yeni kurulan Google arama motoru şirketinde bir pozisyon devraldı. 1999’da Sanjay Ghemawat da onunla birlikte çalışmaya başladı. Dean ve Sanjay Ghemawat, 2000’lerin başında Google arama motorunun popülaritesinin hızla artmasıyla birlikte oluşan problemlerle uğraştılar. Birlikte Google’ın temel altyapısı üzerinde yoğun mesai harcadılar.

Jeff Dean Hakkında

Jeff Dean, bilgisayar bilimcisi ve yazılım mühendisidir. 1999’da Google’da çalışmaya başladı ve şu anda Google AI kısmında kıdemli olarak çalışmaya devam ediyor. 53 yaşındaki bilgisayar bilimci, Google’ın araştırma ve sağlık bölümünü yönetiyor. Google’ın tarama, dizine ekleme daha birçok sisteminin birçok özelliğini tasarladı ve hayata geçirdi.

Google’ın ilk reklamcılık sistemlerinin önemli parçalarını yine ekiple birlikte tasarımını yaptı ve uygulamaya geçirdi. MapReduce, BigTable ve Spanner sistemleri, protokol arabellekleri, makine öğrenimi için açık kaynaklı TensorFlow sistemi ve çeşitli dahili ve harici bellekler, geliştirici araçlar da dahil olmak üzere Google’ın bilgi işlem altyapısının ortak tasarımcısı ve ortak uygulayıcısı oldu.

1990’da Minnesota Üniversitesi’nin Bilgisayar Bilimi ve Mühendisliği bölümünden lisans mezunu oldu. Ardından 1996 yılında Washington Üniversitesi’nden Bilgisayar Bilimleri alanında doktora derecesi aldı. Ulusal Mühendislik Akademisi üyesi, Bilgisayar Makineleri Derneği (ACM), Amerikan Bilimleri Geliştirme Derneği (AAAS) üyesi oldu. Ayrıca Bilgi İşlemde tıpkı Sanjay Ghemawat gibi ACM Ödülü sahibi bir bilgisayar ustasıdır. 

jeff dean
Jeff Dean

Sanjay Ghemawat ve Dean Google’daki Çalışmaları

Belirttiğimiz gibi Sanjay, Dean ile birlikte Google’a oldukça büyük katkılar sağlamıştır. Bunların arasında Map Reduce, Google Dosya Sistemi, Spanner, Bigtable ve TensorFlow gibi çalışmaları saymak mümkündür. Şimdi tüm bu önemli çalışmalara yakından bakalım:



MapReduce

MapReduce, büyük miktarda olan veriyi paralel olarak büyük ticari donanım alanlarında güvenilir olacak bir şekilde işlemek ve uygulamalar yazabilmek için oluşturulmuş bir çerçevedir.

Ghemawat ve Dean tarafından geliştirilen MapReduce, Java tabanlıdır. Dağıtılmış hesaplama için bir işleme tekniği ve program modeli olarak tanımlanır. MapReduce algoritmasının iki önemli işlevi vardır.  Bunlardan ilki, bir veri kümesini alması ve onu, ayrı ayrı öğelerde gruplara (anahtar/değer çiftleri) ayrıldığı başka bir veri kümesine dönüştürür. İkinci olarak, bir haritadan çıktıyı girdi olarak alır. Ayrıca bu veri gruplarını daha küçük bir grup halinde birleştirir. MapReduce adından da anlaşılacağı gibi, azaltma işlevi her zaman harita işleminden sonra gerçekleşir.

MapReduce’un en büyük avantajı, veri işlemeyi birden çok hesaplama noktası üzerinden ölçeklendirmenin çok daha kolay olmasıdır. MapReduce modeli altında yer alan veri işleme ilkellerine eşleyiciler ve azaltıcılar vardır. MapReduce formunda bir uygulamada, bu uygulamayı bir kümede yüzlerce, binlerce veya makine üzerinde çalışacak şekilde ölçeklendirmek yalnızca bir yapılandırma değişikliğidir. Bu basit ölçeklenebilirlik, birçok programcıyı MapReduce modelini kullanmaya sevk eden en önemli şeydir diyebiliriz.

Google Dosya Sistemi (Google File System)

Google Dosya Sistemi (GFS), büyük dağınık veri yoğun uygulamalar için ölçeklenebilen bir dosya sistemidir. Ucuz ticari donanımlarda bile hata toleransı sağlar. Çok sayıda istemciye yüksek ortalama performans sunar. Google Dosya Sistemi GFS, büyük veri kümelerinin oluşturulmasını ve işlenmesini gerektiren uygulamalar içindir. Bir depolama platformu olarak Google içinde yaygın olarak tercih ediliyor.

Google Dosya Sistemi, başarılı bir gerçek dünya tasarımını temsil eder. BigTable ve MapReduce gibi birçok Google uygulaması GFS’nin üzerine inşa edilmiştir. GFS belgesi (2003) başarılı bir şekilde yazılmıştır. Yazarların yani bilgisayar bilimcilerin uygulama düzeyinden ağ düzeyine kadar çeşitli değerlendirmelerini içinde barındırır.

Google Keşfet Android 12 ile Birlikte Güncellenecek

Google, milyarlarca dolar değerinde ve dünyanın en güçlü şirketlerinden biri olmuştur. World Wide Web ve ötesindeki en büyük güç oyuncularından biridir. Şirket, kullanıcıların verilere erişmek, veri oluşturmak ve değiştirmek için ihtiyaç duydukları altyapıyı sağlamayı amaçlar. Bunun için güçlü bir bilgi işlem sistemine sahip olmak ve buna güvenmek zorundadır.

Google’ın işlerinin sorunsuz yürümesini sağlamak için son teknoloji bilgisayar ve sunucuları olduğunun düşünülmesi yanlış olacaktır. Google’ın projelerine katkı sağlayan makineler, son teknoloji bilgisayarlar değildir. Genellikle Linux işletim sistemlerinde çalışan ucuz makinelerdir. İnternetin en etkili şirketlerinin başında gelen Google nasıl oluyor da ucuz bir donanıma güvenebiliyor? İşte bu sorunun yanıtı Google Dosya Sistemi’dir. GFS, oluşan herhangi bir donanım zayıflığını telafi eder ve hazır sunucuların güçlü yönlerinden yararlanır.

Spanner

Spanner, Google tarafından geliştirilmiş, dağıtılmış bir SQL veri tabanı yönetimi ve depolama olarak hizmet sağlar. Google Cloud Spanner, Google Cloud’da çalışan dağıtılmış bir ilişkisel veri tabanıdır. Küresel çevrimiçi işlem işleme alanlarını, SQL semantiğini, yatay ölçeklendirmeyi ve işlem tutarlılığını desteklemek için tasarlanmıştır. Bir ilişkisel veri tabanı hizmetidir.

Google Cloud Spanner’a olan ilgi, bulut veri tabanının hem kullanılabilirlik hem de tutarlılık sağlama becerisidir. Bu özellikler genellikle birbiriyle çelişkili olarak değerlendirilir. Veri tasarımcıları genellikle kullanılabilirliği veya tutarlılığı vurgulamak için ödünler verir. Böylelikle bu ödünler, web ve bulut sistemlerinde kullanılabilirlik ve ölçeklenebilirlik için NoSQL veri tabanlarına genel bir geçişi destekleyen CAP Teoremi’nde açıklanmıştır.

1998’de Eric Brewer tarafından ortaya atılan CAP teoremi özellikle dağıtık sistemlerle uğraşanların bildiği bir terim olmuştur. Bu teorem, dağınık bir sistemin aynı anda tutarlılık, ulaşılabilirlik ve bölünebilme toleransı koşullarına aynı anda sahip olamayacağı uyarısını yapar. Google Cloud Spanner, hem sistem kullanılabilirliğini hem de veri tutarlılığını sağlamak için SQL ve NoSQL özelliklerini bir arada tutar.



Bigtable

Google Bigtable, Google Inc. tarafından şirketin internet arama tüm hizmet operasyonlarıyla ilişkilidir. İnternet arama ve Web hizmetleri operasyonlarıyla ilişkili çok büyük miktarda veriyi işlemek için oluşturulan sütun odaklı bir veri deposudur.

Bigtable, çok büyük ölçeklenebilirlik gerektiren uygulamaları desteklemek için tasarlanmıştır. Veri tabanı, kümelenmiş sistemlere dağıtılmak üzere tasarlanmıştır ve Google’ın “seyrek, dağıtılmış, kalıcı çok boyutlu sıralanmış bir harita” olarak tanımladığı basit bir veri modelini kullanır. Veriler satır anahtarına göre sıralanır ve haritanın indekslenmesi satır, sütun anahtarları ve zamana göre düzenlenir. Bununla birlikte, sıkıştırma algoritmaları, yüksek kapasite elde etmeye yardımcı olur.

Google Bigtable, Google App Engine Datastore, Google Kişisel Arama, Google Earth ve Google Analytics gibi uygulamalar için veri tabanı görevi sağlar. Google, yazılımı tescilli, şirket içi bir teknoloji olarak korumuştur.

Bununla birlikte, Bigtable’ın NoSQL veri tabanı tasarımı üzerinde büyük bir etkisi oldu. Google yazılım geliştiricileri, 2006 yılında USENIX İşletim Sistemleri ve Tasarım Uygulaması Sempozyumu’nda sunulan teknik bir makalede Bigtable ayrıntılarını herkese açık bir şekilde açıkladı.

TensorFlow

TensorFlow, Google araştırmacıları tarafından makine öğrenimi, derin öğrenme ve diğer istatistiksel ve tahmine dayalı analitik iş yüklerini çalıştırmak için geliştirilen açık kaynaklı bir çerçevedir. Benzer platformlar gibi, veri bilimcileri, istatistikçiler ve tahmine dayalı modelleyiciler gibi kullanıcılar için gelişmiş analitik uygulamaları geliştirme ve yürütme sürecini kolaylaştırmak için tasarlanmıştır.

TensorFlow yazılımı, grafik biçiminde hesaplama düğümleri olarak sıralanan veri kümelerini işler. Bir grafikteki düğümleri birbirine bağlayan kenarlar, çok boyutlu matrisleri temsil eder. TensorFlow programları, hesaplamaların genel ara sonuçlarıyla çalışan bir veri akışı tercih eder. Bu ağlar yaygın bir örnek olmak üzere özellikle çok büyük ölçekli paralel işleme uygulamalarına açıktır.

Çerçeve, hem yüksek seviyeli hem de düşük seviyeli API kümelerini içerir. Google, veri hattı geliştirmeyi ve uygulama programlamayı basitleştirmek için mümkün olduğunda üst düzey olanları kullanmanızı önerir. Ancak TensorFlow Core olarak bilinen düşük seviyeli API’ların nasıl kullanıldığını öğrenmek, uygulamaların denenmesi ve hatalarının ayıklanarak onarılması için önemlidir. Ayrıca kullanıcılara, makine öğrenimi teknolojisinin iç işleyişinin zihinsel bir modelini sunar.

TensorFlow uygulamaları, geleneksel CPU’larda ve ayrıca Google’ın TensorFlow işlerini hızlandırmak için özel olarak tasarlanmış özel cihazlar olan kendi işleme birimlerinde (TPU’lar) çalışabilir. Veya daha yüksek performanslı grafik işleme birimlerinde (GPU’lar) çalışır. Google’ın 2016’da herkese açık olarak açıklanan ilk TPU’ları, şirketin bazı uygulamalarını ve çevrimiçi hizmetlerini güçlendirmek için TensorFlow ile birlikte dahili olarak bir aradaydı. Bunlar arasında RankBrain arama algoritması ve Sokak Görünümü haritalama teknolojisi de vardı.

2018’in başlarında Google, ikinci nesil TPU’ları eğitim ve kendi makine öğrenimi modellerini çalıştırmaları için Google Cloud Platform kullanıcılarının kullanımına sunarak harici TensorFlow çabalarını çok daha fazla geliştirdi. TensorFlow tabanlı iş yükleri, saniye bazında faturalandırılır. Böylece Google’a göre, Cloud TPU hizmeti başlangıçtaki cihazların yalnızca “sınırlı sayıda” olduğu bir beta programı olarak hizmete başlamıştır.

Sanjay Ghemawat Ödülleri

2009’da Sanjay Ghemawat, bilgisayar sistemleri alanına katkılarından dolayı Ulusal Mühendislik Akademisi’nde yer aldı. Ardından 2016’da Amerikan Sanat ve Bilim Akademisi’ne girdi. Ghemawat ve Jeff Dean, 2012 yılında internet altyapısı alanındaki çalışmaları nedeniyle ACM Ödülü’nü aldı. Yine yaratıcılık ve yenilikçilik alanındaki başarısı ve bilgisayar dünyasına katkısı nedeniyle ACM Mark Weiser ödülünü aldı. Ghemawat adından “internet çağının en önde gelen yazılım mühendislerinden biri” şeklinde söz ettiriyor.



Teknoloji'den geri kalmamak için e-posta listemize abone olun!

Editör, haberci, programcı. Gazetecilik mezunu, İletişim Bilimleri master’ı yaptı. Gözünü akademik kariyere dikti ve fakat bu hayalini gerçekleştiremedi. Yirmili yaşlarını gururla NTV’de bitirdi. Daha sonra başka ülkeye göçtü. Kitap editörlüğü ve çiçek yetiştiriciliği yapıyor. Teknoloji haberleri yazmayı seviyor.