Google Dosya Sistemi - Google File System
| İşletim sistemi | Linux çekirdeği |
|---|---|
| Tür | Dağıtılmış dosya sistemi |
| Lisans | Tescilli |
Google Dosya Sistemi ( GFS veya GoogleFS , GFS Linux dosya sistemiyle karıştırılmamalıdır ), büyük ticari donanım kümeleri kullanarak verilere verimli ve güvenilir erişim sağlamak için Google tarafından geliştirilmiş tescilli bir dağıtılmış dosya sistemidir . Colossus kod adlı Google Dosya Sisteminin son sürümü 2010 yılında piyasaya sürüldü.
Tasarım
GFS, saklanması gereken çok büyük miktarda veri oluşturabilen Google'ın temel veri depolama ve kullanım ihtiyaçları (özellikle arama motoru ) için geliştirilmiştir; Google Dosya Sistemi , Google'ın ilk günlerinde Larry Page ve Sergey Brin tarafından Stanford'da bulunduğu sırada geliştirilen daha önceki bir Google çalışması olan "BigFiles" dan doğdu . Dosyalar, normal dosya sistemlerindeki kümelere veya sektörlere benzer şekilde 64 megabaytlık sabit boyutlu parçalara bölünür , bunlar yalnızca çok nadiren üzerine yazılır veya küçültülür; 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ı , gecikme maliyeti söz konusu olduğunda bile yüksek veri işleme hızlarını seçer .
Bir GFS kümesi birden çok düğümden oluşur. Bu düğümler iki türe ayrılır: bir Ana düğüm ve birden çok Parça Sunucusu . Her dosya sabit boyutlu parçalara bölünmüştür. Parça sunucuları 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. 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.
Ana sunucu genellikle gerçek parçaları değil , 64 bit etiketleri yığın konumlarına eşleyen tablolar ve oluşturdukları dosyalar (dosyalardan parçalara eşleme), konumlar gibi parçalarla ilişkili tüm meta verileri depolar. Parçaların kopyalarının sayısı, hangi işlemlerin belirli bir parçayı okuduğu veya yazdığı veya onu çoğaltmak için öbeğin "anlık görüntüsünü" alması (genellikle Ana sunucunun teşvikinde, düğüm arızaları nedeniyle, numara kopya sayısı ayarlanan sayının altına düşmüştür). 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, parçayı değiştirmek için Ana sunucu tarafından başka hiçbir işleme izin verilmeyeceği bir sürece sınırlı bir süre için 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. Tüm chunkservers böylece tamamlanması ve garanti kabul edene kadar değişiklikler kaydedilmez atomicity operasyon.
Programlar, istenen parçaların konumları için önce Ana sunucuyu sorgulayarak yığınlara erişirler; Parçalar üzerinde işlem yapılmıyorsa (yani ödenmemiş kira yoksa), Master konumlarla yanıt verir ve program daha sonra doğrudan yığın sunucusuyla bağlantı kurar ve verileri alır ( Kazaa ve süper düğümlerine benzer ).
Diğer birçok dosya sisteminin aksine, GFS bir işletim sisteminin çekirdeğinde uygulanmaz , bunun yerine bir kullanıcı alanı kitaplığı olarak sağlanır .
Arayüz
Google Dosya Sistemi bir POSIX arayüzü sağlamaz . 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 eşzamanlı olarak veri eklemesine olanak tanıyan ve atomikliği garanti eden Kayıt Eklemeyi destekler.
Verim
Karşılaştırma sonuçlarına göre, 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 sahiptir (30 MB / sn ) ve mevcut dosyalara veri eklemede nispeten yavaştır (5 MB / sn). Yazarlar rastgele arama süresiyle ilgili hiçbir sonuç sunmuyor. Ana düğüm doğrudan veri okumaya 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) bir miktar azaltılır.
Ayrıca bakınız
- Buyuk masa
- Bulut depolama
- CloudStore
- Fossil , Plan 9'un yerel dosya sistemi
- GPFS IBM'in Genel Paralel Dosya Sistemi
- GFS2 Red Hat'in Global Dosya Sistemi 2
- Hadoop ve GFS'ye benzer bir açık kaynak Java ürünü olan "Hadoop Dağıtılmış Dosya Sistemi" (HDFS)
- Google ürünlerinin listesi
- Harita indirgeme
- MooseFS
- Kertenkele
Referanslar
Kaynakça
Dış bağlantılar
- "GFS: İleri Sarma Üzerinde Evrim", Kuyruk , ACM .
- "Google Dosya Sistemi Değerlendirmesi, Bölüm I", Depolama mojosu .