Fájlok tárolása fájlrendszerben vagy adatbázisban?

Egyre gyakrabban merül fel kérdésként rendszerek tervezésekor, hogy az alkalmazás által kezelt fájlokat hagyományos módon fájlrendszerben tároljuk, vagy inkább adatbázis-kezelőben? Az alábbiakban összegyűjtöttem a két megoldás előnyeit és hátrányait, zöld színnel jelezve azokat, melyek ma már megfelelő technológia alkalmazásával cáfolhatók. Biztos vagyok benne, hogy az összehasonlítás nem teljes körű, így várom a hozzászólásokat, szükség esetén bővítem, módosítom a listát.

Minden adat az adatbázisban
Előnyök:
1. Garantálható a megfelelő adat zárolás és adatintegritás
2. Minden adatművelet SQL nyelven történik
3. Jogosultság kezelés egységes lesz minden adatra
4. Mentési stratégia egységes lesz minden adatra.
5. Oracle Database 11g SecureFiles és Advanced Compression technológia használatával az adatbázis hatékonysága fájlok tárolása esetén is versenyképes lesz.
6. Oracle XML DB használatával a fájlok elérhetők lesznek szabványos interfészeken keresztül (FTP, HTTP, WebDav)
7. Az adatbázis tartalom egyszerűen replikálható, így a fájlok is replikálódnak.
8. Fejlett adatvisszaállítási képességek adatvesztés esetén.
9. Az Oracle Database a Real Application Clusters technológia révén rendkívül jól skálázható.
10. Katasztrófatűrő tartalék környezet kialakítás hatékonyan Data Guard technológiával.
10. Hatékony adatmigráció a platformok közötti táblatér mozgatás (Cross Platform Transportable Tablespace) technológiájával

Hátrányok:
1. Alkalmazásokat át kell írni adatbázis alapú fájlkezelésre - Értelemszerűen ez új alkalmazások esetében nem probléma
2. A legtöbb adatbázis-kezelő a fájlokat nem hatékonyan kezeli. - Oracle Database 11g Secure Files használatával ez már megváltozott!
3. Platform váltáskor az adatok migrációja bonyolultabb, mint fájlrendszerek esetében. - Az Oracle Database platformok között mozgatható táblatereinek köszönhetően az Oracle Database 11g Secure Files használatával ez már megváltozott!

Fájlok a fájlrendszerben, csak a metaadatok és az elérési út az adatbázisban:
Előnyök:
1. Amennyiben adatbázis-kezelő váltásra kerül sor, nem kell megküzdeni a különböző BLOB formátum inkompatibilitásokkal
2. Amennyiben az adatbázis-kezelő nem működik, a fájlok még mindig elérhetők. Kérdés persze ennek mennyi haszna van, ha a metaadatok mind az adatbázisban vannak. - Megfelelő HA és DR megoldásokkal (RAC és Data Guard) ez nagy hatékonysággal elkerülhető probléma
3. Amennyiben a fájlok fájlrendszerben kerülnek tárolásra, akkor szabványos interfészeken keresztül elérhetők lesznek, mint például FTP, HTTP, stb. - Az Oracle XML DB révén az adatbázis tartalom (nem csak az XML adatok) is elérhetők FTP, HTTP és WebDav interfészen keresztül!
4. Fájrendszer esetében csak a volume méret jelent korlátot, míg néhány adatbázis-kezelő esetében korlátot jelent a maximális adatbázis, vagy adatbázis oszlop méret. - Oracle Database esetén ez csak az XE változatra igaz.
5. A fájlrendszerek teljesítménye mindig jobb volt fájlok tárolása esetén. - Az Oracle SecureFiles teljesítménye eléri, sőt egyes esetekben meghaladja a fájlrendszerek teljesítményét!
6. Fájlrendszerek tartalmát a Web és Proxy szerverek hatékonyan tudják cache-elni.

Hátrányok:
1. Nem garantálható, hogy konzisztens legyen az adatbázis (metadatok) és a fájlrendszer.
2. Bonyolultabb a tranzakciók kezelése
3. Alkalmazásokból bonyolultabb a fájl tartalom keresése, mintha az adatbázisban lenne.
4. Külön kell menteni a fájlrendszert.

Összességében azt gondolom a fentiek azt igazolják, hogy a legtöbb érv ami az adatbázis-kezelő ellen, illetve a fájlrendszer mellett szól az a mai korszerű adatbázis-kezelő technológiák mellett már cáfolhatók. Az Oracle SecureFiles kombinálva az Oracle Real Application Clusters, az Oracle Automatic Storage Management és a Partitioning technogiákkal valós alternatívát jelent a fájlrendszerekkel szemben.

Az Oracle Database 11g Secure Files technológiával kapcsolatos mélyebb elemzés és benchmark eredmények találhatók az Oracle SecureFilesSystem című tanulmányban, amely NFSv3 fájlrendszerrel hasonlítja össze az Oracle Secure Files teljesítményét. A tapasztalatok szerint a SecureFiles ért el jobb eredményeket!

Hasonló tanulmányok az alábbiak:
Oracle SecureFiles: Prepared for the Digital Deluge
Ingest, Scale and Manage Data Explosion using Oracle SecureFiles on a LSI 7900 Storage Array

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About


Sárecz Lajos vagyok, 2003 óta dolgozok az Oracle Hungary Kft-nél értékesítési tanácsadóként. Szakterületem az Oracle Engineered Systems, azaz olyan szerverek, amelyek hardver és szoftver komponensek előre optimalizált konfigurációja.
A blogon publikált vélemények a saját nézeteimet tükrözik, nem feltétlenül egyeznek meg az Oracle álláspontjával.
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
View Lajos Sárecz's LinkedIn profileView Lajos Sárecz's profile

Search

Archives
« április 2014
HKSzeCsPSzoV
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today