csvdb.exe Idősoros Adatbáziskezelő Program

A rendszer egy több szálon futtatott idősoros adatbáziskezelő, amely célja a nagymennyiségű adat gyors rögzítése CSV kompatibilis formátumban. Képességeinek középpontjában a rögzítési sebesség és a párhuzamos feldolgozás áll, elemzési és megjelenítési funkciókat nem tartalmaz, ezek külső eszközökkel, mint például Grafana vagy az Excel segítségével érhetők el.

csvdb.exe Idősoros Adatbáziskezelő Program

Technológiai Követelmények:
A szoftver Windows XP-n vagy újabb verziójú operációs rendszereken futtatható konzol alapú környezetben. Az alkalmazás a msvbvm60.dll-t igényli, amely a Visual Basic 6.0 futtatókörnyezete, továbbá a mswinsock komponenst használja a hálózati kommunikáció kezelésére.

Adatmodellezés és Struktúrák:
A rendszer közvetlenül a Windows API fájlíró műveleteit használja az adatok rögzítéséhez, ami a nagy sebességű írás kulcsa. Az adatokat nem szükséges idősoros formátumban megadni; a rendszer minden adatbevitelhez automatikusan hozzárendel egy időbélyeget.

Felhasználói Interfész és Interakció:
A szoftver konzol alapú, grafikus felület nélküli, és HTTP API hívásokon keresztül fogadja az adatokat. A kommunikáció alapértelmezett portja a 22202, amennyiben a config.ini fájl még nem létezik a program könyvtárában.

HTTP Fejléc Paraméterek és Adatátvitel:
Az adatátvitel HTTP POST kérésekkel történik, a következő fejléc paraméterekkel:

Content-Type: Mindig "text/csv"-nek kell lennie.
Authorization: Egy előzetesen megszerzett token, amely tartalmazza az adatbázis és a tábla nevét.
Backup-Type: Két érték lehetséges: "All" vagy "Diff". Az "All" opció minden adatsort ment, a "Diff" opció pedig csak akkor ment, ha az adat különbözik az előzőleg mentett értéktől.
File-Type: Két módja van az adatok mentésének: "Broke" vagy "Path=". A "Broke" automatikusan a "databases" könyvtár alatti, dátum szerint strukturált mapparendszerbe ment. A "Path=" lehetőséggel közvetlenül egy megadott útvonalon lévő fájlba menthetünk.
CSV-Header: A CSV adatok fejlécét definiálja, például "data1;data2;data3;...". A rendszer automatikusan hozzáad egy "DateTime" oszlopot az elejére, amelyhez az időbélyeget rendeli minden sorhoz. Az adatbázis fájlokat és a megadott mappákat automatikusan létrehozza.
A tényleges adatokat a POST kérés törzsében kell elküldeni CSV formátumban.

Példa:

Content-Type: text/csv
Authorization: Token 47534a5a56e15e5d6a53485e58657463265a
Backup-Type: Save Diff
File-Type: File Path=c:\testdata\test.csv
CSV-Header: Columns data1;data2;data3

Integráció Grafana-val:
A rendszer tökéletesen integrálható a Grafana CSV import moduljával. A Grafana adatbázis kapcsolat konfigurációjánál csak a tárolt CSV adatok mappájának nevét kell megadni, és minden adatmegjelenítési panel "Path" mezőjében a konkrét CSV fájl nevét. Így a Grafana képes egyszerre több CSV adatforrást kezelni, még akkor is, ha csak egyetlen adatbázis-kapcsolatot definiáltunk.