FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej! Jag har ett projekt på gång som kan mynna till flertalet kunder under delad scriptbas. Jag undrar dock, bör jag lägga allt i en stor databas, eller ska man dela upp det i flera databaser? En per kund alltså med tabeller för inställningar, kunder, data, osv.
Här är vad jag tror. Flera databaser: - Större säkerhet (?) i att en kund inte påverkar en annan, att data kommer på vift, eller att scriptfel inte kan påverka andra kunder - Färre relationstabeller att hålla reda på - Enklare SQL-queries = snabbare sajt Endast 1 databas: - Långsammare över tid ju mer data som det fylls på med? Förstås beroende på väl optimerade queries och indexar, dock ej expert på det området. - Alla tabeller och script måste hålla reda på klient-ID för att få ut rätt data (troligen fler rader kod, och risker att tabba sig. Man vill ju inte att en kund ska se en annans data osv...) - Uppdateringar av databaser, mer avancerat / mer jobb Kom gärna med åsikter! Idel öra! ![]() |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Förstår inte riktigt slutprodukten, kan du förklara lite mer? Vad är det du ska bygga upp?
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Bokningssystem för ett företags kunder.
|
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
Jag tror du måste förklara lite mer än så, eller så är jag väldigt trött i skallen. Är tanken att databasen skall innehålla kunddata, inställningar för kunden osv? Isåfall tycker jag du kör på 1 databas. Det blir inte så speciellt mycket svårare queries, bara att säkerställa att varje query körs mot det kundID som är aktuellt.
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Tänk på om du gör en ändring när du har 100 kunder och måste ändra alla dessa 100 databaserna?
Hade lätt kört på 1 databas. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Kanske går att abstrahera koden/arkitektur så du slipper hantera klientID för varje fråga, om du kör på 1 DB.
|
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Jag rekommenderar 1 databas. Sedan om du ska skapa nya tabeller för varje kund eller ha få jättestora tabeller beror lite på.
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Medlem
|
Använder CodeIgniter och utnyttjar Active Record fullt ut så långt det går.
Just nu i utvecklingen så bygger jag sajten för 1 företag enbart. Det var lite så det började, men nu ser jag möjligheten att sälja det till fler, då det börjar bli väldigt bra. Det är inte tänkt att bli någon mainstream-produkt med sikte på storföretag, utan för mindre företag. En stor nackdel med flera databaser är ju självklart att det blir mycket att underhålla. Men det är liksom bara ett par rader kod, att byta mellan databaser per kund (styrt av domäninloggningen). Så att implementera att många ska röra sig i 1 databas är i det här skedet ett mycket större jobb än att välja att utgå från en ny databas med en grundsetup. Dock, är det ju inte alltid så bra att välja enklaste utvägen, om än att den är lockande just nu. ![]() CodeIgniter stödjer migrering, så det bör ju inte vara ett omöjligt jobb att i ett svep uppdatera flera databaser. Det handlar ju (förhoppningsvis) oftast bara om nya kolumner, och eventuellt flytta på lite data från ett ställe till ett annat. Om ens det. Senast redigerad av Johnny Viking den 2013-02-18 klockan 14:30 Anledning: felstavning |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Medlem
|
Citat:
Då ser jag det nästan enklare och smidigare att ha flera databaser. Det är ju nästan samma sak som att sprida upp det i många tabeller. |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Supermoderator
|
Jag hade nog också valt en databas. Det går att skala upp om behovet skulle uppstå och du kan dessutom lägga till lager mellan databas och kund.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
Svara |
|
|