2007. november 29., csütörtök

Kapcsolódás az adatbázishoz, fájl tárolás tesztelése

Egy java-ban írt program segítségével kapcsolódtam a tanszéki szerverhez, valamint méréseket végeztem az ottani Oracle 11g adatbázison. A méréseket különböző fájltárolási módok mellett végeztem:
„keep_duplicates” / „deduplicate” – az azonos tartalmú fájlokat elmentse-e még egyszer, vagy csak egy mutatót használjon helyette
„cache” / „nocache” – a gyorsítás érdekében tegye-e gyorsítótárba a legutóbb használt adatokat, vagy sem
„compress” / „nocompress” – helymegtakarítás érdekében tömörítse-e a fájlokat

A program futása közben létrehoz egy táblát, amibe véletlenszerűen generált fájlokat illeszt be, majd visszaolvassa azokat, végül kiírja a kérés kiadását követő és a feladat végrehajtás utáni idő különbségét, vagyis leméri a folyamat válaszidejét.

A teszt kimutatta, hogy a fájltárolás hatékonyságának növelésével jelentősen növekszik a fájl lementési ideje, kiolvasáskor azonban nem számottevők a különbségek. Tárhely takarékossági szempontból tehát mindenképp ajánlott a duplikációk szűrése, a gyorsítótár használata, valamint a tömörítés alkalmazása. Így az azonos fájlokat nem szükséges többször tárolni, elég csak mutatóval hivatkozni rájuk, a gyakran használt fájlok elérési ideje a gyorsítótár révén lecsökken, valamint az adatblokkok kihasználtsága is növekszik a tömörítés áltál.

Az adatbázishoz kapcsolódó program elkészítésének menete itt olvasható.

A teszteléshez az adattáblában LOB-okat, vagyis nagy objektumokat hozunk létre, melyeket SecureFile-ként tárolunk. Dokumentáció szerint a LOB (Large Object) nagyméretű adatok tárolására létrehozott adattípus, az adatbázis konfigurációjától függően 8TB – 128TB maximális adat tárolására képes.

Példaképp egy adattábla létrehozása magas szintű tömörítést használva a következőképp történik:

CREATE TABLE t1 ( a CLOB)

LOB(a) STORE AS SECUREFILE (

COMPRESS HIGH

CACHE

);

A LOB-okról és a SecureFile-okról további információk az alábbi oldalakon érhetők el:
Introduction to Large Objects
Using Oracle SecureFiles

1 megjegyzés:

Konzulens írta...

Szimpatikusak a mérési eredmények. A kérdés már csak az,

1.) hogy mi történik akkor, ha a tárolandó fájlméret növekszik,

2.) mekkora a törödezettsége a fájlrendszernek (fizikailag mennyi helyet foglalnak a fájlok)

3.) mekkora az egyes fájlrendszerek blokkmérete

4.) mi történik a kvótákkal, kvótakezeléssel (mennyire gyors pl. annak a számítása)?

Az eredmények elgondolkodtatóak abban az értelemben, hogy ha minden adat a JFS-re a legjobb, akkor miért nem használja mindenki azt? Mi van ennek a hátterében? Miért az EXT3 a legnépszerűbb (leginkább támogatott) pl.?