RS DB-Analyzer

mein Project Generator Exporter hat wieder was abgesondert:

ich hab letzte Woche -irgendwie nebenbei- eine WFE-Ausgabe zusammengeklickt, die eine Übersicht zu allen geloggten IPS-Variablen auswirft. Ok, die JS-Sortierfunktion hat mich nerven gekostet, letztendlich hab ich dafür eine Funktion im Web gefunden.
Nebenbei sind noch ein paar Statistik-Daten und Mehrfachsortier-Möglichkeit der Datentabelle dabei. Ebenso werden verwaiste Variablen und Variablen ohne Datensätze farblich gekennzeichnet.

Eher Spielerei - dachte ich.

Bis ich (nach dem die erste brauchbare Tabelle im WFE auftauchte) mal in die Daten eingestiegen bin.

Beispiel: ich hab zum Thema Logging-Strategie schon geschrieben, dass ich bestimmte Daten zwar logge, aber nur für einen bestimmten (gleitenden) Zeitraum. Allein schon, um die Größe der DB klein zu halten - wegen des Backups.
Ich hab nicht schlecht gestaunt, als ich gleich auf den ersten Blick 6 Variablen, die jeweils um die 500.000 Datensätze auf der Uhr hatten, aber nur etwa 50.000 hätten haben dürfen.
Sofort überprüft: siehe da: die nächtliche Datenlöschung funktionierte nicht. Daten gelöscht, schon waren es 3,8 Mio Datensätze weniger (ca 30% der aktuellen Datenmenge).
Das ist in etwa das Volumen, was sich in 6 Monaten ansammelt. Inzwischen hab ich weitere schwarze Schafe gefunden.

Man sieht also: Transparenz ist anstrengend, kann aber helfen :wink:

Update nach 2 Monaten Betrieb: das tägliche DB-Wachstum hat sich auf sagenhafte 22% reduziert (letztes Bild unten). Das DB-Wachstum kann man auch täglich mitverfolgen: RS.SYS-Health (Chart ganz unten)

Weitere Infos und Download auf der ProjektHomepage [b]

V2.4 vom 07.12.2012: Forenbeitrag
[/b]Anmerkung zu Updates: man muss nicht zwingend jeden Versionssprung mit machen. Versionen auslassen ist kein Problem, bisher kann jeder Versionsstand geupdatet werden.
[b]
aktuelle Feature-Liste:

[/b]

[ul]
[li]FireFox unterstützt die Darstellung der Sparklines in der DB-Analyzer View nicht vollständig[/li][li]täglicher Lauf der Projektscripte mit DB-Datenlöschung und Logging[/li][li]manuelle oder automatisierte Abarbeitung von Reaggregations-Queues innerhalb beliebiger, frei definierbarer Zeitfenster[/li][li]flexible Datenvisualisierung: Übersichtstabelle aller geloggten Variablen (DB-Analyzer), Variablen-Details (Variablen-Steckbrief), Rohdaten-Visualisierung (Variablen-Databrowser), Multisort-Funktionen, diverse Statistik-Informationen zum Datenbestand, -Wachstum, -Menge etc.[/li][li]dynamisches Datenmanagement: tägliches Löschen von nicht mehr benötigten Logging-Daten, frei konfigurierbar[/li][li]diverse Konfigurationsmöglichkeiten durch den User (Anzahl Tabellenspalten, Spaltenreihenfolge, Vorsortierung)[/li][li]Online-Toolhilfe[/li][/ul]

RSDB-Analyzer-Vergleich-Datenzuwachs.png

Sehr cool, vielen Dank! Werde ich nachher direkt mal ausprobieren!

Edit: Funktioniert super!

Geladen, ausgeführt und es funktioniert :slight_smile:
Danke für dieses tolle Skript.

Jetzt fehlt nur noch die Funktion Daten löschen :smiley:

Tolles Script !!!

Danke Euch für die ersten Feedbacks,

Jetzt fehlt nur noch die Funktion Daten löschen

ich schrieb ja schon:

inzwischen sind mir noch einige Ideen gekommen, was man mit einer solchen Visu noch alles anstellen kann (ich meine weitere Features) - da geht noch was

Super installiert und läuft.

Sind die roten (verwaiste variablen) nur noch in der Datenbank? Im Archiv Händler finde ich sie nicht.

doch, im AH müssen sie auch noch vorhanden sein

Hallo Raketenschnecke,

habe gerade den AH nochmal aktualisieren lassen, werden keine verwaisten Variablen angezeigt :confused:

hier auf die Schnelle eine Gegenüberstellung verwaister variablen DB-Analyzer <-> Archive Handler:

hm, wenn das würglich so ist, würde ich fast vermuten, dass Deine DB defekt ist. Aber hier stecke ich nicht tief genug drin.

Danke für die Screenshots, das war der Schlag auf den Hinterkopf :smiley:
Der Haken bei erweiterte Daten laden fehlte :o

findest du denn die Variable, die im WFE rot gekennzeichnet ist, manuell im IPS Objektbaum?

syhste,geht doch :smiley:

Jo.
Jetzt fehlt nur noch 'ne schöne Grafik.

ist in Arbeit :smiley:
spezielle Wünsche?

Nö, nicht wirklich.
So wie ich Dich kenne machst Du das sicher wieder annähernd Perfekt. :wink:

ok, also das Übliche :cool:

Herzlichen Dank! Läuft prima. Ich hatte auch schon meine ersten Aha-Erlebnisse - die Wind-Richtung wurde geloggt! :eek:

Bin schon gespannt auf die Weiterentwicklung. Auf Deiner Homepage hört der Artikel zur Daten-Hygiene ja leider mit dem abstrakten Verweis auf das regelmäßige Löschen per Skript auf. An der Stelle giere ich nach mehr…

Mittlerweile hab ich fast den gesamten RS-„Fuhrpark“ laufen. Bin begeistert. Gibt es schon RS-Fan-Schals oder -Tassen? :wink:

EDIT: Doch was gefunden - die Sortierung der beiden Record-Spalten scheint nicht zu funktionieren bzw. richtet sich nur am Tag aus.

Grüße
galleto

Ja zur Daten-Hygiene brauch ich auch noch etwas Hilfe.
Würde da auch gerne mal etwas aufräumen, trau mich aber noch nicht so ran.

Aber bei 190 MB Datenbankgröße ist, es glaube ich, noch nicht so eilig.

erstmal Danke sehr für’s Feedback - wenigstens können es 2 Leute gebrauchen :smiley:

EDIT: Doch was gefunden - die Sortierung der beiden Record-Spalten scheint nicht zu funktionieren bzw. richtet sich nur am Tag aus.

Ja, hab ich auch schon gesehen. das liegt grundsätzlich an der Formatierung des Datums (deutsch Schreibweise). Ich suche noch nach ner Lösung (der Tablesorter sollte eigentlich damit umgehen können). Schlimmstenfalls muss ich das Datum auf engl. Schreibweise umstellen.

Zur Datenlöschung (regelmäßig):
ich hab ne Idee, solch eine Funktion in den Analyzer einzubauen. Aber mein PHP, HTML und JS ist nicht so prall (german native Speeker only :D). Kann also etwas dauern.

Bis dahin kann man sowas machen (ist halt pflegeintensiv):


<?

############## Konfig ##########################################################
	$archive_handler_id 			= 58669 /*[Archive Handler]*/ ; 	// Archive Handler
	$var_id 							= array(0=>36370, 1=>15545, 2=>12180);

	// zwischen 0:00:00 Uhr und 0:01:00 Uhr alle Rohdaten bis gestern 23:59:59 löschen
	$ts_delete = mktime(0,0,0, 1, 1, 2010); //Startdatum ab dem die Daten gelöscht werden sollen
	$te_delete = mktime(0 , 7, 59, date("m", time()), date("d",time()), date("Y",time())); // Edndatum bis zu dem die daten gelöscht werden sollen
############## Konfig Ende #####################################################

########### Datenmanagement ####################################################

for($i=0;$i<count($var_id);$i++)
{
	AC_DeleteVariableData($archive_handler_id, $var_id[$i], $ts_delete, $te_delete);
	echo "Daten der var #".$var_id[$i]." bis ".date("d.m.Y, H:i:s", $te_delete)." Uhr gelöscht
";
}
?>


irgendwo hab ich das noch als Array-for-Schleifen-Lösung, find ich nur grad nicht