Google File System - Google File System

Google File System
Операциялық жүйеLinux ядросы
ТүріТаратылған файлдық жүйе
ЛицензияМеншіктік

Google File System (GFS немесе GoogleFS, деп шатастыруға болмайды GFS Linux файлдық жүйесі) болып табылады меншіктік таратылған файлдық жүйе әзірлеген Google ірі кластерлерді пайдаланып деректерге тиімді, сенімді қол жеткізуді қамтамасыз ету тауарлық жабдық. Google File System-дің Colossus кодталған соңғы нұсқасы 2010 жылы шыққан.[1][2]

Дизайн

Google File System жүйесі пайдаланушылардың жүйесіне емес, жүйенің жүйеге әсер етуіне арналған. Бөлшек серверлер деректерді автоматты түрде көбейтеді.

GFS Google-дің негізгі деректерді сақтау және пайдалану қажеттіліктері үшін жақсартылған (ең алдымен іздеу жүйесі ), олар сақталуы керек үлкен көлемдегі деректерді жасай алады; Google File System компаниясы Google-дің ертерек жасаған «BigFiles» күшімен дамыды Ларри Пейдж және Сергей Брин Google-дің алғашқы күндерінде, ол әлі де орналасқан Стэнфорд. Файлдар белгіленген өлшемге бөлінеді кесектер 64-тен мегабайт, қарапайым файлдық жүйелердегі кластерлерге немесе секторларға ұқсас, олар өте сирек жазылады немесе кішірейеді; файлдар әдетте қосылады немесе оқылады. Ол сондай-ақ Google-дің есептеу кластерлерінде, арзан «тауарлық» компьютерлерден тұратын тығыз түйіндерде жұмыс жасау үшін жасалған және оңтайландырылған, бұл жекелеген түйіндердің жоғары ақаулық деңгейіне және одан кейінгі деректердің жоғалуына қарсы сақтық шараларын қабылдау керек дегенді білдіреді. Басқа дизайн шешімдері жоғары деректерді таңдайды өткізу, тіпті құны бойынша болған кезде де кешігу.

GFS кластері бірнеше түйіндерден тұрады. Бұл түйіндер екі түрге бөлінеді: бірі Шебер түйін және бірнеше Бөлшектер. Әр файл бекітілген өлшемді бөліктерге бөлінеді. Бөлшектер серверлері осы бөліктерді сақтайды. Әр түйінді жасау кезінде басты түйінмен жаһандық бірегей 64-биттік белгіні тағайындайды және файлдардың құрамдас бөліктерге логикалық салыстырулары сақталады. Әр бөлік бүкіл желі бойынша бірнеше рет қайталанады. Әдепкіде, ол үш рет қайталанады, бірақ бұл конфигурацияланған.[3] Сұранысқа ие файлдардың репликация коэффициенті жоғарырақ болуы мүмкін, ал қолданушы клиенті сақтаудың қатаң оңтайландыруларын қолданатын файлдар қоқыстарды тез тазарту ережелерімен күресу үшін үш реттен кем қайталануы мүмкін.[3]

Мастер-сервер әдетте нақты бөліктерді емес, барлығын сақтайды метадеректер бөлімдермен байланысты, мысалы 64 биттік жапсырмаларды кесектерге орналастыратын кестелер және олар құрайтын файлдар (файлдардан кесектерге кескіндеу), олардың көшірмелерінің орналасуы, қандай процестер белгілі бір оқуда немесе жазуда кесек немесе оны көбейту мақсатында «суретке түсіру» (әдетте Мастер-сервердің бастамасымен, түйіндердің істен шығуына байланысты, кесектің көшірмелерінің саны белгіленген санның астына түсіп кеткенде). Барлық осы метадеректер Мастер-серверде үнемі сақталып отырады, әр серверден жаңартулар қабылданады («Жүрек соғысы туралы хабарламалар»).

Модификацияға арналған рұқсаттар уақытпен шектелген, мерзімі аяқталатын «жалға беру» жүйесімен басқарылады, мұнда Мастер-сервер ақырғы уақытқа процеске рұқсат береді, ол кезде басқа серверге бөлікті өзгертуге басқа процесс берілмейді. . Әрдайым бастапқы қоқыс ұстаушы болып табылатын модификациялаушы, содан кейін резервуарлық көшірмелермен өзгертулерді червестерге таратады. Өзгерістер барлық червейерлер мойындағанша сақталмайды, осылайша аяқтауға кепілдік береді атомдық операцияның.

Бағдарламалар бірінші кезекте мастер-серверден қажетті бөліктердің орналасуын сұрау арқылы бөліктерге қол жеткізеді; егер кесектерге жұмыс жасалмаса (яғни жалға берілмеген болса), Шебер орналасқан жерлерімен жауап береді, содан кейін бағдарлама байланысады және бөлімнен деректерді тікелей алады (ұқсас) Казааа және оның супернодтар ).

Көптеген басқа файлдық жүйелерден айырмашылығы, GFS ядро туралы операциялық жүйе, бірақ оның орнына а ретінде беріледі пайдаланушылар кеңістігі кітапхана.[4]

Интерфейс

Google файлдық жүйесі а POSIX интерфейс.[5] Файлдар каталогтарда иерархиялық түрде ұйымдастырылған және жол аттары бойынша анықталған. Жасау, жою, ашу, жабу, оқу, жазу сияқты файлдық операцияларға қолдау көрсетіледі. Ол бірнеше клиенттерге бір уақытта деректерді бір файлға қосуға мүмкіндік беретін Record Append-ті қолдайды және атомдылығына кепілдік беріледі.

Өнімділік

Эталондық нәтижелер туралы шешім қабылдау,[3] серверлердің салыстырмалы түрде аз санымен (15) қолданған кезде, файлдық жүйе бір дискімен (80-100 МБ / с) салыстыруға болатын оқылым өнімділігіне қол жеткізеді, бірақ жазу өнімділігі төмендейді (30 МБ / с) және салыстырмалы түрде бар файлдарға мәліметтерді қосуда баяу (5 МБ / с). Авторлар кездейсоқ іздеу уақытында нәтиже бермейді. Негізгі түйін деректерді оқуға тікелей қатыспайтын болғандықтан (мәліметтер топтамалық серверден оқудың клиентіне тікелей жіберіледі), оқу жиілігі кескін серверлерінің санына байланысты айтарлықтай артып, 342 түйінге 583 МБ / с жетеді. Бірнеше серверлерді біріктіру үлкен сыйымдылыққа мүмкіндік береді, ал ол деректерді үш тәуелсіз жерде сақтау арқылы азаяды (артықтықты қамтамасыз ету үшін).

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Хофф, Тодд (2010-09-11). «Google Colossus MapReduce демпингі арқылы нақты уақыт режимінде іздейді». Масштабтылығы жоғары. Мұрағатталды түпнұсқасынан 2019-04-04.
  2. ^ Ма, Эрик (2012-11-29). «Colossus: Google File System (GFS) мұрагері». SysTutorials. Мұрағатталды түпнұсқасынан 2019-04-12. Алынған 2016-05-10.
  3. ^ а б в Ghemawat, Gobioff & Leung 2003 ж.
  4. ^ Kyriazis, Dimosthenis (2013). Бұлтты ортаға арналған деректерді интенсивті сақтау қызметі. IGI Global. б. 13. ISBN  9781466639355.
  5. ^ Маршалл Кирк МакКусик; Шон Куинлан (тамыз 2009). «GFS: эволюция жылдам алға». ACM кезегі. 7 (7): 10–20. дои:10.1145/1594204.1594206. Алынған 21 желтоқсан 2019.

Библиография

Сыртқы сілтемелер