DBlog: MySql, Sqlite oder influxDB? Entscheidungshilfe gesucht....

Begonnen von stonev, 02 Januar 2019, 23:44:01

Vorheriges Thema - Nächstes Thema

stonev

Ich will für Logfiles gleich auf DBlog setzten und muss mich für eine DB entscheiden.
Grundsätzlich ist klar, das Sqlite schlanker ist, nur aus einer Datenbankdatei besteht und somit ressourcenschonender, als der große Bruder. Mysql läuft als eigener Prozess auf dem RPI 3.

Ich will als Einsteiger da jetzt technisch gar nicht so tief einsteigen - gibt ja genug anderes zu tun.
Was mich aber interessieren würde:

1. Läuft Mysql ordentlich auf dem RPI 3, oder kann es dadurch zu Performanceproblemen kommen?

2. Was kann Mysql bezogen auf den Usecase "Logfiles" in FHEM besser als Mysql?

3. Ab wann könnte man mit Sqlite an Grenzen stoßen?

KernSani

Hi,

ich bin irgendwann mal von sqlite auf mariaDB umgestiegen - Hauptgrund war, dass sqlite gefühlt - vor allem bei Plots - sehr langsam wurde. Sowohl die sqlite, als auch die mariaDB liefen bzw. laufen auf dem FHEM RasPi mit. Letztendlich taugen beide DBs für FHEM. Wenn du eh schon eine mySQl hast, würde ich die mit verwenden.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Prof. Dr. Peter Henning

Ich darf getrost feststellen, dass ich mehrere Millionen Datensätze nie wieder angesehen habe. Archivierung erfolgt bei mir seitdem nur mit Hilfe von grafischen Darstellungen.

Und als Einsteiger hat man normalerweise andere Planungsprobleme...

LG

pah

stonev

Daten sammeln bis zur Ohnmacht möchte ich gar nicht. Maximal ein Jahr, dann soll (am besten automatisch) alles wieder überschrieben werden. Irgendwann platzt so ein System ja sonst.

Ich war bisher in dem Glauben, ich müsste eine Datenbank, bzw. eine Textdatei zum Loggen erstellen, um eine grafische darstellung daraus generieren zu können?

Grundsätlich scheue ich den Aufwand nicht, direkt eine Datenbank einzurichten. Es gibt ja zahlreiche gute Anleitung sowohl zu MySql als auch zu SQlite.

DS_Starter

Ich persönlich würde immer zur MySQL greifen wenn möglich.
Hauptgrund ist für mich vor allem der sichere und problemlose Betrieb mit parallen Schreib- oder Löschvorgängen die ich mit DbRep durchaus nutze.
Aber ich bin sicher auch etwas subjektiv weil ich diese DB und deren Möglichkeiten mag.  ;)

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stonev

DbRep funktioniert laut Wiki ja auch mit SQlite. 
Läuft MySql auf einem RPI3 denn so geschmeidig, dass es zu keinen Performanceengpässen kommt (wenn nur FHEM und MySql darauf laufen)?

Welchen Mehrwert bringt mir MySql?

P.S.: Was ich oben vergessen habe...Ich möchte später auch verschiedene Readings miteinander verrechnen und das Ergebnis in die DB speichern, um daraus ein Notify zu erstellen.

DS_Starter

Ja natürlich funktioniert DbRep auch mit SQLite, darauf habe ich geachtet. Aber der Nutzer muss bei SQLite darauf achten parallele Schreibvorgänge zu vermeiden weil diese DB nicht so gut damit umgehen kann.
Dafür gibt es im DbRep auch Methoden, z.B. schließen der Dblog Verbindung für die Zeit der Parallelfunktion.

Wie gesagt, du musst abwägen. Ist ein Betrieb von MySQL auf deiner Hardware aus Sicht der Ressourcen problemlos möglich wäre meine Entscheidung MySQL.
Ist das nicht gegeben, naja dann bleibt ja nur SQLite.

Für deinen Anwendungsfall im PS halte ich MySQL für genau das Richtige für einen geschmeidigen Betrieb wenn deine Hardware ausreicht.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

pejonp

#7
Hallo stonev,

Ich habe mit sqlite angefangenen und dann festgestellt das nur Local und nicht über IP darauf zugegriffen werden kann. Ich habe verschiedene fhem-SERVER und die sollen alle in die gleiche DB schreiben. Ich habe jetzt MySQL auf meinem NAS (QNap) und bin zufrieden. Auf dem raspi3 habe ich es versucht aber nicht so richtig hinbekommen. Da hatte ich auch noch eine sd-karte im raspi3. Jetzt betreibe ich diesen mit einer ssd-platte. Von dieser wird auch gestartet. Läuft viel besser, stabiler.

Pejonp

PS:
Ich habe einen BananaPi + SSD 120 GB Anleitung hier (https://blog.doenselmann.com/banana-pi-mit-ssd-hdd-betreiben/) und einen Raspi3 + SSD 120GB Anleitug hier (https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-von-ssd-festplatte-booten)
SSD sind beide von hier https://www.pollin.de/p/ssd-intenso-high-performance-3813430-sata-iii-120-gb-703088) und bin damit mehr zufrieden als mit der SD-Karte.
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

stonev

OK, die Tendenz geht zu MySql. Es gibt so viele Anleitungen von Leuten, die das auf den RPI bügeln, dass es ja irgenwie gehen muss.
Vielleicht melden sich ja hier noch ein paar Leute, die Erfahrungen damit gesammelt haben.

Hier habe ich noch Optimierungstips zur Anpassung von Mysql für den RPI gefunden:https://der-linux-admin.de/2015/01/raspberry-pi-mysql-server-installieren-und-optimieren/

Über eine kleine SSD mit USB Controler denke ich mal nach. Kostet ja auch nicht die Welt. Ich frage mich nur, ob 10MB/s zu 40MB/s bei den paar Readings einen so großen Unterschied machen...

roedert

Zitat von: stonev am 04 Januar 2019, 22:38:46Ich frage mich nur, ob 10MB/s zu 40MB/s bei den paar Readings einen so großen Unterschied machen...

Vorteil der SSD ist, dass sie für permanente Schreibzugriffe ausgelegt ist - eine SD-Karte aber nicht. Und eine Datenbank schreibt nunmal auch viel.......

stonev

Werde jetzt noch einen PI3 B+ mit SSD bei Pollin Orden. Welchen USB SATA Controller nutzt ihr? Gibt es da etwas zu beachten?
Ich neige zu diesem Gehäuse: https://www.pollin.de/p/6-35-cm-2-5-festplatten-gehaeuse-usb-3-0-zu-sata-721757

Oder https://www.pollin.de/p/usb3-0-festplattengehaeuse-cnmemory-spaceloop-sata-2-5-bulk-703512

Es gibt auch reine Kabel/Stecker Lösungen, allerdings hätte ich dabei die Sorge, dass sich Stecker und SSD mal unfreiwillig trennen.

Wernieman

Der Nachteil von SSD beim Pi ist, das es über den USB geht. Wenn Du noch andere USB-Geräte am Pi betreibst, solltest Du wissen, was Du tust .... der USB-Bus beim Pi ist prinzipiell unsicher und Linux (als Unix) "mag" es nicht, wenn ein Datenträger "mal eben weg ist" (Wobei es heute stabiler als früher ist)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

pejonp

Ich habe 2 Geräte (siehe post#7) mit ssd und bin zufrieden. Auf jedenfall besser als mit SD-Karte, da sind schon einige ausgefallen und konnten mit Mühe wiederhergestellt werden.
Mit einer kleinen hd-Festplatte ging es auch nur die Stromaufnahme ist dann etwas höher.
Der Banana-pi hat einen extra sata-festplattenanschluss.

Pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

rob

Zitat von: stonev am 08 Januar 2019, 06:34:50
...
Ich neige zu diesem Gehäuse: https://www.pollin.de/p/6-35-cm-2-5-festplatten-gehaeuse-usb-3-0-zu-sata-721757
...

Ist zwar etwas OT, aber ich habe genau dieses Teil und würde es nicht empfehlen.
Warum? Die HDD hängt nur am SATA-Port und kann nicht weiter arretiert/ verschraubt werden. Der Adaptereinschub wird zwar seitlich mit klitzekleinen Schräubchen gesichert, aber dies verhindert nur das Herausrutschen. Die HDD schlabbert und wabbert im Gehäuse leicht umher und das Gehäuse selbst ist auch schlecht irgendwo festzuschrauben. Meines hab ich letztlich auf Hutschiene montiert (alten Metallbaukasten zu Rate gezogen ;) ) und das Gehäuse sitzt fest, aber die HDD darin würde keine großen Erschütterungen ertragen.

Ich hoffe dies hilft bei der Suche.

Viele Grüße
rob

hermann1514

Wenn es zur Speicherung von "Performance Daten" oder "Sensor Daten" geht um daraus eine schöne Grafik darzustellen, warum dann nicht die INFLUXDB?

Läuft bei mir super.

Gruß
Hermann