Google fayl sisteması

**Google Fayl Sisteması** (**GFS** yamasa **GoogleFS**, GFS Linux fayl sisteması menen aljastırmań) – bul Google tárepinen islep shıǵarılǵan menshikli bólistirilgen fayl sisteması bolıp, ol úlken klasterlerdegi arzan apparatlıq támiynattı paydalanıp, maǵlıwmatlarǵa nátiyjeli, isenimli kiriwdi támiyinleydi. Google fayl sisteması 2010-jılı Colossus penen almastırıldı.

## Dizayn

GFS Google-dıń tiykarǵı maǵlıwmatlardı saqlaw hám paydalanıw zárúrlikleri (tiykarınan izlew sisteması) ushın jetilistirilgen, bul saqlanıwı kerek bolǵan oǵada úlken muǵdardaǵı maǵlıwmatlardı payda etiwi múmkin; Google Fayl Sisteması Google-dıń dáslepki kúnlerinde, ol ele Stenfordta jaylasqan waqıtta, Larri Peydj hám Sergey Brin tárepinen islep shıǵılǵan «BigFiles» dep atalǵan aldınǵı Google baslamasınan kelip shıqqan. Fayllar ádettegi fayl sistemalarındaǵı klasterlerge yamasa sektorlarǵa uqsas, 64 megabaytlıq belgilengen ólshemdegi bóleklerge bólinedi, olar tek júdá siyrek qayta jazıladı yamasa qısqartıladı; fayllar ádette qosımshalanadı yamasa oqıladı. Ol sonday-aq Google-dıń esaplaw klasterlerinde, arzan «keń tarqalǵan» kompyuterlerden ibarat tıǵız túyinlerde islew ushın jobalastırılǵan hám optimallastırılǵan, bul ayırım túyinlerdiń joqarı isten shıǵıw dárejesine hám keyingi maǵlıwmatlardıń joǵalıwına qarsı qáwipsizlik sharaları kóriliwi kerek ekenligin ańlatadı. Basqa dizayn sheshimleri, hátte kútiw waqtınıń esabına bolsa da, joqarı maǵlıwmat ótkeriw qabiletin tańlaydı.

GFS klasteri bir neshe túyinlerden ibarat. Bul túyinler eki túrge bólinedi: bir Bas túyin (Master node) hám bir neshe Bólek serverler (Chunkservers). Hárbir fayl belgilengen ólshemdegi bóleklerge bólinedi. Chankserverler usı bóleklerdi saqlaydı. Hárbir bólekke jaratılıw waqtında bas túyin tárepinen global unikal 64-bitlik belgi beriledi hám fayllardıń komponent bóleklerge logikalıq sáykesligi saqlanadı. Hárbir bólek tarmaq boylap bir neshe márte replikaciyalanadı. Standart boyınsha, ol úsh márte replikaciyalanadı, biraq bul konfiguraciyalanatuǵın. Joqarı talapqa iye fayllardıń replikaciya faktorı joqarıraq bolıwı múmkin, al qosımsha klienti qatań saqlawdı optimallastırıwdı qollanatuǵın fayllar tez shıǵındılardı tazalaw siyasatlarına sáykes úsh márteden az replikaciyalanıwı múmkin.

Bas server ádette naǵız bóleklerdi emes, al bólekler menen baylanıslı barlıq metamaǵlıwmatlardı saqlaydı, mısalı, 64-bitlik belgilerdi bólek orınlarına hám olar dúzetuǵın fayllarǵa (fayllardan bóleklerge sáykeslik) sáykeslendiretuǵın kesteler, bólek kóshirmeleriniń orınları, belgili bir bólekti oqıp yamasa jazıp atırǵan processler yamasa onı replikaciyalaw ushın bólektiń «snepshotın» alıw (ádette Tiykarǵı serverdiń baslaması menen, túyinlerdiń isten shıǵıwı sebepli bólek kóshirmeleriniń sanı belgilengen sannan tómen túskende). Barlıq bul metamaǵlıwmatlar Bas serverdiń hárbir bólek serverden waqtı-waqtı menen jańalanıwlardı («Heart-beat xabarları») alıwı arqalı aǵımdaǵı jaǵdayda saqlanadı.

Ózgerisler ushın ruqsatnamalar waqıt penen sheklengen, múddeti ótetuǵın «ijaralar» sisteması arqalı basqarıladı, bunda Tiykarǵı server bir processke sheklengen waqıt aralıǵında ruqsat beredi, bul waqıt dawamında Tiykarǵı server basqa hesh bir processke chankti ózgertiwge ruqsat bermeydi. Ózgertip atırǵan chankserver, bárqulla tiykarǵı chank iyesi bolıp, keyin ózgerislerdi rezerv kóshirmeleri bar chankserverlerge tarqatadı. Barlıq chankserverler tastıyıqlamaǵansha ózgerisler saqlanbaydı, bul operaciyanıń tamamlanıwın hám atomlıǵına kepillik beredi.

Baǵdarlamalar chanklerge birinshi Tiykarǵı serverden kerekli chanklerdiń orınların sorap kiredi; eger chankler ústinde operaciya orınlanbay atırǵan bolsa (yaǵnıy, ámeldegi ijaralar joq bolsa), Bas orınlardı juwap retinde jiberedi, hám baǵdarlama sońınan tikkeley chankserver menen baylanısıp, maǵlıwmatlardı aladı (Kazaa hám onıń supertúyinlerine uqsas).

Kópshilik basqa fayl sistemalarınan ayırmashılıǵı, GFS operaciyalıq sistemanıń yadrosında ámelge asırılmaǵan, biraq onıń ornına paydalanıwshı keńisligi kitapxanası sıpatında usınılǵan.

## Interfeys
Google Fayl Sisteması POSIX interfeysin usınbaydı. Fayllar kataloglarda ierarxiyalıq túrde shólkemlestirilgen hám jol atları arqalı identifikaciyalanadı. Jaratıw, óshiriw, ashıw, jabıw, oqıw, jazıw sıyaqlı fayl operaciyaları qollap-quwatlanadı. Ol bir neshe klientlerge bir waqıtta bir faylǵa maǵlıwmatlardı qosıwǵa imkaniyat beretuǵın hám atomarlıq kepillengen Record Append (Jazıwdı Qosıw) funkciyasın qollap-quwatlaydı.

## Ónimdarlıq
Benchmarking nátiyjelerine qaraǵanda, salıstırmalı túrde az sanlı serverler (15) menen paydalanılǵanda, fayl sisteması bir disktiń oqıw ónimdarlıǵına (80–100 MB/s) teńlesetuǵın ónimdarlıqqa erisedi, biraq jazıw ónimdarlıǵı tómenlegen (30 MB/s) hám bar fayllarǵa maǵlıwmatlardı qosıwda salıstırmalı túrde áste (5 MB/s) boladı. Avtorlar tosınnan izlew waqtı boyınsha hesh qanday nátiyjelerdi usınbaydı. Tiykarǵı túyin maǵlıwmatlardı oqıwǵa tikkeley qatnaspaǵanlıqtan (maǵlıwmatlar bólek serverden tikkeley oqıwshı klientke ótkeriledi), oqıw tezligi bólek serverleriniń sanı menen ádewir artadı, 342 túyin ushın 583 MB/s qa jetedi. Bir neshe serverlerdi birlestiriw de úlken sıyımlılıqqa imkaniyat beredi, biraq bul (artıqmashılıqtı támiyinlew ushın) maǵlıwmatlardı úsh ǵárezsiz orında saqlaw arqalı biraz azayadı.

## Derekler

__BÖLİDİMÖNDEMEW__