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/