Google File System

Na tento článek je přesměrováno heslo GFS. O významu termínu GFS jako souborového systému pojednává článek Global File System.
Google File System
VývojářGoogle
První vydání2003
Operační systémLinux
Některá data mohou pocházet z datové položky.

Google File System (GFS) je distribuovaný souborový systém navržený pro spolehlivé ukládání velkých zřídka přepisovaných souborů na velké množství nespolehlivých jednotek. Je používán pro ukládání dat v počítačových systémech společnosti Google.

Mezi klíčové odlišnosti od požadavků na běžné souborové systémy (mezi něž lze v tomto ohledu zařadit i „tradiční“ distribuované souborové systémy, jako je AFS nebo CODA) patří:

  • Nutnost průběžně monitorovat stav jednotlivých uzlů a zotavovat se z jejich selhání
  • Schopnost uložit miliony souborů, velikostí typicky přesahující 100 MB. Několikagigabajtové soubory jsou časté, a proto musí být zpracovávány efektivně. Malé soubory je též nutno ukládat, ale není třeba pro ně systém optimalizovat.
  • Obvyklé operace se soubory zahrnují sekvenční čtení několika stovek kB dat, nebo náhodný přístup na pár kB na určitém místě. Zápisy se převážně skládají z přidávání na konec souboru. Soubory jsou málokdy přepisovány; malé zápisy dovnitř souboru jsou podporovány, ale nemusí být efektivní.
  • Naproti tomu atomické zápisy na konec souboru jsou klíčové, protože soubory mohou být často využívány jako fronty mezi producentem a konzumentem nebo pro slučování dat z více zdrojů.

GFS poskytuje obvyklé rozhraní pro přístup k souborům, přestože neimplementuje žádné obvyklé API (jako je např. POSIX pro připojení jako svazek na unixové systémy). Soubory jsou hierarchicky organizovány v adresářích a identifikovány cestami. GFS podporuje obvyklé operace create, delete, open, close, read a write, ale navíc i snapshot (pro rychlé vytvoření kopie souboru nebo stromu podadresářů – řešeno pomocí copy on write) a record append (pro současný zápis více klientů na konec souboru, garantující atomicitu).


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne