passero
Legacy Member
Ik zit met volgend systeem dat momenteel volledig op mysql gebaseerd is:
producten(id,naam,omschrijving,...)
prijzen(id,prod_id,prijs,...)
Bedoeling is om een historiek bij te houden van de prijzen van de producten.
De DB telt +/- 1000 producten en de prijzen kunnen meerdere malen per dag veranderen.
Het is de bedoeling om dan een grafiek van de prijs van een bepaald product op het scherm te zetten. Dit is eigenlijk het enigste nut van die prijzentabel.
Nu is dit systeem nog jong en bevat de DB niet veel gegevens maar ik vraag me af wat er met dit systeem zal gebeuren na een jaar:
stel dat de prijs 2x per dag veranderd en we hebben 1000 producten in de DB:
250*1000*2 (250 aangezien weekend niet worden meegerekend), dat geeft dan een half miljoen records per jaar.
Is dit nog performant als ik
select prijs from prijzen where prod_id = x doe?
Zijn er geen betere manieren om dit op te slaan dan in de DB?
Ik dacht eventueel aan een csv waar er dan elke keer een lijntje bijkomt in plaats van in de db. Dan moet ik gewoon elk bestand (per product) een andere naam geven en voor de grafiek kan ik dan gewoon heel de file inlezen en die gegevens gaan gebruiken voor de grafiek.
Andere suggesties zijn ook meer dan welkom natuurlijk.
producten(id,naam,omschrijving,...)
prijzen(id,prod_id,prijs,...)
Bedoeling is om een historiek bij te houden van de prijzen van de producten.
De DB telt +/- 1000 producten en de prijzen kunnen meerdere malen per dag veranderen.
Het is de bedoeling om dan een grafiek van de prijs van een bepaald product op het scherm te zetten. Dit is eigenlijk het enigste nut van die prijzentabel.
Nu is dit systeem nog jong en bevat de DB niet veel gegevens maar ik vraag me af wat er met dit systeem zal gebeuren na een jaar:
stel dat de prijs 2x per dag veranderd en we hebben 1000 producten in de DB:
250*1000*2 (250 aangezien weekend niet worden meegerekend), dat geeft dan een half miljoen records per jaar.
Is dit nog performant als ik
select prijs from prijzen where prod_id = x doe?
Zijn er geen betere manieren om dit op te slaan dan in de DB?
Ik dacht eventueel aan een csv waar er dan elke keer een lijntje bijkomt in plaats van in de db. Dan moet ik gewoon elk bestand (per product) een andere naam geven en voor de grafiek kan ik dan gewoon heel de file inlezen en die gegevens gaan gebruiken voor de grafiek.
Andere suggesties zijn ook meer dan welkom natuurlijk.
Het heeft ook geen enkel nut prijzen tot 2 maal per dag aan te passen, om de x aantal dagen / weken zal wel volstaan, of denk je echt dat er mensen gaan zijn die je site constant in het oog gaan houden om een eventuele daling/stijging van x aantal euro te kunnen vaststellen. En uiteindelijk zullen deze schommelingen (per dag) ook geen effect hebben op de grafiek, enkel de schommelingen die betekenis hebben zullen op termijn zichtbaar blijven (dus de schommelingen over een tijdspanne van enkele maanden).
en de prijzen worden automatisch opgehaald via een cronjob. Het kan zelf tot 10 maal per dag gaan, en ja, sommige mensen misbruiken hun f5 knop tot ze een scherpe prijs zien dus het is belangrijk dat er genoeg data is.