Toon posts:

[MySQL / hosting] Advies database

Pagina: 1
Acties:

Verwijderd

Topicstarter
Momenteel ben ik aan het werken aan een web-applicatie, die ik schrijf in php. Het moet een soort van spel worden, dat bestemd is voor verenigingen. De bedoeling is om, na proefdraaien bij 1 club, kopieën ervan te verkopen tegen een schappelijk bedrag. Het idee is dan dat de koper voor dat bedrag het spel eenmaal kan spelen met zijn leden (spelduur kan oplopen tot een paar maanden).

Het spelconcept is nu zo gebouwd dat er een 'overhead' admin zit, die met een druk op de knop vanuit een CMS een nieuwe kopie kan genereren. De overheadadmin heeft hierdoor overzicht over de afnemers, en na afloop van een spel wordt die koper ook weer verwijderd, tenzij hij betaalt voor een nieuw spel.

Per spelafdeling (dus per vereniging) worden er ca. 12 tabellen gegenereerd in de database, dus als er een paar kopieën worden verkocht, dan loopt het aantal tabellen in de database snel op. Tel op zo'n 50 gebruikers per vereniging, die dagelijks minimaal 5 keer inloggen, en die via de bijbehorende webpagina elkaar berichtjes kunnen sturen en in forums kunnen posten. Verder moet worden vermeld dat bij elke page-load database-verkeer genereert.

Hoe is dit te voorkomen? Voor elke afdeling een nieuwe database aanmaken? Is er een hostingprovider die dit ondersteunt zonder daar enorme bedragen voor te tellen? Het moet namelijk wel relatief goedkoop blijven voor een club om een kopie te kopen (laten we zeggen maximaal 25 euro per spel).

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Je hoeft natuurlijk niet 12 tabellen voor elke vereniging te maken, je kunt ook 13 tabellen maken waarbij die laatste de deelnemende verneigingen opslaat, en in elke (relevante) tabel verwijs je naar die 13e tabel om aan te geven over welke verneging het gaat.

Verder kun je met server-side caching eventueel de database een beetje ontlasten.

Verwijderd

Topicstarter
Ik werk al zo veel mogelijk met sessies waarin ik alle variabelen opsla die ik veel nodig heb.

Je bedoelt dus dat ik bijvoorbeeld een tabel met gebruikersinformatie maak, waarin ik de informatie van al die verenigingen ga opslaan, en vervolgens een kolommetje met daarin een id die gekoppeld is aan de een vereniging (die koppeling staat dan in een andere tabel).

Is het probleem dan niet net zo groot, namelijk dat nog steeds evenveel personen tegelijkertijd data uit de database gaan halen, alleen nu ook nog uit dezelfde tabel?

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 14:26

Reinier

\o/

Wat Genoil zegt lijkt me ook het mooist, maar als je per se een eigen database voor elke afdeling wilt maken hoeft dat alsnog niet veel geld te kosten. Dreamhost bijvoorbeeld biedt oneindig veel databases aan en is niet echt duur.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Verwijderd schreef op maandag 17 januari 2005 @ 14:34:
Is het probleem dan niet net zo groot, namelijk dat nog steeds evenveel personen tegelijkertijd data uit de database gaan halen, alleen nu ook nog uit dezelfde tabel?
ach over database load zou ik me met minder dan 1000 concurrent users (een uit de lucht gegrepen getal maar je snapt het punt wel waarschijnlijk) nog niet al te druk maken. stel nou dat je game wegens groot succes de sql server van je host plat legt, dan is dat toch eigenlijk fantastisch? er zijn altijd manieren om op dat gebied qua platform te scalen, zoals een dedicated server o.i.d.

maar zoals ik al zei, je kunt de html output van pagina's die alleen maar database-read operaties doen vrij eenvoudig cachen, hetgeen de load verlaagt en het geheel ook nog eens aanzienlijk kan versnellen.

een andere reden om alles in 1 database onder te brengen is dat onderhoud en updates doen veel eenvoudger gaat, dat hoef je dan immers maar 1 keer te doen ipv x keer.

Verwijderd

Topicstarter
En als er per vereniging 3 forums zijn, met per forum een groot aantal topics. En er zijn 20 verenigingen. Wordt het dan niet enigszins traag? Het zal toch sneller zijn als er 20 man ieder in een tabel van hun eigen afdeling lopen te zoeken, dan dat ze tegelijk in 1 tabel zoeken, omdat daar alle info samen staat.

Ik heb geen ervaring op het gebied van optimaal gebruik van MySQL, dus het kan best dat ik het fout heb. Het is maar een Fingerspitzengefühl. Of, zoals de grote Cruyff zegt: een Spingerfitzengefühl.

Is er geen standaard hierover? Wat is beter: veel tabellen met weinig data, of weinig tabellen met veel data. Overigens kan mijn database 500 connecties aan.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Er was pas nog een topic over volgens mij.. Er is - imho - geen algemeen 'beter', dit hangt af van je eisen/wensen. Maar kwa onderhoud is alles in 1 database (met ook zo min mogelijk 'dubbele' tabellen) wel handiger.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
volgens mij maakt het weinig uit voor de load of 2 users tegelijk in 1 db zoeken vs. 2 users in 2 db's.
voor de wat complexere write operaties kan dat pas wat uitmaken. uiteraard is fulltext zoeken in een table met meerdere records altijd trager, hoewel je natuurlijk alleen zoekt in de records van de betreffende vereniging, dus erg veel zal het ook niet schelen (denk ik).

uiteindelijk blijf ik erbij dat je eerst moet kijken naar het ontwerpen van een zo mooi mogelijke webapplicatie en je niet zo vroeg al druk gaan maken over performance. ook moet je nadenken over 3rd party spul dat je evt. gaat gebruiken. wil je bijvoorbeeld phpBB in gaan zetten voor je app, dan moet je natuurlijk wel zeker weten dat je phpBB zodanig kunt configureren dat het net lijkt alsof er x fora draaien voor x verenigingen ipv 1 forum voor alle verenigingen (wat het dan feitelijk is). kan dat niet, dan kun je je wellicht een hoop ellende, geld en tijd besparen door toch voor x db's te gaan.

Verwijderd

Topicstarter
@Genoil
In principe bouw ik alle onderdelen zelf, omdat ik het dan optimaal naar mijn eigen wensen kan configureren. Vaak blijkt dit sneller te zijn dan bestaande programmatuur aan te passen. Mijn queries bouw ik dusdanig dat voor een speler niet te zien is dat er nog meer verenigingen actief zijn.

Overigens wil ik gebruikersnamen per vereniging uniek maken, dus het heeft al geen zin om een user tabel te maken en daar een uniek veld 'gebuiker' aan te maken. Wat dat soort dingen betreft is het dus wel handiger om aparte tabellen te hebben, hoewel het natuurlijk ook gewoon opgelost kan worden door een handige query die ervoor zorgt dat per vereniging een bepaalde username maar 1 keer mag voorkomen in de tabel.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Je kunt toch eenvoudig de user+vereniging uniek maken? Ik zie daar niet echt een probleem...

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 12:55

BlaTieBla

Vloeken En Raak Schieten

OkkE schreef op maandag 17 januari 2005 @ 15:29:
Je kunt toch eenvoudig de user+vereniging uniek maken? Ik zie daar niet echt een probleem...
user1@vereniging_x werkt perfect in dat soort situaties. Of neem als gebruikersnaam het e-mail adres van de gebruiker. Dat is ook uniek.

leica - zeiss - fuji - apple | PSN = Sh4m1n0


Verwijderd

Topicstarter
Klopt. Is ook niet echt iets waar ik diep over nagedacht had toen ik mijn reply plaatste over unieke gebruikers. Overigens is dat ook niet de essentie van dit topic, dus ik hoop dat er niet wordt verder gediscussieerd hierover. Het gaat mij er gewoon om om te weten te komen hoe ik het hele project het beste kan aanpakken. Overigens ziet de hosting van DreamHost er aantrekkelijk uit, qua specs. Tijd om eens even na te trekken hoe goed hun reputatie is.

Edit: via webhosters.nl alleen maar positieve reacties...

[ Voor 7% gewijzigd door Verwijderd op 17-01-2005 15:56 ]


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Verwijderd schreef op maandag 17 januari 2005 @ 15:38:
[...]

Overigens is dat ook niet de essentie van dit topic, dus ik hoop dat er niet wordt verder gediscussieerd hierover.

[...]
Sorry. :) Hier vind je het topic nog wat ik bedoelde. Hierin wordt wel een andere vraag gesteld, maar misschien dat er toch iets nuttigs in staat..

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Verwijderd

Topicstarter
Thanks. Ik heb net even wat info over server-side caching gelezen, omdat ik daar nog nooit eerder mee gewerkt heb. Kan ik denk ik wel gebruiken.

Suggesties / meningen blijven overigens altijd welkom!

Verwijderd

Goedkope host:
www.helderhosting.nl

[ Voor 110% gewijzigd door Verwijderd op 17-01-2005 18:54 . Reden: blaat verwijderd ]


Verwijderd

Hmm, ik heb zelf zeer goede ervaringen met Webstekker.
Uitstekende support, super goed, helder controlpanel en lekker geprijst.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:20

gorgi_19

Kruimeltjes zijn weer op :9

Modbreak:Als het hier een opsomtopic gaat worden van mogelijke hosts, dan gaat dit topic binnen no-time op slot :)
Recensies van hosters zijn te vinden op sites als www.webhosters.nl e.d.; dit heeft niets met programmeren zelf te make

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
@gorgi_19:
Thanx. Daar heb ikzelf namelijk ook geen behoefte aan. Webhosters.nl weet ik zelf ook te vinden.

Verwijderd

Topicstarter
schoppie...

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 15-05 12:23
Het lijkt me duidelijk: je zou beter het systeem aan kunnen passen aan meerdere verenigingen zodat ze dezelfde database gebruiken. Wat wil je nog precies weten?

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 14:26

Reinier

\o/

Verwijderd schreef op maandag 17 januari 2005 @ 20:29:
@gorgi_19:
Thanx. Daar heb ikzelf namelijk ook geen behoefte aan. Webhosters.nl weet ik zelf ook te vinden.
Oh, waarom vraag je dan:
Is er een hostingprovider die dit ondersteunt zonder daar enorme bedragen voor te tellen?
:?
Pagina: 1