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
Feliratkozás:
Megjegyzések küldése (Atom)
1 megjegyzés:
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.?
Megjegyzés küldése