Jeg er i planleggingsfasen for en nettside, så prøver å skaffe meg litt oversikt over potensielle utfordringer.
Jeg skal ha en nettside hvor jeg potensielt sett skal ha tusenvis av brukere, alle brukere skal ha muligheten til å lage nye og unike tabeller, derfor ser jeg for meg at man må ha egne databaser for hver bruker.
Her er mine spørsmål:
Jeg skal ha en nettside hvor jeg potensielt sett skal ha tusenvis av brukere, alle brukere skal ha muligheten til å lage nye og unike tabeller, derfor ser jeg for meg at man må ha egne databaser for hver bruker.
- Den globale brukerdatabasen:
Slik jeg ser det for meg, så vil jeg ha en egen database hvor alle brukere er lagret, den vil se ca. slik ut:
Kode
Global UserDB: Table User ------------------------------------------------------------ UserID Email Password Gender DOB Location ------------------------------------------------------------ 1 bob1@etc.com Per M 1/1/2001 Trondheim 2 bob2@etc.com Ola M 2/2/2002 Drammen 3 bob3@etc.com Jon M 1/2/2003 Oslo
- Den individuelle brukerens database:
Hver unike bruker skal også ha en egen database, i og med at de skal kunne lage egne tables så vil utgangspunktet kun inneholde et basetable med UserID:
Kode
Individual UserDB: Table Base ------------------------------------------------------------ UserID --------------------------------------------------------------- 1 2 3
Her er mine spørsmål:
- I og med at brukere både skal kunne lagre "privat" data i tillegg til å kunne opprette egne tables, er det ikke da hensiktsmessig at hver bruker har en egen database?
- Om man har individuelle databaser pr bruker, kan man på et senere tidspunkt kjøre operasjoner (eksempelvis sammenligning) på tvers av disse databasene på en hensiktsmessig måte?
- Om hver bruker skal ha en egen database, finnes det noen webhoteller som støtter dette? Jeg ser at domeneshop kun støtter 10 unike databaser.
- Vil MySQL klare å håndtere tusenvis av operasjoner i minuttet? Vil det være raskt nok? Eller bør man se på andre alternativer enn MySQL?
- Noen andre ting jeg bør tenke på?