/ 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
plads forbrug af database
Fra : Daniel Udsen


Dato : 19-07-03 17:46

Hvor maget fylder tekst gemt i en database egentligt sammenlignet med
tekst gemt i alm filer.
Jeg har oplevet at de filer der indeholder databaserne fylder adskillige
gange den data der er gemt vilde fylde i en flad fil men hvor meget er
dette overhead egentligt, og hvordan er det for de forskællige database
systemer?

Pt bruger jeg postgresql men det betyder ikke at info om andre databaser
ikke er interesante.

--
Daniel Udsen
Suntne vacci laeti?

 
 
Lars Dybdahl (19-07-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 19-07-03 18:55

Daniel Udsen wrote:
> Hvor maget fylder tekst gemt i en database egentligt sammenlignet med
> tekst gemt i alm filer.

Det kommer helt an på databasetypen, men de fleste databaser gemmer teksten
nogenlunde i den længde, den nu har. Enkelte undtagelser:

- Paradox bruger lige mange bytes på hver record, så det er max-længden på
en varchar(), der er afgørende for pladsforbruget.
- Når man bruger Unicode på Interbase, bruges der utf-8 kodning af teksten.
Det gælder sikkert også en del andre databaser.

> Jeg har oplevet at de filer der indeholder databaserne fylder adskillige
> gange den data der er gemt vilde fylde i en flad fil men hvor meget er
> dette overhead egentligt, og hvordan er det for de forskællige database
> systemer?

Det kommer meget an på, hvor mange tal du har, men især hvor mange indekser
du har. F.eks. har jeg en database med en tabel der har 6 integer-felter.
På denne har jeg vistnok 8 indexes. I praksis betyder det cirka 6 gange
mere pladsforbrug end hvis jeg ikke havde index på tabellen.

Jeg kiggede engang på pladsforbruget for en driftsdatabase til
boligadministration. Den fyldte 3 Gigabyte, hvilket jeg synes var ret
voldsomt. Så kiggede jeg på dens backup-fil og hvad den kunne restores ind
i - og fandt ud af, at den reelle størrelse var 300MB - resten var fyld (MS
SQL 6.5). Så hev jeg data ind i Microsoft Access (uden indexes), og så
fyldte det 30MB. Så lavede jeg en eksport til tekst - her fyldte det igen
væsentligt mindre. Så zippede jeg teksten - så var vi nede på 5MB eller
noget i den retning.

Eftersom at databasen havde gigantiske performance problemer (512MB RAM, op
til 20 brugere i alt), så gav det jo lidt eftertanke, at det hele burde
kunne ligge i RAM på en gammel Windows 3.0 maskine. Performanceproblemer
skyldtes dog elendig programmering fra leverandørens side.

Lars.

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

Arne Feldborg (20-07-2003)
Kommentar
Fra : Arne Feldborg


Dato : 20-07-03 00:21

Daniel Udsen <dudsen@koen.dk> skrev Sat, 19 Jul 2003 18:45:47 +0200

>Jeg har oplevet at de filer der indeholder databaserne fylder adskillige
>gange den data der er gemt vilde fylde i en flad fil men hvor meget er
>dette overhead egentligt, og hvordan er det for de forskællige database
>systemer?
>
Jeg har en 3 - 4 tabeller i størrelseordenen 10 - 20 MB med ren tekst i
MySql. Teksten er hentet fra flere hundrede csv-filer og den fylder
faktisk mindre i databasen end den gør i de rå filer.

Dette skyldes formentlig at csv-filerne jo har tre ekstra bytes (";")
for hvert felt.

Herudover kommer så indexeringen, så i de nævnte tilfælde fylder ca.
halvt så meget som selve datafilen.


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bøling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste