Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:middleware:datenbank

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
software:middleware:datenbank [2016/02/20 12:32] jausoftware:middleware:datenbank [2018/05/08 04:54] – User mit Löschrechten, Backup mit phpMyAdmin jau
Zeile 1: Zeile 1:
-===== Middleware-Datenbank =====+====== Middleware-Datenbank ======
  
 Für die Speicherung der Daten wird eine Datenbank eingesetzt. Da nahezu jede Datenbank dazu verwendet werden kann, wird hier beispielhaft nur die Verwendung von MySQL beschrieben. MySQL ist eine kostenlose Datenbank für viele Betriebssysteme und kann auch auf den hier interessanten Kleinstrechnern unter Linux betrieben werden. Für die Speicherung der Daten wird eine Datenbank eingesetzt. Da nahezu jede Datenbank dazu verwendet werden kann, wird hier beispielhaft nur die Verwendung von MySQL beschrieben. MySQL ist eine kostenlose Datenbank für viele Betriebssysteme und kann auch auf den hier interessanten Kleinstrechnern unter Linux betrieben werden.
  
-Das Datenbankschema für den Volkszähler ist einfach. Es besteht aus vier Tabellen: +Das Datenbankschema für den Volkszähler ist einfach. Es besteht aus fünf Tabellen: 
-  * data: Tabelle der Datenwerte mit Zeitstempel und Zuordnung zum Anzeigegerät +  * data: Tabelle der Datenwerte mit Zeitstempel und Zuordnung zum Messgerät/Sensor (channel) 
-  * entities: Die Anzeigegeräte und ihre ID (UUID) +  * entities: Die Messgeräte und ihre ID (UUID) 
-  * entities_in_aggregator: <weiss nicht> +  * properties: Die Bezeichnung und andere Eigenschaften der Messgeräte wie Auflösung und ob sie öffentlich auswählbar sind, oder nicht 
-  * properties: Die Bezeichnung und andere Eigenschaften der Anzeigegeräte wie Auflösung und ob sie öffentlich auswählbar sind, oder nicht+  * entities_in_aggregator: Zuordnung der Messgeräte zu Gruppen (parent-child-Struktur) 
 +  * aggregate: Verdichtete Datenwerte, zum schnelleren Anzeigen eines längeren Zeitraums
  
-(das datenbankschema wird durch das fuer die middleware verwendete doctrine-framework automatisch generiert!)+<note important>Das Datenbankschema wird durch das für die middleware verwendete doctrine-framework automatisch generiert!</note>
  
  
-==== Datenbank administrieren ====+===== Datenbank administrieren =====
  
 Die einfachste Möglichkeit besteht darin, das ganze über die Webobefläche zu administrieren. Für den Fall des Rasperrpi ist das dann : <code> "http://raspberrypi/phpmyadmin/" </code> Die einfachste Möglichkeit besteht darin, das ganze über die Webobefläche zu administrieren. Für den Fall des Rasperrpi ist das dann : <code> "http://raspberrypi/phpmyadmin/" </code>
  
-Als Benutzername/Passwort dann entwender vz/demo oder der richtige Administratorzugang (root/raspberry) der in <code> /etc/mysql/debian.cnf </code> steht.+Als Benutzername/Passwort dann entwender vz/demo für Lese- und Schreibzugriffe, vz-admin/secure für Löschzugriffe oder den lokalen Administratorzugang (root/raspberry) der in ''/etc/mysql/debian.cnf'' steht.
  
-==== Datenbank sichern ==== +===== Datenbank sichern ===== 
-=== Komplettbackup mit mysqldump ===+==== Komplettbackup mit mysqldump ====
 Die Standardanwendung Die Standardanwendung
 <code>mysqldump -uvz -pdemo volkszaehler | bzip2 >mysql_backup.bz2</code> <code>mysqldump -uvz -pdemo volkszaehler | bzip2 >mysql_backup.bz2</code>
Zeile 25: Zeile 26:
 <note important>Mysqldump verursacht einen sehr hohe Last bei der Datenbankanwendung und kann auf dem Raspberry den vzlogger beeinträchtigen!</note> <note important>Mysqldump verursacht einen sehr hohe Last bei der Datenbankanwendung und kann auf dem Raspberry den vzlogger beeinträchtigen!</note>
  
-=== mysqldump per ssh ===+==== mysqldump per ssh ====
 Möchte man der SD-Karte im Rasperry unnötige Schreibzugriffe ersparen kann man auch über ssh auf einen Backuprechner sichern. Möchte man der SD-Karte im Rasperry unnötige Schreibzugriffe ersparen kann man auch über ssh auf einen Backuprechner sichern.
 <code>destssh0=/home/backup/`uname -n`/ <code>destssh0=/home/backup/`uname -n`/
Zeile 33: Zeile 34:
 Achtung: bevor das Script funktioniert, MUSS der SSH Fernzugriff ohne Passwort aktiviert sein. Ich habe hier auf die Anleitung [[http://mathias-kettner.de/lw_ssh_anmeldung_ohne_passwort.html]] zurückgegriffen. Achtung: bevor das Script funktioniert, MUSS der SSH Fernzugriff ohne Passwort aktiviert sein. Ich habe hier auf die Anleitung [[http://mathias-kettner.de/lw_ssh_anmeldung_ohne_passwort.html]] zurückgegriffen.
  
-=== Inkrementelles Backup mit dbcopy ===+==== Inkrementelles Backup mit dbcopy ====
 Möchte man die Nachteile von mysqldump umgehen bietet sich [[software:tools:dbcopy|dbcopy]] an. Möchte man die Nachteile von mysqldump umgehen bietet sich [[software:tools:dbcopy|dbcopy]] an.
  
-==== Datenbank zurückspielen ====+==== Backup per phpMyAdmin ==== 
 +Unter phpMyAdmin hat man grundsätzlich die Möglichkeit teilweise oder auch ganze Datenbanken zu sichern. Allerdings unterliegt PHP als Skriptsprache starken Restriktionen welche das Zurückspielen eines Backups über phpMyAdmin erschweren oder sogar unmöglich machen. 
 + 
 +===== Datenbank zurückspielen =====
  
 mysql -uvz -pdemo volkszaehler < 20131124.mysql_backup mysql -uvz -pdemo volkszaehler < 20131124.mysql_backup
Zeile 42: Zeile 46:
  
  
-==== Datenbank nach CSV exportieren ====+===== Datenbank nach CSV exportieren =====
 Um die Daten sich in Excel oder Openoffice anzusehen, ist es sinnvoll diese nach CSV zu exportieren. Dazu habe ich recht viel im Internet suchen müssen, bin aber am Ende zu folgendem Ergebnis gekommen: Um die Daten sich in Excel oder Openoffice anzusehen, ist es sinnvoll diese nach CSV zu exportieren. Dazu habe ich recht viel im Internet suchen müssen, bin aber am Ende zu folgendem Ergebnis gekommen:
 <code> <code>
software/middleware/datenbank.txt · Zuletzt geändert: 2023/11/12 09:14 von jau