[Database] Werken met saldi

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dag mensen,

Van het weekend wil ik een systeem op gaan zetten waarbij leden van mijn club een saldo hebben en bij activiteiten en declaraties kosten opgeteld en afgetrokken moeten kunnen worden van deze saldi.

Nu zit ik in dubio: moet ik de saldi statisch opslaan en hierbij fouten niet meer kunnen terugdraaien of moet zal ik alles bij elke query vanaf het begin laten uitrekenen. Wat misschien ooit wel erg lang gaat duren met meer dan 50 transacties per maand.

Heeft er iemand toevallig ervaring met hoe dit aan te pakken? Want het mag niet foutgevoelig zijn maar ook niet te cpu intensief.

Alvast bedankt,

Acties:
  • 0 Henk 'm!

  • Wish
  • Registratie: Juni 2006
  • Laatst online: 20:01

Wish

ingwell

Of per boekjaar opnieuw gaan uitrekenen?

No drama


Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

Bij 50 transacties per maand moet je wel erg veel leden hebben voor het langzaam begint te worden binnen de levensduur van een mens :)

Je zou natuurlijk kunnen overwegen om een saldo bij te houden in de leden tabel en de transacties ook individueel op te slaan. Dan kun je altijd de transacties nalopen als er iets mis lijkt te gaan. Dat ene extra veld in die leden tabel gaat je de kop niet kosten.

Redundante data is in dit geval waarschijnlijk de moeite wel waard.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • Toennee
  • Registratie: November 2008
  • Laatst online: 19:52
Ik zou een historie aanleggen voor de mutaties. En dagelijkse (cronjob) een verwerking van de mutaties van die dag doen naar de historie doen. (timestamp meegeven + omschrijving)

Na verwerking van de mutaties in de historie het saldo in je systeem van de leden bijwerken. Je leden hebben dan dagelijks een saldo waar de CPU een berekening mee doet. Zo heb je CPU-wise weinig belasting, oude mutaties worden dus niet meeberekend.

Voorbeeld geef ik om dit dagelijks te doen, kan natuurlijk ook wekelijks, hangt af van verschillende factoren (programmeertaal/hosting/aantal leden).

Jouw Hardloopkalender


Acties:
  • 0 Henk 'm!

  • Xiphalon
  • Registratie: Juni 2001
  • Laatst online: 13:39
Met 50 transacties per maand zou ik het per jaar het saldo opslaan. Gewoon meenemen in de jaarafsluiting, die doe je over het algemeen toch al.

Maar zolang je niet met miljoenen mutaties zit zou ik me niet druk maken om performance. Op mijn werk hebben we een maandelijks proces wat rond de 6 miljard mutaties saldeert, en dat gebeurd in net geen 3 minuten.

Acties:
  • 0 Henk 'm!

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 22:59
Ik doe dit op mijn werk, tabellen van 50000 entries zijn geen enkel probleem om te sommeren in een fractie van een seconde. Wij slaan geen tussenresultaten en jaarafsluitingen op; en dat geeft na 6 jaar bedrijfsmatig gebruik niet eens de indicatie van problemen. Dus tenzij jij de database op een 386 gaat draaien; gaan die 50 tranascties per maand geen probleem vormen de komende 100 jaar.

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.

Pagina: 1