Google Dosya Sistemi - Google File System

Google Dosya Sistemi
İşletim sistemiLinux çekirdeği
TürDağıtılmış dosya sistemi
LisansTescilli

Google Dosya Sistemi (GFS veya GoogleFSile karıştırılmamalıdır GFS Linux dosya sistemi) bir tescilli dağıtılmış dosya sistemi tarafından geliştirilmiş Google büyük kümeler kullanarak verilere verimli ve güvenilir erişim sağlamak için emtia donanımı. Colossus kod adlı Google Dosya Sisteminin son sürümü 2010 yılında piyasaya sürüldü.[1][2]

Tasarım

Google Dosya Sistemi, kullanıcılar arası etkileşim için değil, sistemden sisteme etkileşim için tasarlanmıştır. Yığın sunucuları verileri otomatik olarak kopyalar.

GFS, Google'ın temel veri depolama ve kullanım ihtiyaçları için geliştirilmiştir (öncelikle arama motoru ), saklanması gereken çok büyük miktarda veri oluşturabilen; Google Dosya Sistemi, daha önceki bir Google çalışması olan "BigFiles" tarafından geliştirilmiştir. Larry Page ve Sergey Brin Google’ın ilk günlerinde, hâlâ bulunduğu yerde Stanford. Dosyalar sabit boyuta bölünmüştür parçalar 64 megabayt, normal dosya sistemlerindeki, çok nadiren üzerine yazılan veya küçülen kümelere veya sektörlere benzer; dosyalar genellikle eklenir veya okunur. Ayrıca, Google'ın hesaplama kümelerinde, ucuz "ticari" bilgisayarlardan oluşan yoğun düğümlerde çalışacak şekilde tasarlanmış ve optimize edilmiştir; bu, tek tek düğümlerin yüksek başarısızlık oranına ve sonraki veri kaybına karşı önlemlerin alınması gerektiği anlamına gelir. Diğer tasarım kararları yüksek veri için seçilir çıktılar pahasına gelse bile gecikme.

Bir GFS kümesi birden çok düğümden oluşur. Bu düğümler iki türe ayrılır: Usta düğüm ve çoklu Tıkaç sunucuları. Her dosya sabit boyutlu parçalara bölünmüştür. Servis sağlayıcıları bu parçaları saklar. Her bir parçaya, yaratma sırasında ana düğüm tarafından küresel olarak benzersiz bir 64 bitlik etiket atanır ve dosyaların kurucu parçalara mantıksal eşlemeleri korunur. Her yığın, ağ boyunca birkaç kez çoğaltılır. Varsayılan olarak, üç kez çoğaltılır, ancak bu yapılandırılabilir.[3] Yüksek talep gören dosyalar daha yüksek bir çoğaltma faktörüne sahip olabilirken, uygulama istemcisinin katı depolama optimizasyonları kullandığı dosyalar, hızlı çöp temizleme ilkeleriyle başa çıkmak için üç kereden daha az çoğaltılabilir.[3]

Ana sunucu genellikle gerçek parçaları saklamaz, bunun yerine meta veriler 64 bit etiketleri yığın konumlarına eşleyen tablolar ve oluşturdukları dosyalar (dosyalardan parçalara eşleme), yığınların kopyalarının konumları, hangi işlemlerin belirli bir yığın veya çoğaltmaya uygun olarak yığının bir "anlık görüntüsünü" alma (genellikle Ana sunucunun teşvikinde, düğüm hataları nedeniyle bir yığın kopya sayısı ayarlanan sayının altına düştüğünde). Tüm bu meta veriler, her yığın sunucusundan düzenli aralıklarla güncellemeler alan Ana sunucu tarafından güncel tutulur ("Kalp atışı mesajları").

Değişiklik izinleri, zaman sınırlı, süresi dolan bir "kiralama" sistemi tarafından ele alınır; burada Ana sunucu, belirli bir süre boyunca başka hiçbir işleme Ana sunucu tarafından parçayı değiştirme izni verilmeyecek şekilde bir işleme izin verir. . Her zaman birincil yığın tutucusu olan değiştirici yığın sunucusu, daha sonra değişiklikleri yedek kopyalarla yığın sunucularına yayar. Değişiklikler, tüm yığın sunucuları onaylayana kadar kaydedilmez, böylece tamamlama ve atomiklik operasyonun.

Programlar, istenen parçaların konumları için önce Ana sunucuyu sorgulayarak yığınlara erişirler; Parçalar çalıştırılmıyorsa (yani ödenmemiş kiralama yoksa), Ana birim konumlarla yanıt verir ve program daha sonra doğrudan yığın sunucusuyla bağlantı kurar ve verileri alır ( Kazaa ve Onun süper düğümler ).

Diğer birçok dosya sisteminin aksine, GFS, çekirdek bir işletim sistemi, ancak bunun yerine bir Kullanıcı alanı kütüphane.[4]

Arayüz

Google Dosya Sistemi bir POSIX arayüz.[5] Dosyalar, dizinlerde hiyerarşik olarak düzenlenir ve yol adlarıyla tanımlanır. Oluşturma, silme, açma, kapatma, okuma, yazma gibi dosya işlemleri desteklenmektedir. Birden çok istemcinin aynı dosyaya aynı anda veri eklemesine olanak tanıyan ve atomiklik garanti edilen Kayıt Eklemeyi destekler.

Verim

Kıyaslama sonuçlarından karar vermek,[3] nispeten az sayıda sunucuyla (15) kullanıldığında, dosya sistemi tek bir diske (80-100 MB / sn) kıyasla okuma performansı elde eder, ancak daha düşük bir yazma performansına (30 MB / sn) sahiptir ve nispeten mevcut dosyalara veri eklemede yavaş (5 MB / sn). Yazarlar rastgele arama süresiyle ilgili hiçbir sonuç sunmuyor. Ana düğüm veri okumaya doğrudan dahil olmadığından (veriler yığın sunucusundan doğrudan okuma istemcisine aktarılır), okuma hızı yığın sunucuların sayısı ile önemli ölçüde artar ve 342 düğüm için 583 MB / s'ye ulaşır. Birden fazla sunucunun bir araya getirilmesi aynı zamanda büyük kapasiteye izin verirken, verileri üç bağımsız konumda depolayarak (artıklık sağlamak için) biraz azaltılır.

Ayrıca bakınız

Referanslar

  1. ^ Hoff, Todd (2010-09-11). "Google'ın Colossus'u, MapReduce'u Boşaltarak Aramayı Gerçek Zamanlı Yapıyor". Yüksek Ölçeklenebilirlik. Arşivlendi 2019-04-04 tarihinde orjinalinden.
  2. ^ Anne, Eric (2012-11-29). "Colossus: Google Dosya Sisteminin (GFS) Halefi". SysTutorials. Arşivlendi 2019-04-12 tarihinde orjinalinden. Alındı 2016-05-10.
  3. ^ a b c Ghemawat, Gobioff ve Leung 2003.
  4. ^ Kyriazis, Dimosthenis (2013). Bulut Ortamları için Veri Yoğun Depolama Hizmetleri. IGI Global. s. 13. ISBN  9781466639355.
  5. ^ Marshall Kirk McKusick; Sean Quinlan (Ağustos 2009). "GFS: İleri Sarma İşleminde Evrim". ACM Sırası. 7 (7): 10–20. doi:10.1145/1594204.1594206. Alındı 21 Aralık 2019.

Kaynakça

Dış bağlantılar

  • "GFS: İleri Sarma ile Evrim", Kuyruk, ACM.
  • "Google Dosya Sistemi Değerlendirmesi, Bölüm I", Depolama mojosu.