# Datenbank VPS Server



## J90 (21. Aug 2018)

Hallo,
ich benutze für mein Programm am Desktop PC eine SQL-Datenbank für Kursdaten mit sehr langer Historie.
Nun möchte ich auf einem VPS-Server automatischen (Börsen-) Handel betreiben
und nutze dazu die letzten n (z.B. 300) Kurse, welche initial über eine API geladen werden, danach bzw. ab diesem Zeitpunkt dann aber über Push- bzw. Realtimekurse geupdatet werden.

Es stehen mir Realtimekurse unbeschränkt zur Verfügung, allerdings ist das Laden der historischen Daten nicht der schnellste Vorgang.
Meine Grundfrage ist nun, wie sichere ich am besten die geladenen Kursdaten in einem möglichst passablen nicht speicherintensiven Format, um sie immer als Backup im Falle von (eher unwahrscheinlichen) Verbindungsabbrüchen oder Abstürzen zu laden. Ich arbeite natürlich mit einer Java Anwendung.

Ich gehe schonmal davon aus, dass MySQL aufgrund der Rechenleistung des Servers und der nicht benötigten langfristigten Historie ausscheidet.. Eine Integration im Programmpfad ist mein Gedanke.

Beste Grüße


----------



## httpdigest (21. Aug 2018)

Nimm als ersten Anlauf einfach eine JSON Datei. Warum? Du brauchst zumindest mal kein A, C und auch kein I von ACID und du scheinst auch keine Queries machen zu müssen. In diesem Falle ist ein Datenbankmanagementsystem totaler Overkill. Also einfach Jackson oder eine schlankere Library und die wenigen 300 Kursdaten per JSON in eine Datei rausschreiben und später wieder deserialisieren/einlesen.
Wenn du es noch einfacher möchtest, kannst du auch das Java Serialization Format mit einem ObjectOutputStream/ObjectInputStream nehmen und deine Kursdaten, die z.B. als Instanz einer java.util.List<Kurs> vorliegen, einfach rausschreiben/einlesen. Das ist eine Aufgabe von 2 Minuten und erfüllt deine Anforderungen.


----------



## J90 (22. Aug 2018)

Ok, habe ich mir schon in die Richtung gedacht mit Serialisierung, allerdings wollte ich mal gefragt haben um auch andere Idee zu hören


----------



## JuKu (10. Sep 2018)

Wahre Worte, die @httpdigest da gesagt hat!
Einen ObjectOutputStream/ObjectInputStream würde ich allerdings an deiner Stelle nicht verwenden, da es einige Nachteile mit sich bringt, z.B. kannst du die serialisierten Daten nicht mehr einlesen, falls du die Klasse veränderst oder die Version verändert wird (z.B. erzeugen unterschiedliche Java Versionen anderen ByteCode).
Der einzige Vorteil wäre die Einfachheitheit, aber hier solltest du nicht an der falschen Stelle "sparen".
JSON / XML ist wohl das beste Format für einfache Serialisierung.


----------

