Elosztott adattárolás GRID alapokon

Nagy Zsombor <>
NIIF Intézet

Az előadásomban bemutatom az elmúlt másfél évben a KnowARC projekt keretében a GRID alapú elosztott adattárolás témakörében végzett munkát. Röviden ismertetem a felhasznált keretrendszer sajátosságait, és felhasználói szempontból vizsgálom az elkészült adattároló rendszer lehetőségeit.

A KnowARC projekt az Európai Unió Hatodik Keretprogramjának részeként egy modern GRID köztesréteg kifejlesztését tűzte ki célul. Ennek a projektnek az egyik fontos részfeladata egy elosztott adattároló rendszer megtervezése és implementálása, amely 2007 szeptemberétől 2009 márciusáig tartott.

A tároló rendszer kifejlesztésének alapvető tervezési szempontjai a következők voltak: egyszerűség, megbízhatóság, átláthatóság, felhasználóbarátság. Fontosnak tartottuk, hogy a felhasználónak ne kelljen azzal foglalkoznia, hogy a rendszerbe feltöltött adatai hova kerülnek, mégis biztos lehessen benne, hogy azokat bárhonnan bármikor el tudja érni egy olyan felületen keresztül, amely nagyon hasonlít a megszokott helyi file rendszerek elérésekor használthoz. A feltöltött file-jaink több példányban tárolódnak a rendszerben, így biztosítva, hogy mindig elérhetőek legyenek.

Mindezt több web service alapú szolgáltatás együttműködéseként valósítottuk meg. A szolgáltatások feladatköre jól körülhatárolt, van amelyik a felhasználóval való elsődleges kommunikációért felelős, van amelyik a file-ok fizikai tárolását irányítja, van amely az elosztott file rendszer metaadatait tárolja, stb.

A szintén a KnowARC projekt keretében kifejlesztett HED keretrendszerre építve valósítottuk meg a tervezett szolgáltatásokat. A HED keretrendszer C++ nyelven íródott, és nagyban megkönnyíti web service alapú szolgáltatások fejlesztését. Lehetőség van a C++ nyelv mellett Java és Python nyelven is szolgáltatásokat adni a rendszerhez, mi a Python nyelvet választottuk, így az elosztott tárolórendszert megvalósító szolgáltatások mind Python nyelven készültek el.

A rendszer felhasználó felülete jelenleg csak parancssoros, a helyi file rendszerben használatos parancsokhoz nagyon hasonló parancsokkal kezelhető: létrehozhatunk könyvtárakat (amiket kollekcióknak nevezünk), fel- és letölthetünk file-okat, lekérdezhetjük azok adatait, megváltoztathatjuk a hozzáférési jogosultságokat, stb.