NEWS
MySQL, MariaDB, InfluxDB - Welche DB zum Objekte-Sichern?
-
Aus aktueller Sicht im November 2020 stelle ich mir die Frage, welches der Datenbanksysteme zum Betrieb mit ioBroker (und ggf. auch anderen Anwendungen) am sinnvollsten und effektivsten sein dürften...
Ich gebe zu, dass ich in dieser Hinsicht sicherlich sehr viel Informationsbedarf habe und mich somit eher als Unwissend bezeichnen würde
Zunächst brauche ich ja höchsten MySQL (weil History-(Dateien), SQLite und MS-SQL wohl nicht die richtigen Datenbanken für die Nutzung mit einem ausgewachsenen ioBroker (mit mindestens 40 zu loggenden Objekten) unter Linux sind oder???) Und wenn ich NICHT den ganzen Apache-PHP-Installationskram benötige und nur die Datenbank im Zusammenhang mit ioBroker benutzen möchte...
Oder muss ich doch Apache komplett installieren, um MySQL zu nutzen und/oder macht es den Bock nicht mehr fett, wenn ich zusätzlich auch noch PHP und einen WebServer installiert habe, auch wenn ich nur MySQL benötige?Dann stellt sich die Frage, ob MySQL oder doch besser MariaDB, wobei sich mir hier schon die Frage stellt, in wie fern das Ganze zueinander unterschiedlich ist. Ich hörte MariaDB soll neuer, fortschrittlicher und besser sein...
Und weil alle im Forum so auf InfluxDB und Grafana abfahren (habe es noch nicht so richtig zum Laufen gebracht), um die Charts besser darzustellen, stellt sich die weitere Frage, ob ich denn überhaupt MySQL brauche, wenn es nicht doch auch eine InfluxDB-Installation tut und mit Grafana-Zusatz sogar besser darzustellen sein soll. Wobei hier die Frage wäre, wie installiere ich es am Besten für die Nutzung auch mit ioBroker und zur Darstellung mit Grafana... Und brauche ich ggf. nicht doch noch MySQL als Untergrund für InfluxDB???
Und damit wären wir bei meiner vorerst letzten Frage, ob ich InfluxDB (vorher InnoDB) als MySQL- oder Maria-DB-Ersatz auch mit anderen Anwendungen, wie Zoneminder (anstelle von MySQL oder MariaDB) benutzen kann oder ob Zoneminder z.B. mit InffluxDB alleine gar nichts anfangen kann???
Ich sage ja... Eher Noob in dieser Hinsicht, als mehr davon
-
- MariaDB ist die (nicht kommerzielle) Weiterentwicklung von MySQL.
- SQL Server (MS-SQL) ist ein Monstrum.
- SQLite ist keine wirkliche Datenbank sondern eine in-prozess-Datenverwaltung in einer einzigen Datei
Deshalb: MariaDB.
Welche Engine man verwendet, spielt meistens nicht so eine Rolle und ändert an der Funktionalität der Datenbank gegenüber der Applikation erst mal gar nichts (was nicht heisst, dass es keine Unterschiede bezüglich Performance gibt).
Da InnoDB sowieso Standard ist bei MariaDB, finde ich es sinnvoll, diese Engine einzusetzen. Wenn du dich mehr damit auseinandersetzen willst, findest du hier eine gründlichere Erklärung: https://mariadb.com/kb/en/choosing-the-right-storage-engine/
-
@Berchemer Meinst du wirklich InnoDb? Oder eher InfluxDB? Letztere ist sehr gut für Messwerte geeignet.
-
@succo_J sagte in MySQL, MariaDB, InnoDB - Welche DB zum Sichern der Objekte?:
@Berchemer Meinst du wirklich InnoDb? Oder eher InfluxDB? Letztere ist sehr gut für Messwerte geeignet.
Du hast recht... Es ist wohl eher InfluxDB, welches im Zusammenhang mit Grafana wohl benutz wird. Ich war wirklich auf dem Dreh, dass es sich um InnoDB handelt..
Danke für den Hinweis! Bringt mich wieder weiter, als ich vorher war
Ich ändere noch den Titel und den Text!
Danke an @succo_J
-
Bei InfluxDB muss die nächste Zeit aber aufgepasst werden. Die haben vor ein paar Tagen die Version 2 ins Rennen gebracht.
Die Installation und die internen Benennungen sind etwas anders.
Mein Upgrade von 1.8 auf 2.0 ging gleich mal schief. Zum Glück konnte ich die alte Version manuell installieren. -
@UncleSam sagte in MySQL, MariaDB, InfluxDB - Welche DB zum Objekte-Sichern?:
- MariaDB ist die (nicht kommerzielle) Weiterentwicklung von MySQL.
- SQL Server (MS-SQL) ist ein Monstrum.
- SQLite ist keine wirkliche Datenbank sondern eine in-prozess-Datenverwaltung in einer einzigen Datei
Deshalb: MariaDB.
Welche Engine man verwendet, spielt meistens nicht so eine Rolle und ändert an der Funktionalität der Datenbank gegenüber der Applikation erst mal gar nichts (was nicht heisst, dass es keine Unterschiede bezüglich Performance gibt).
Da InnoDB sowieso Standard ist bei MariaDB, finde ich es sinnvoll, diese Engine einzusetzen. Wenn du dich mehr damit auseinandersetzen willst, findest du hier eine gründlichere Erklärung: https://mariadb.com/kb/en/choosing-the-right-storage-engine/
Danke für die Infos...
Wenn ich jetzt statt von InnoDB von InfluxDB ausgehe, ändert sich Deine Meinung in welcher Art???
Wie gesagt, wenn ich hier im Forum lese, stehen viele auf (InfluxDB)-Datenbank zur Anbindung an Grafana...
Tut es da nicht auch MariaDB und ist sogar eher kompatibler zu anderen Anwendungen außer ioBroker??? -
@Berchemer Ich setze persönlich keine InfluxDB ein. Man kann aber sagen, dass InfluxDB für grosse Datenserien besser geeignet ist als eine "allgemeine" Datenbank wie MariaDB.
ioBroker und vor allem Grafana scheinen von InfluxDB zu profitieren (wie gesagt: ich kann das nicht beurteilen). Andere Applikationen werden wohl meistens nicht InfluxDB unterstützen, wenn sie sich nicht mit zeitlichen Datenserien beschäftigen.
MariaDB ist sicherlich für alle möglichen SQL-Sachen geeignet.
Und noch: du kannst einfach MariaDB separat installieren (kein Apache-PHP-Gedöns nötig).
-
@Berchemer
Bin Einsteiger und habe aktuell etwas mit Datenbanken am IOBRoker "gefummelt/geforscht".
Per Standard war ich auch auf mariadB unterwegs und das lässt sich Dank großer Verbreitung (mySQL) auch für mein Verständnis prima nutzen, da es sehr viele Wissensquellen und auch Tools wie z.B. HeidiSQL gibt. Die Integration in IOBroker is ja auch prima vorhanden.In meinem "jugendlichen Leichtsinn" mit der Einstellung "In einer Datenbank is ja alles drin" und wenn ich was brauche muß ich nur geschickt fragen (Query) bin ich jedoch etwas schlauer geworden. Gerade wenn das Thema Performance bzw. Ressourcen ins Spiel kommt. Mir war erstmal wichtig für daheim möglichst gut und lange mit dem Raspberry auszukommen.
Entsprechend die Frage, was lege ich hauptsächlich dort ab bzw. welche intensiven Dinge kommen vor. Hier war jetzt ganz klar für mich der Punkt, dass ich gerne Queries nutzen werde in Zukunft, die Berechnungen über Datenbereiche ausführen sollen. Einfaches Beispiel: Bilde Summe vom Sensorwert aus Monat Januar. Für mich also eine gewisse Ähnlichkeit wie auch Trends/Diagramme bei der Visualisierung im IObroker oft vorkommen.
Deswegen war es für mich schnell klar und zu verstehen, das influxdB hier das Mittel der Wahl ist. Wie influxdB mit der zeitlichen Speicherung von Datenreihen umgeht ist ein Kernunterschied zu zB mariadB.
Also habe ich influxdB parallel auf dem Raspberry mit mariadB und iobroker installiert.Sicherlich kein Anspruch ob das jetzt wirklich Aussagekraft hat, aber ich hatte Daten eines Sensors für einen Tag in mariadB und vergleichbare Daten in influxdB. Einfache Abfragen inkl. Kalkulationen über einen Client wie HeidiSQL haben bei mariadB spürbar länger gedauert. Für influxdB war es zugegeben nicht ganz einfach einen vergleichbaren Client erstmal zu finden, aber das kostenfreie influxdB Studio funktioniert super für mich.
InfluxDB ist bei genauer Betrachtung ähnlich gut in IOBroker integriert und z.B. BackItUp hat schon einen Betastatus mit Integration von InfluxDB.
Aktuell frage ich mich, ob es überhaupt noch Sinn macht mariaDB parallel zu behalten. Grafana habe ich auch installiert, aber nur zum testen bisher. Meine VIS Oberfläche habe ich noch keine Lust anzupassen. Und bisher geht alles auch so gut und wenn nicht besser/performanter als mit mariadB.