Avatar billede vis_dk Nybegynder
26. september 2005 - 23:29 Der er 11 kommentarer og
1 løsning

Multidimensionel database

Hej,

Jeg ønsker at gemme data fra et multidimensionelt array i en database.

Man kan forestille sig at jeg ønsker at vide hvilken værdi der ligger på plads (2,7,3,6).

Jeg har kigget lidt rundt på nettet og det virker som om at jeg skal have gang i en "Cube" database.  Kan det passe?

Har i nogle tutorials til at komme igang?

mvh
Christian
Avatar billede arne_v Ekspert
27. september 2005 - 08:20 #1
en helt normal tabel med 5 felter:
  ix1
  ix2
  ix3
  ix4
  val
kan måske også bruges
Avatar billede vis_dk Nybegynder
27. september 2005 - 17:22 #2
Problemmet er, at der er 7 dimensioner, af størrelsen 52. Altså 1028071702528 forskellige mulige hver med én værdi. Det vil nok blive både uoverskueligt og køretidsmæssigt ikke så godt i en 2 dimenensionel tabel.
Avatar billede vis_dk Nybegynder
27. september 2005 - 17:30 #3
Dette er dg måske lidt optimistisk...  vil nok stoppe ved 5 dimensioner, men problematikken er vel den samme
Avatar billede arne_v Ekspert
27. september 2005 - 19:01 #4
hvorfor skulle det køre bedre i en kube ?

er der ikke en masse NULL værdier som du kunn eundlade at ligge ind i databasen ?
Avatar billede vis_dk Nybegynder
27. september 2005 - 20:14 #5
Nej det er stort set fyldt helt op,  jeg forestille mig bare at man istedet for at skulle løbe en stor tabel igennem kunne vælge mere præcist hvor man ville kigge.
Avatar billede arne_v Ekspert
27. september 2005 - 20:19 #6
hvis vi antager at vil gemme noget som fylder 8 byte så fylder bare values 8 TB

med extra felter og index løber det op i rigtigt mange TB

hvad hardware har du til det ?
Avatar billede vis_dk Nybegynder
27. september 2005 - 23:18 #7
1 byte per felt er fint, så hvis vi antager 5 dimensioner så bliver det vel 52^8/1000000000 = 0.38TB altså 380GB,  så det skulle være muligt.
Avatar billede arne_v Ekspert
27. september 2005 - 23:42 #8
jeg er lidt forvirret over om det er 5 eller 7 eller 8 dimensioner

med 1 byte værdier så er det 380 MB, 1 TB og 53 TB

men med 1 byte værdier tror jeg at DB overhead vil være enormt

har du overvejet ikke DB løsninger ?
Avatar billede vis_dk Nybegynder
28. september 2005 - 19:50 #9
ja ok, det skulle selvfølgelig have været 52^5 og GB.. altså 52^5/10^9 = 0.38GB

Hvilke andre løsninger kan du anbefale?
Avatar billede arne_v Ekspert
28. september 2005 - 21:55 #10
nu ved jeg ikke særligt meget om hvad kuber kan, men jeg tror at overhead
bliver stort

jeg ville finde en stor binær fil på disk som tilgåes med random access
IO og med en cache mekanisme tiltalende

men det kræver altså lidt udvikling som jo også koster tid/penge
Avatar billede vis_dk Nybegynder
28. september 2005 - 23:52 #11
Det skal bruges i et bachelor projekt, så det er noget vi skal finde ud af. Jeg må høre mig omkring. Lav et svar, så du kan få pointene som tak for inspirationen.
Avatar billede arne_v Ekspert
28. september 2005 - 23:55 #12
ok
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