2017-07-17 1 views
0

Derzeit wird InfluxDB evaluiert und Sie möchten herausfinden, ob serialisierte Objekte (z. B. mit Java) aus InfluxDB gespeichert/abgerufen werden können und was ist der Prozess dafür?Kann InfluxDB serialisierte Objekte speichern?

+0

Scheint, als ob nicht viel anderes hereinkommt; Also ... falls meine Antwort hilfreich genug ist; Bitte denken Sie über die Annahme ... – GhostCat

Antwort

1

Nach wikipedia unterstützt diese Datenbank die folgenden Arten von Werten:

Werte 64-Bit-Integer sein kann, 64-Bit-Fließkommazahlen, Strings und Boolesche Werte.

Sie können Java-Objekte in Byte-Streams serialisieren; und Byteströme können als hex Strings dargestellt werden.

Also, theoretisch die Antwort ist ja - es sollte möglich sein, serialisierte Java-Objekte in dieser Datenbank zu speichern. Um es zurückzulesen, kehren Sie diesen Prozess einfach um.

Wenn das eine gute Idee ist, ist eine ganz andere Frage. Es klingt ziemlich ineffizient; und speichern serialisierte Objekte ist an sich keine gute Idee. Zuallererst ist es ein großer Umweg - wandle ein Objekt in einen Byte-Strom in eine Hex-Zeichenkette (und umgekehrt). Dann: Java-Objekt-Serialisierung ist ein Biest für sich - Sie müssen vorsichtig sein, zum Beispiel keine Versionsinkompatibilität einzuführen. Es ist wirklich ärgerlich, wenn Sie eine neue Version Ihres Java-Codes freigeben, und dieser Code löst eine Ausnahme aus, wenn Sie versuchen, zuvor gespeicherte Objekte zu deserialisieren.

Daher bevorzugen moderne Ansätze, in verschiedene Formate zu serialisieren (zum Beispiel JSON), oder Werkzeuge zu verwenden, um Felder direkt in verschiedene Tabellenspalten zu übersetzen.

+0

Großartig, dachte das gleiche - es gibt eine theoretische Möglichkeit, serialisiertes Objekt in einem anderen Feld (zB String-Feld) zu speichern. Ich habe keine Erfahrung mit allen Pros/Contras der Serialisierung (es wird nur verwendet von meinem Team) - Warum ist das normalerweise keine gute Idee? Und was wäre ein besserer Ansatz? Vielen Dank. – Joe

+0

Ich habe meine Antwort ein wenig aktualisiert. Aber um ein "das würde besser funktionieren" -Ansatz zu geben, sollten Sie Ihre Frage wahrscheinlich verbessern. Wie: Welche Art von Objekten möchten Sie serialisieren? Welche Daten müssen gespeichert werden? Siehe: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – GhostCat