Avatar billede raven_ Nybegynder
19. april 2004 - 08:41 Der er 3 kommentarer og
1 løsning

Database design - Lagering af mediafiler

Hej

Jeg er ved at designe en database, men omraadet ligger udenfor det jeg normalt arbejder med (Er ved at kode et spil - det sku ikke lige til).

Saa derfor et meget generelt sporgsmaal.
Skal man lagre store maengder data(Audio og grafik filer) i selve databasen eller laver man referencer til dem i databasen i form af en steng?

Jeg kunne forstille mig at option 2 var den mest optimale, men jeg har ikke teorien til at bakke det op?

Haaber der nogen der har svaret saa vi kan komme vidre med vores lille spil. Eller spillet, der startede med at vaere et lille spil :-)

Mvh Raven_
Avatar billede trer Nybegynder
19. april 2004 - 09:01 #1
Det er som regel kun fordelagtigt at lagre filer inde i databasen hvis man har behov for 100% kontrol med filtilgang og ændringer.

Det kunne fx være i et dokumentstyringsværktøj at man ville sikre, at dokumentstyringen på ingen måde kunne omgås (fx ved at tilgå filen på et netshare) og at der var en garenteret konsistens mellem backup af filer og øvrige oplysninger i databasen.

Jeg ville tro, at du ikke havde disse behov i et spil og derfor bør tage den simple løsning, nemlig blot i databasen gemme fillokationerne.  Det giver i øvrigt normalt også den bedste performance.
Avatar billede raven_ Nybegynder
19. april 2004 - 09:55 #2
Takker, 15 point er paa vej i din retning...
Avatar billede arne_v Ekspert
19. april 2004 - 09:56 #3
De fleste har nogen dårlige erfaringer med at gemme filer i MS Access tilbage
fra midten af 1990'erne.

Men jeg er skeptisk overfor hvor valid konklusionen er idag.

Oracle har lavet fil system oven på database. MS vil lave fil system oven
på database.

Da jeg har en vis tillid til Oracle og MS, så tror jeg faktisk ikke at performance
er så dårlig ved at gemme filer i databasen.

Det forudsætter nok at databasen er dimensioneret passende.

Og det giver ihvertfald nogle åbenlyse administrations mæssige og
applikations udviklings mæssige fordele at gemme det hele i en database.
Avatar billede trer Nybegynder
19. april 2004 - 10:14 #4
Du har ret i, at der er fordele ved at gemme filer direkte i databasen, men rent performance mæssigt er det stadig ikke optimalt. Jeg kender meget lidt til Oracle Internet file system, men jeg ved da at det fungerer og kræver væsenligt mere hw til at sikre performance end boksen ville kunne levere som "ren" fil server.

Og hvad angår MS: Microsofts næste filsystem (det i Longhorn) vil være en "database" - men ikke i traditionel forstand som SQL Server er det.

Og i sql server 2000 er håndteringen af Blobs (binary large objects) stadig dårligere end håndteringen af andre datatyper - og i næste sql server version (yukon) vil det åbenbart stadig ikke være bedst at levere filer i blob felter - i stedet har MS lavet et system hvor man linker til filer i filsystemet, men integrerer dem med transaktionerne og backuppen.

Jeg har i øvrigt længe haft lyst til at skrive et klientprogram der tillader at man kan anvende en sql server database som en netshare - blot for at se om jeg kunne opnå samme eller bedre performance end IFS. Det er dog ikke blevet til noget (et lidt for stort hoppyprojekt at kaste sig over :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester