Visa ett inlägg
Oläst 2006-07-03, 14:48 #12
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Ursprungligen postat av Blackex
Citat:
Ursprungligen postat av jonny
Ingen bra lösning ur prestandasynpunkt. Lagra metadata i databasen och filer på disk.

Det beror på vilka behov som finns.

Fördel med bilder i databas: Transaktionerna är Atomära A, Konsistensbevarande C, Isolerade I och Hållbara D = ACID
Nackdel med bilder i databas: Prestanda

http://www.extremeexperts.com/SQL/FAQ/StoreImages.aspx
Ptja, buzzwords buzzwords.

Det går att uppnå samma "syrlighet" även med rätt språk, rätt felhantering, rätt tabellkonstruktion och bilder som filer.

Se följande pseudokod:

Kod:
try {
  connection.beginTransaction();
  int imageid = insert_data_intoDb(image);
  store_image_file(image);
  connection.commit();
} catch ( java.sql.SQLException e){
  if ( connection != null ){
    connection.rollback();
  }
} catch ( java.io.IOException ex ){
  if ( connection != null ){
    connection.rollback();
  }
  if ( checkFile(imageid) ){
    removeFile(imageid);
  }
}
Så, om någon av momenten går fel, inget händer. Dvs din operation är rätt säker för inkonsistens.

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat