Re: [vz-dev] HUGE performance improvement for grouped queries

2013-10-13 Diskussionsfäden Rainer Gauweiler

Hallo Andreas,

Am 12.10.2013 19:08, schrieb Andreas Goetz:

Um der Performance meiner VZ Installation auf dem Raspi etwas
nachzuhelfen habe ich Aggregation von Daten als neues Feature zum VZ
hinzugefügt. Anstatt wie bei vzcompress2 Daten zu löschen werden diese
in einer separaten Tabelle aggregiert- in der aktuellen Version auf
Tagesebene.


Passiert das zusätzlich? Werden die Daten also dann doppelt gespeichert 
(was ich gut fände)?


Gruss
 Rainer





[vz-dev] HUGE performance improvement for grouped queries

2013-10-12 Diskussionsfäden Andreas Goetz
Hallo Zusammen!

Um der Performance meiner VZ Installation auf dem Raspi etwas nachzuhelfen
habe ich Aggregation von Daten als neues Feature zum VZ hinzugefügt.
Anstatt wie bei vzcompress2 Daten zu löschen werden diese in einer
separaten Tabelle aggregiert- in der aktuellen Version auf Tagesebene.

Wenn die MW jetzt Abfragen nach aggregierten Daten stellt, wie z.B.
from=1.1.2000 to=now group=month dann werden die SQL statements so
umgebaut, dass die Daten aus der Agrgegationstabelle kommen statt aus der
Datentabelle. Da hier _deutlich_ weniger Daten liegen gehts natürlich
schneller.

Bisher nicht implementiert ist ein automatisches Tuning eingehender
Anfragen. Wenn z.B. das Frontend obenstehende Anfrage mit tuples=200
ausführt, wird es ohne vzcompress immer noch sehr lange dauern. Denkbar
wäre eine Automatik einzubauen die je nach Aggressivität eine Gruppierung
nach Tag oder Stunde hinzuschaltet.

Added data aggregation:
1. create aggregate table using misc/sql/aggregation.sql
2. run initial aggregation using misc/sql/aggregation.sql
3. set $config['aggregate'] = true in etc/volkszaehler.conf.php
4. setup CRON to run delta aggregation using misc/sql/aggregation.sql

https://github.com/andig/volkszaehler.org/tree/aggregate

Jetzt würde ich mich über Feedback und vor allem Tests freuen!

Gruss,
Andreas