[DISCUSSIE/PHP/MySQL/XML] historische data bewaren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kon ff niet echt een goeie titel verzinnen die de hele lading dekt... maar zal proberen een schets te geven van mijn probleem:

Ik draai al een behoorlijk aantal maanden een zelf gemaakt statistiekenpakket op mn eigen website en op die van een aantal klanten. Op zich draait dat heel leuk en werkt het verder best goed. Maar omdat ik de performance wil verbeteren met het oog op de toekomst ben ik wat gaan brainstormen over de opzet van het geheel.

huidige situatie:
Op dit moment wordt alle informatie bij de eerste hit van een bezoeker verwerkt. Dat houdt in dat als een bezoeker via een zoekmachine binnen komt dit gelijk verwerkt wordt, zoekwoorden uit de referer gefilterd, os, browser en screen gegevens verwerkt... en ga zo maar door. Dit kost 0,04 seconde per hit wat inhoudt dat ik 25 hits per seconde kan verwerken wat ik persoonlijk niet waanzinnig veel vindt, maar voor het gebruik op dit moment wel ruim voldoende is.

nieuwe situatie:
In de nieuwe situatie wil ik alles kaler opslaan, geen referers etc strippen en verwerken, maar alles kaal opslaan. Dan wil ik elk dag of maand een vertaalslag maken naar een historische opslag iets, waarmee ik gelijk ook al wat informatie ga uitsplitsen en verwerken. En met dat iets bedoel ik een xml file (per user die aan het systeem hangt) of een database. Of zijn er andere goeie mgelijkheden?

En daar wil ik eigenlijk eens wat ideeën over horen. Ik had met mn collega de discussie en hij hield het op XML voor de historische data en ik had het idee om het gewoon in de db te plaatsen zodat alles makkelijker te queryen is en ik een klant makkelijker verschillende maanden / jaren of wat dan ook kan laten vergelijken. Zeker het inrichten van een XML file waarin een heleboel (redelijk complexe) data in gezet moet gaan worden lijkt me behoorlijk lastig. Daarnaast is het volgens mij ook langzamer dan een db om aan de juiste gegevens te komen en heb je meer IO dan met het gebruik van een db.

Ik ben dus benieuwd naar menningen / tips etc over het opslaan van historische data voor zulk soort analysesystemen om het zo maar te noemen, mn collega kon me niet voldoende overtuigen van het gebruik van XML en neig ik zelf naar het gebruik van een db. Brand los :9

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
Waarom zou je historische data in een XML file gaan opslaan? Blijkbaar vindt men de laatste tijd dat XML voor alles geschikt is; te pas en te onpas roept men maar 'XML'.
XML puur als opslagmedium zie ik niet zitten.

Historische data (data die je niet dagelijks gebruikt), sla je beter op in een 'history-tabel'.
Als je bv. gegevens die ouder zijn dan 2 maanden niet veel meer nodig hebt, verplaats je die naar de history tabel.
Hierdoor blijft de data op 1 centrale plaats bewaard (de databank), kan je de recente data sneller raadplegen, en heb je ook direct toegang tot de oudere gegevens.
Aangezien die oude gegevens ook in de DB zitten, zijn ze ook onmiddelijk beschikbaar, wordt de integriteit bewaard, en je kan ze dan ook nog eens makkelijk naar een XML file exporteren mocht dat nodig zijn.
XML is imho een uitstekend middel om gegevens te transporteren/communicatie tussen computers tot stand te brengen, maar niet als vervanger voor een DBMS.

maw: ik ben het niet eens met je collega.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Markieman
  • Registratie: December 2001
  • Laatst online: 01-06 11:37
Verwijderd schreef op 14 april 2004 @ 07:40:
... Dit kost 0,04 seconde per hit wat inhoudt dat ik 25 hits per seconde kan verwerken wat ik persoonlijk niet waanzinnig veel vindt, maar voor het gebruik op dit moment wel ruim voldoende is. ...
25/sec = 1500/min = 90000/uur = 2160000/dag

Stel je haalt maar 100000 bezoekers per dag, dat is gem. 1,15 per seconde. Dan heb je een marge van 23/sec voor piekmomenten. (Aangezien de bezoekers niet gespreid over de hele dag komen)

Voor een piek van 1500/min moet je wel een erg goedlopende site hebben...

Lijkt me dat de huidige situatie voldoet.

[ Voor 3% gewijzigd door Markieman op 14-04-2004 08:56 ]

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@whoami
Das één bevestiging van mijn idee ;) Dat waren voor mij ook argumenten om gebruik te maken van historytables in plaats van het hippe XML wat ikzelf ook niet zie als opslag medium in mijn situatie.

@Markieman
Op zich zijn dat aardig wat hits per dag ja, maar er gaat meer draaien dan alleen dit script en daarnaast maak ik nog geen gebruik van histrory tables en bevat mn visitortable 10.000 records waarop ik dit resultaat haal. Als deze zal groeien zal alles toch wat trager worden. Daarnaast hoop ik er steeds meer klanten aan te koppelen en zal de intensitiviteit op het systeem verhogen. Maar goed, dat was ook iets waar ik me niet al te veel zorgen over maak, het gaat me meer om de beheersbaarheid en wil ook ver in de toekomst kijken. Als ik zo'n systeem niet goed op zet heb ik over een aantal jaar een groot probleem, want dan kan je alles gaan proberen te converteren waar je niet vrolijk van wordt.

Vandaar dus dat ik een goeie opzet wil maken voor het bewaren van mn historydata...

Acties:
  • 0 Henk 'm!

  • Markieman
  • Registratie: December 2001
  • Laatst online: 01-06 11:37
Ok, begrijpelijk, beheersbaarheid is zeer belangrijk.

Verder kan ik je helpen door te melden dat ik het volledig met whoami eens ben...

[ Voor 15% gewijzigd door Markieman op 14-04-2004 09:11 ]

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

Sooterd wat hebben we nou geleerd op de TH? XML is niet voor ((semi)permanante)opslag ;)

[ Voor 12% gewijzigd door D2k op 14-04-2004 09:13 ]

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmmm wordt dus minder discussie als ik dacht als iedereen db gebruik beaamt ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
[offtopic]

He D2k, ik was het ook niet eens met mn collega! Vandaar dat ik mn gelijk wilde halen :p

De TH is alweer zo lang geleden, daar weet ik niet zo veel meer van :p

[ Voor 34% gewijzigd door Verwijderd op 14-04-2004 09:20 ]


Acties:
  • 0 Henk 'm!

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Ik weet niet wat voor functie jouw collega heeft, maar ik hoop voor je dat hij je niet hoeft te helpen met software ontwikkelen. _/-\o_

XML is absoluut niet bedoeld voor opslag.
Eventueel kun je het wel gebruiken om instellingen op te slaan die je om een goede reden niet in de database kunt/wilt zetten.

Never underestimate the power of


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb het verder uitgediscusseerd met mn collega en gaan het waarschijnlijk als volgt doen.

- actuele data (data van de laatste 3 maanden in de db)
- historische data (data van de laatste 3 jaar in de db)
- archief data (data ouder dan 3 jaar wordt gecomprimeerd opgeslagen naar XML en komt per klant per kalender jaar in een XML file zodat die op CD bewaart kan worden als archief data)

Op deze manier is data van de laatste 3 jaar (of het nu 2, 3, 4 of 5 jaar wordt maakt ff niet uit) direct toegankelijk. Data ouder dan 3 jaar kan eventueel vanuit de XML geconverteerd worden naar excelsheets of wat dan ook zodat de archief data eventueel gebruikt kan worden binnen rapporten of wat dan ook.

Er wordt geroepen dat XML geen dataopslag is, maar in deze situatie lijkt het me verder wel handig. Via de browser is deze data niet meer toegankelijk, maar omdat we het in XML formaat hebben opgeslagen (een gecomprimeerde versie van de historische data, je hoeft immers niet meer na te gaan hoeveel bezoekers er op 23-12-1998 er zijn geweest) is het wel mogelijk om deze makkelijk naar andere formaten te ceonverteren.

Zijn er nog op en aanmerkingen op deze opzet?

Acties:
  • 0 Henk 'm!

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
En waarom kun je de archief data niet in een aparte database stoppen die je vervolgens op cd zet?

Never underestimate the power of


Acties:
  • 0 Henk 'm!

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
ik schreeuw MYSQL voor de opslag. Je kunt hiervandaan altijd nog met PHP exports maken naar XML voor de presentatie of misschien wel export naar XML voor de cd

| www.everythingisspiritual.com | www.mosaic.org |


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat kan op zich wel, maar het lijkt mij practischer om een XML file naar een klant te sturen als hij deze wil hebben, daarnaast zorg ik voor een paar standaard templates voor Excel e.d. dus als ik direct XML files maak heb ik alles per klant direct beschikbaar, hoef ik geen db terug te zetten en kan ik direct files converteren.

Maar goed, misschien roep ik te onpas XML in dit geval...
Pagina: 1