19. april 2004 - 08:41Der 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 :-)
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.
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 :-)
Synes godt om
Ny brugerNybegynder
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.