FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Administratör
|
Citat:
För att få flexibilitet och kunna framställa godtyckliga rapporter med gammal data i framtiden kan man vilja spara rådata. Logga till en tabell med timme/dag/vecka/månad i namnet så är det lättare och effektivare löst att ta bort, rotera eller flytta gammal data. Då loggning ska ha så lite påverkan som möjligt på livemiljön är det väldigt vanligt att spara loggningen denormaliserat och göra eventuell analys till en normaliserad modell i efterhand. I ditt fall skulle det innebära att alla tabeller förutom Visitor och VisitorDaily går bort. För att bara få fram datan i VistorDaily-tabellen räcker det med en enda SQL-fråga som kan köras dagligen istället. Roterar du dessutom statistiken per dag kan du i framtiden flytta gammal data till en bearbetningsserver som sköter rapporter och annat som vid hög trafik ofta blir tungt på en livemiljön. |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Nykomling
|
Citat:
Där finns det heller inga som helst problem för mig att sätta upp ett asynkront jobb som hanterar loggningen, så det hindrar inte laddningen. Citat:
Tanken var dessutom att ha all statistik i en separat databas, så att den senare utan problem skulle kunna flyttas till en egen server etc, så att det inte påverkar huvudserverns prestanda. Senast redigerad av Uzza den 2010-06-23 klockan 14:52 |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Administratör
|
Citat:
Dock tror jag fortfarande att det vore bättre att logga endast denormaliserat. Att köra en extra select (alternativt insert som behöver läsa samma data) mot target-, referrer- och ip-tabellerna för varje sidvisning känns som onödig overhead. Desto effektivare blir det i längden att göra detta i omgångar. Givetvis förutsatt att du inte behöver denna information för att visa någonstans på sidan i realtid.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
Citat:
![]() Citat:
Kommer troligtvis inte kolla på statistiken i realtid dock, så det kanske blir lite överflödigt. XML strukturen skulle samtidigt bli mycket enklare och mindre då. Kommer nog ha kvar ip dock, eftersom jag tänkt använda GeoIPService för att få fram vilket land ip-adressen kommer ifrån. Då känns det bäst att spara det i en tabell för sig så att anropet inte behöver göras flera gånger för varje ip, utan bara första gången den besöker sidan varje dag. |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
Vilket land kommer 127.0.0.1 ifrån? Clarence har rätt, det är effektivare att lagra data av den här typen denormaliserat och bearbeta den offline.
|
||
![]() |
![]() |
Svara |
|
|