vineri, 2 octombrie 2009

Salvarea imaginilor intr-o baza de date versus salvarea lor intr-un sistem de fisiere

Printre primele lucruri pe care le-am invatat in momentul in care am inceput sa lucrez cu o aplicatie care administra imagini, a fost sa salvez calea in baza de date si fisierul propriu zis intr-un sistem de fisiere, de ce se prefera de obicei solutia aceasta am inteles abia pe parcurs.

Avantajele salvarii imaginilor intr-un sistem de fisiere si calea catre ele in baza de date:
  • posibilitatea aparitiei de incompatibilitati, in cazul migrarii catre o alta platforma de baze de date, intre vechiul si noul tip de date;
  • in cazul aparitiei de probleme la baza de date, in cazurile extreme in care sunt putine sanse de recuperare a datelor, imaginile din sistemul de fisiere nu vor fi afectate;
  • avand imaginile salvate intr-un sistem de fisere, exista posibilitatea accesarii lor directe din mai multe tipuri de aplicatii: clienti FTP, browsere etc.
  • unele baze de date au spatiul de stocare relativ redus, pe cand intr-un sistem de fisiere esti limitat doar de dimensiunea spatiului de stocare;
  • performanta: generarea unui tag <img>pe baza unei cai salvate in baza de date e mult mai rapida decat recuperarea fisierului din baza de date, copierea continutului intr-un fiser temporar pe serverul web si afisarea lui;

Avantajele salvarii imaginilor in baza de date:
  • securitate: iti poti proteja mai bine fisierele cu un SQL Server si un sistem de fisiere securizat decat intr-un sistem de fisiere obisnuit;
  • la pastrarea imaginilor intr-un sistem de fisiere pot aparea complicatii la sincronizarea informatiilor din baza de date si sistemul de fisiere, de exemplu la stergerea datelor despre imagine din baza de date de unde stie sistemul de fisiere ca trebuie sa stearga si el imaginea;
  • performanta: pentru imagini cu dimensiuni reduse unele servere de baze de date pot recupera fisierul de pana la de 2 ori mai repede decat un sistem de fisiere;

Niciun comentariu:

Trimiteți un comentariu