Kom ihåg mig?
Home Menu

Menu


Flera databaser eller en stor?

 
Ämnesverktyg Visningsalternativ
Oläst 2013-02-18, 13:29 #1
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Standard Flera databaser eller en stor?

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!
Johnny Viking är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 13:46 #2
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Förstår inte riktigt slutprodukten, kan du förklara lite mer? Vad är det du ska bygga upp?
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 13:57 #3
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Bokningssystem för ett företags kunder.
Johnny Viking är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:01 #4
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
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.
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:12 #5
Yllas Yllas är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 268
Yllas Yllas är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 268
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.
Yllas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:16 #6
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
Kanske går att abstrahera koden/arkitektur så du slipper hantera klientID för varje fråga, om du kör på 1 DB.
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:21 #7
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Jag rekommenderar 1 databas. Sedan om du ska skapa nya tabeller för varje kund eller ha få jättestora tabeller beror lite på.
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:26 #8
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
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. Funderar på att bygga färdigt sajten till 99% (nog 60-70%) just nu. Det är många saker jag vill få klart först innan jag släpper för att bygga om själva koden.

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
Johnny Viking är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:28 #9
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Johnny Viking Johnny Viking är inte uppkopplad
Medlem
 
Reg.datum: Aug 2011
Inlägg: 273
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Jag rekommenderar 1 databas. Sedan om du ska skapa nya tabeller för varje kund eller ha få jättestora tabeller beror lite på.
Visst, ett alternativ vore ju flera tabeller. En per kund osv. Men då snackar vi ju en gigantisk tabelllista. Och jag hatar scrolla, haha!

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.
Johnny Viking är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-02-18, 14:28 #10
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
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
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:03.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017