Jump to content
php.lv forumi

Bildes iekš DB?


MZM

Recommended Posts

Sagribējās atgriezties pie jau reiz runātā - tātad vai glabāt bildes kā failus vai iekš datubāzes? Gribētos dzirdēt kā citi dara, priekšrocības/trūkumi utml.

Es zinu, ka absolūtas patiesības nav, taču katrai no pusēm noteikti ir savi argumenti :)

Link to comment
Share on other sites

vispār es personīgi glabāju db. kad biju mazs gurķis, tad vispirms pamēģināju fs glabāt, bet tad tur visas tās nepatikšanas ar tiesībām un failiem, itkaa jau nav traki, bet plus tam visam vēl tā nevisai forši saprogrammēju, tapēc nākošreiz jau kad ķēros klāt, tad pacēlu latiņu augstāk un liku bildes db, viss sanāca ok, esmu ļoti apmierināts ar tādu variantu.

 

protams tur neglabājas bildes, kas domātas prieksh weba spacer.gif utt :), līdz ar to esmu apmierināts, bet topiks gan nodrāzts, domāju, ka aizies līdz asinīm... tas apmēram tā pat kā padiskutēt kāda mūzika ir labāka. pops/roks?

Link to comment
Share on other sites

par glabāt:

1) mazas bildītes, datu bāze atšķirības no teksta nejutīs

2) ja bidēm nav "smuki" nosaukumi, tās ir ņemtas nez no kurienes (piem, jāsaber preču katalogs)

3) vieglāk organizēt pieeju bildēm (ja ir kaut kādas pieejas tiesības jeb noteikumi)

 

pret glabāt:

1) lielas bildes nolasīšana prasīs lielu noslodzi datu bāzei

2) uzlikt uz publiskajiem serveriem nenormāls čakars (ar phpMyAdmin uzlikt kaut vai 20MB datu bāzi)

3) bilde jānolasa no datu bāzes, ko nevar izdarīt tikai ar echo funkciju

4) bilžu maiņas gadījumā jātaisa vaicājums

5) ja bildes nav jāaizsargā - norāda tikai img src=... un lieta darīta

6) bilžu maiņas gadījumā jāuploado tik jauns fails pa virsu

 

sarakstu principār var ilgi un dikti papildināt - pareizāk laikam ir skatītes konkrēto problēmu (kas vispār ir nepieciešams) un tad arī analizēt, nevis sameklēt visus +/- visiem gadījumiem..

Link to comment
Share on other sites

Idejiski, manuprāt, bildes / failus datubāzē ir vērts (vienīgi) glabāt tikai tad, ja tu taisi kaut kādas specifiskas aplikācijas (ne webiskas uz php), kuras nemāk uztaisīt requestu webserverim taču spēj attēlot bildi no db dataseta.

 

Nu vēl variants kur db varētu varbūt izmantot ir tad ja ir viena centralizēta datubāze taču samērā daudz frontendi jebšu webserveri, kuros saturs (bildes / faili) ir jārāda aktuāls neatkarīgi no tā uz kura no webserveriem ir notikušas darbības (lietotājs kaut ko mainījis / uploadējis), lai gan tad ar noteikti db serveris būtu tikai vispārējas informācijas turētājs un pie pirmā pieprasījuma bilde no db tiktu noglabāta failsistēmā.

 

Pretēji pie zināma pieprasījuma apjoma nepieciešamie servera resursi (katrai bildei ir jātaisa no skripta pieprasījums uz db, jāsūta speciāli headeri utt) nu nekādi neatsvers nevienu pozitīvi minēto punktu. Pie kam "nepatikšanas ar tiesībām un failiem" kā jau pnp pats min ir tikai dēļ gurķa un nekā savādāk ;)

 

Vēl kā mīnusu datubāzes variantam varu minēt - ir samērā grūti panākt satura kešošanu, kas pretēji failsistēmas gadijumā notiek gandrīz automatiski.

 

Ja specifiski jāorganizē pieeja kaut kādiem lietotājiem tad to vienkārsāk var panākt vai nu pēc kādas sistēmas nosaucot failus vai arī datubāzē turot tikai bilžu indeksu (faila nosaukumu / atrašānās vietu u.c. pribambasus) un drošībai novietot bildes / failus ārpus web direktorijas un tad ar php vienkārši ielasīt (galugalā tam pašam apachem ar var pieviest visādas autorizācijas shēmas basic, pret domēnu (mod_smb) vai mysql (mysql_auth) un kas strādās krietni ātrāk nenoslogojot nabaga db serverīti).

 

Arī backupot zināmā mērā ir sarežģīti, ja failu gadijumā var glabāt tikai izmaiņas (rsync uc) tad datubāzes parasti prakse (vismaz man) ir backupot pilnas un ar čupu BLOB lauku tas var būt diezgan ietilpīgi.

Link to comment
Share on other sites

vajag smuki sataisīt skriptiņus darbam ar FS un tad nebūs nekāda čakara.

visu mest nevis vienā folderī, bet gan dažādos - piesēdi nedaudz, paņem lapu, uzzīmē shēmas, sagrupē un tev rezultāts būs diezgan labs.

 

db noslogot jo mazāk jo labāk.

 

+ ja nojūk db visu pakās, kā arī uploadošanai vajag tomēr kaut ko īpašāku. pie lieliem apjomiem manuprāt der tikai FS.

 

nez kas būtu, ja es visas bildes, kas tagad tiek izmantotas turētu uz DB ( ~100mb ) :)))

Link to comment
Share on other sites

+ ja nojūk db visu pakās, kā arī uploadošanai vajag tomēr kaut ko īpašāku. pie lieliem apjomiem manuprāt der tikai FS.

Iisti viiri backupus netaisa? ;)

tasīt ta taisa, bet priekškam lieki čakarēties liekot bildes iekšto datubāzes?

kā jau kāds te minēja - bildes iekš FS, visas taciņas uz bildēm + papildus nepieciešamos parametrus (title,size, utt) metam iekš db un dzīvojam laimīgi :)

Link to comment
Share on other sites

×
×
  • Create New...