Wir arbeiten daran, openEMS in unsere Projekte zu integrieren. Unser Ziel ist es, alle Daten in einem mSQL-basierten Server zu speichern.
Hat jemand in dieser Community Erfahrung mit solchen JAVA zu SQL Verbindungen. Die Verbindung muss auf jeden Fall stabil sein für höhere Lese- und Schreibgeschwindigkeiten (ca. 200-500ms)
Jede Art von Input wäre großartig. Vielen Dank im Voraus
konkret mit MS-SQL Servern habe ich keine Erfahrung, grundsätzlich sollte so eine Geschwindigkeit aber - notfalls mit optimierter Hardware und etwas Software-Tuning - möglich sein.
Wir betreiben das OpenEMS-Backend zu Spitzenzeiten mit Schreibraten von ca. 500.000 writes pro Sekunde gegen eine InfluxDB. Mit TimescaleDB (https://www.timescale.com/) gibt es Zeitreihendatenbank, die auf einer relationalen Datenbank (Postgres) basiert und auch über JDBC-Treiber angesprochen wird. Auch dort sollten solche Schreibraten möglich sein und an Java sollte das nicht scheitern.
Ein bisschen Performance-Tuning schadet aber sicher nicht, z. B.
asynchrones Schreiben in einem separaten Thread mit Buffer
Behandlung von Back-Pressure (für den Fall, dass Schreibzugriffe kurzzeitig zu Überlastungen führen)
wenige Indizes auf der Datenbanktabelle, da das Schreibzugriffe ausbremst