/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Binære data
Fra : Thassman


Dato : 14-06-03 17:42

Hej NG

Jeg overvejer i øjeblikket, om jeg skal putte billeder som bliver uploadet
til en slags billedegalleri, ind i en DB.
Jeg ser nemlig flere rent administrative fordele i at putte billeder ind i
DB´en

Normalt ser jeg altid at det tilrådes, at gemme billleder udenfor databasen,
og så bare bevare en path i databasen.

Er der nogen her som har prøvet i praksis at putte binære data ind i en DB.
?

1. Hvad med performance, er den virkelig så dårlig som de fleste påstår ?
2. Hvilken DB er mest velegnet. ?
3. Skal jeg bare glemme det, og bruge Path ?

Mvh
Tommy

--

visit www.mineonsker.dk



 
 
Michael Rasmussen (14-06-2003)
Kommentar
Fra : Michael Rasmussen


Dato : 14-06-03 19:02

On Sat, 14 Jun 2003 18:42:29 +0200, Thassman wrote:

>
> Er der nogen her som har prøvet i praksis at putte binære data ind i en DB.
> ?
>
> 1. Hvad med performance, er den virkelig så dårlig som de fleste påstår ?
> 2. Hvilken DB er mest velegnet. ?
> 3. Skal jeg bare glemme det, og bruge Path ?
>
Hvis du er interesseret i at se forskellen, har jeg et eksempel, du kan
prøver her: http://webtech.datanom.net/uploadeks/
Både med opload til katalog og database.

--
Hilsen/Sincerely, Michael Rasmussen

En windows admin er en person, for hvem den største bedrift er, at
lave konfiguration af serveren med trial and error via en gui.


Thassman (15-06-2003)
Kommentar
Fra : Thassman


Dato : 15-06-03 13:06


> >
> Hvis du er interesseret i at se forskellen, har jeg et eksempel, du kan
> prøver her: http://webtech.datanom.net/uploadeks/
> Både med opload til katalog og database.
>

Takker. Performance ser jo ens ud. Så det er godt.
Desværre er din kode lavet i PHP og ikke ASP.NET som jeg vil bruge, men det
er jo en helt anden historie


Tommy

--

Visit www.mineonsker.dk



Michael Rasmussen (15-06-2003)
Kommentar
Fra : Michael Rasmussen


Dato : 15-06-03 16:38

On Sun, 15 Jun 2003 14:06:08 +0200, Thassman wrote:

>
> Takker. Performance ser jo ens ud. Så det er godt.
> Desværre er din kode lavet i PHP og ikke ASP.NET som jeg vil bruge, men det
> er jo en helt anden historie
>
Objektivt set burde der ikke være en forskel. Jeg kan dog læse af et andet
indlæg, at du vil benytte SQL-server, så det må dog formodes, at de ikke
er langsomme med kombinationen ASP.NET og MS SQL. Du skal dog huske at
benytte SQL-connection og ikke OleDB eller ODBC, da denne efter sigende
skulle være specielt optimeret til MS SQL.
--
Hilsen/Sincerely, Michael Rasmussen

En windows admin er en person, for hvem den største bedrift er, at
lave konfiguration af serveren med trial and error via en gui.


Lars Dybdahl (14-06-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 14-06-03 19:07

Thassman wrote:
> Er der nogen her som har prøvet i praksis at putte binære data ind i en
> DB. ?

Jep - fungerer glimrende.

> 1. Hvad med performance, er den virkelig så dårlig som de fleste påstår ?

Nej - den er perfekt, og normalt også hurtigere end en filsystemsløsning,
hvis du programmerer det rigtigt. Det normale problem for de fleste er, at
de ikke kan finde ud af at streame data ud fra databasen, men i stedet
henter hele blob feltet fra databasen før de påbegynder at sende data til
browserklienten. Hvis du ikke kan finde ud af at streame blobfelter, så har
du selvflg. dårlig performance - check dit værktøj for at finde ud af det.

En anden ting er, at en webserver kan finde ud af at udnytte klientens cache
effektivt vha. diverse http headers. Disse skal du også implementere i det
script, der henter billedet og sender det - ellers får du dårlig
performance her. Gem f.eks. billedets dato, tid og versions ID i din
database, så du kan lave gode http/1.1 svar uden at hente blob-feltet.

> 2. Hvilken DB er mest velegnet. ?

Du skal sørge for at have en database, hvor database-filen kan blive stor
nok. F.eks. er 64-bit I/O udgaven af http://www.firebirdsql.com/ velegnet.

> 3. Skal jeg bare glemme det, og bruge Path ?

Det er absolut din egen beslutning.

Såvidt jeg kan se, er det absolut eneste tekniske problem med at putte
billeder i en database nutildags, at de fleste backup programmer til
database systemer ikke kan finde ud af at lave inkrementiel backup af
databasen. Det betyder, at du skal lave en fuld backup af hele din
billedsamling hver gang - hvorimod filsystemsløsningen virker fint med
inkrementiel backup.

Hilsen,

Lars.

--
Dybdahl Engineering
http://dybdahl.dk/

Thassman (15-06-2003)
Kommentar
Fra : Thassman


Dato : 15-06-03 13:13

>browserklienten. Hvis du ikke kan finde ud af at streame blobfelter, så har
> du selvflg. dårlig performance - check dit værktøj for at finde ud af det.

Hmm bruger nu bare notepad .....
Har du nogle gode URL´er ?

> En anden ting er, at en webserver kan finde ud af at udnytte klientens
cache
> effektivt vha. diverse http headers. Disse skal du også implementere i det
> script, der henter billedet og sender det - ellers får du dårlig
> performance her. Gem f.eks. billedets dato, tid og versions ID i din
> database, så du kan lave gode http/1.1 svar uden at hente blob-feltet.

Det lyder fornuftigt


> > 2. Hvilken DB er mest velegnet. ?
>
> Du skal sørge for at have en database, hvor database-filen kan blive stor
> nok. F.eks. er 64-bit I/O udgaven af http://www.firebirdsql.com/ velegnet.

Jeg tror jeg holder mig til SQLServer.


> > 3. Skal jeg bare glemme det, og bruge Path ?
>
> Det er absolut din egen beslutning.
>
> Såvidt jeg kan se, er det absolut eneste tekniske problem med at putte
> billeder i en database nutildags, at de fleste backup programmer til
> database systemer ikke kan finde ud af at lave inkrementiel backup af
> databasen. Det betyder, at du skal lave en fuld backup af hele din
> billedsamling hver gang - hvorimod filsystemsløsningen virker fint med
> inkrementiel backup.
>
Jeg er bestemt overbevist om at bruge DB metoden, jeg har lavet lidt
subjektiv performance vurdering og finder det tilfredsstillende.
Lidt ærgeligt da jeg netop er blevet færdig med at kode frontend (ASP.NET)
til at gemme i flatfile format. Og jeg kan ikke ummidelbart finde ud af at,
autogenere et thumbnail som også skal gemmes i DB´en.

Tak for svarene

Mvh
Tommy

--

visit www.mineonsker.dk



Lars Dybdahl (15-06-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-06-03 19:46

Thassman wrote:
>>browserklienten. Hvis du ikke kan finde ud af at streame blobfelter, så
>>har
> Hmm bruger nu bare notepad .....

Øh - jeg snakker om database komponenter som f.eks. ADO, ODBC eller til
Delphi fx. IBX, dbExpress osv.

> Jeg er bestemt overbevist om at bruge DB metoden, jeg har lavet lidt
> subjektiv performance vurdering og finder det tilfredsstillende.

Som sagt - ved korrekt programmering burde performance for database
løsningen være højere end for filsystemsløsningen. Et filsystem er jo i
princippet bare en database med en tabel, hvor primary key er filnavnet, og
hvor der er et enkelt stort blobfelt, som er filens indhold.

> Og jeg kan ikke ummidelbart finde ud af
> at, autogenere et thumbnail som også skal gemmes i DB´en.

Hvis du kan finde ud af at styre det, så kig på http://www.imagemagick.org/.
Det er den jeg bruger i http://cat-photo.sf.net/ projektet til at lave
thumbnails. Kig her bl.a. på convert.exe og -geometry parameteren.

Hilsen,

Lars.

--
Dybdahl Engineering
http://dybdahl.dk/

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste