Avatar billede roadrunr Nybegynder
18. oktober 2002 - 14:25 Der er 3 kommentarer og
2 løsninger

Deling af data mellem flere databaser

Situationsbeskrivelse:
Jeg har lavet et "ContentManagementSystem".

Jeg har en admin database som jeg kalder "dbAdmin". Heri ligger oplysninger om alle de kunder, som benytter systemet.

Hver kunde har sin egen database(denne kalder vi dbKunde_xxxxxxx), med sine egne data - som f.eks. oprettede sider, nyheder, forums m.m.

Nogle gange er der behov for, at man i systemet kan lave en forespørgsel/relation fra kundens database til admin databasen, for at hente nogle data, som i admin-databasen er ens for alle kunderne.
Det kunne f.eks. være at man gerne ville have en liste over alle de moduler i systemet, som kunden har adgang til.

Mit spørgsmål:
Er det meget krævende for SQLserveren af lave forespørgsler på tværs af databaser? Jeg ville gerne, om der kunne laves en form for sammenligning med, hvis det var en forespørgslen på tværs af 2 tabeller. Hvad ville der være af preformancemæssige forskellige.

Fordi en anden mulighed/fremgangsmåde kunne jo være at de fælles data hele tiden blev replikeret ud til de enkelte kunders databaser, og at man derved ikke skulle lave forespørgsler på tværs af databaser.

Det hele skal tages ud fra en betragtning om, at systemet har 30 kunder oprettet.
Avatar billede bennytordrup Nybegynder
18. oktober 2002 - 14:28 #1
Så længe, databaserne ligger på den samme fysiske server, tror jeg ikke, at der er problemer med performance.

Jeg har selv en situation, hvor jeg opretter 12000 poster via en cross database update forespørgsel, og den går rimelig tjep.
Avatar billede bennytordrup Nybegynder
18. oktober 2002 - 14:29 #2
Du skal dog sørge for at holde styr på collation på de forskellige databaser. Det kan få indflydelse i forbindelse med sammenligning på tekstfelter mellem to databaser.
Avatar billede roadrunr Nybegynder
18. oktober 2002 - 14:39 #3
Okay. Det lyder betryggende!

Jeg har lavet en lille test, for at se om der var nogen forskellige. Jeg har oprettet 1 ens tabel i hver database, og fyldt med med samme antal record,data. Fra SQLQueryAnalyzer har jeg så lavet 2 forespørgsler. Jeg har så valgt at se "statistik" i forbindelse med afviklingen. Resultaterne er meget ens. Dog ser det ud til at forespørglen i den "lokale" tabel bruger flere resourcer end når jeg forespørger tabellen i den anden database. Forskellen er selvfølgelig meget lille, og måske helt ubetydelig? - men alligevel bemærkningsværdig!
Avatar billede roadrunr Nybegynder
17. januar 2003 - 08:06 #4
Det var ikke mange svar jeg fik her...
Avatar billede roadrunr Nybegynder
17. januar 2003 - 08:07 #5
benny.tordrup: For interessen får du lige lidt point.
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