Best Practice Speichern kleineren Mengen Stammdaten?

Diskutiere Speichern kleineren Mengen Stammdaten? im Allgemeine Java-Themen Forum; Hallo, ich habe ein Programm in dem ich Stammdaten speichern möchte. So weit so gewöhnlich. Die Suche hat mir auch sehr viele Antworten...

  1. ChrisMS
    ChrisMS Neues Mitglied
    Hallo,

    ich habe ein Programm in dem ich Stammdaten speichern möchte. So weit so gewöhnlich.
    Die Suche hat mir auch sehr viele Antworten geliefert. Ich kann nur gerade die Vor/Nachteile der einzelnen Arten nicht ganz bestimmen. Ich denke, eine Datenbank wird nicht benötigt, da ich ca. 100 Datensätze/Objekte mit je 3-4 Feldern habe. Überschaubar.
    Möglichkeiten die ich in Betracht ziehe
    1. Serializable implementerien
    2. Reflection
    3. CSV Datei
    4. XML (mit XStream)

    Meine Frage wäre: Was ist best-practise?
    Wenn mein Programm z.B. später mal diese Stammdaten aus einer Excel-Datei importieren soll, würde eher CSV oder XML Sinn machen, da dies einfacher aus Excel umzuwandeln ist, aber der Import ist ja unabhängig von der eigentlichen Speicherung.

    Die XStream API widerrum erlaubt es ja recht simple Objekte ein-und auszulesen (habe noch nicht nach einem äquivalent für CVS geschaut).

    Was ist euer Favorit?

    Gruss
    Chris
     
  2. Vielleicht hilft dir dieser Kurs hier weiter --> (hier klicken)
  3. AndyJ
    AndyJ Mitglied
  4. stg
    stg Bekanntes Mitglied
    Kommt ganz drauf an...
    Wie wahrscheinlich sind Änderungen an der Struktur der Daten?
    ...an den Daten selbst?
    ...an der Anzahl an Datensätzen?
    Muss auf den Daten gerechnet / gesucht / gesonstwast werden?
    Soll die Lösung flexibel sein, oder ist es eine "Einmal-Wegwerf-Lösung"?

    Wenn du das Einlesen der Daten aber gescheit vom Rest der Anwendung entkoppelst, dann lässt sich diese Teillösung später leicht austauschen und du kannst im ersten Lauf getrost die für dich einfachste Lösung wählen. Gegen CSV oder XML spricht da zuächst einmal nichts. Wenn du rein tabellarische Daten hast bietet dir CSV geringfügige Vorteile (z.B. kaum Overhead). Sobald du komplexere Strukturen abbilden willst, ist XML oder JSON besser geeignet.
     
  5. ChrisMS
    ChrisMS Neues Mitglied
    Hallo,
    danke für eure Antworten. Leider habe ich jetzt erst Zeit gefunden das mal genauer anzuschauen.
    Also ich muss aus einer CSV und eine oder zwei PDF Dateien Daten auslesen, die ich tabellarisch via JavaFX in eine Tabelle darstellen möchte. Diese Daten sind statisch und müssen nicht verändert werden.
    Wir reden hier von max 300 Datensätze pro File. Eher weniger.

    Diese Tabellen müssen dann vergleichen und teilweise berechnet werden um dann ebenfalls in eine Tabelle dargestellt zu werden. Dieses Ergebnis muss auch nicht editierbar sein, müssen aber persistiert werden.

    JavaDB fände ich ganz nett, da ich dann komplett in Tabellen bleibe, aber ich glaube das ist etwas oversized für die paar Daten.

    Ich würde das jetzt so machen, dass ich die einzelnen Zeilen zunächst nur in Arrays speichere und dann die Arrays in eine Liste sammel um sie meiner Table-Factory zu übergeben, die sie in die GUI einspeist.
    Wenn ich die Ziel-Tabelle erstellt habe und speichern möchte, würde ich sie auslesen und in einem File wegspeichern (CSV oder XML).

    Ich kann noch nicht genau sagen, was hier am meisten "Sinn" macht.

    1. Soll für die einzelnen Reihen aus den Dateien extra in einem Objekt speichern, anstatt sie wie jetzt in einem Array zu speichern? Dann könnte ich sie in einem Vector speichern. Sehe da nur für den Weg von
    Datei zur Tabelle keinen Vorteil drin. Beim Auslesen aus der Ergebnis-Tabelle würde das schon eher Sinn machen.
    2. Als Listenart würde ich vermutlich eine ArrayList nehmen, da ich die Daten nicht ändern muss.
    Oder gibt es da bessere Alternativen? Mein Wissen stammt da eher aus Java 1.4 Zeiten. ;-)
    3. Was kann ich machen, wenn ich die Daten auf der Platte nicht direkt lesbar in XML oder CSV haben möchte? In Binärform speichern? Verschlüsseln? Soll nicht unknackbar sein, aber auch nichr per Texteditor direkt lesbar.


    Lg
    Chris
     
Die Seite wird geladen...

Speichern kleineren Mengen Stammdaten? - Ähnliche Themen

.txt Datei einlesen, verändern und in LinkedList speichern
.txt Datei einlesen, verändern und in LinkedList speichern im Forum Hausaufgaben
Ausgabe als .txt Datei speichern mit FileWriter
Ausgabe als .txt Datei speichern mit FileWriter im Forum Java Basics - Anfänger-Themen
Elemente in Array speichern, löschen, ...
Elemente in Array speichern, löschen, ... im Forum Java Basics - Anfänger-Themen
bestehendes Projekt als Applet speichern
bestehendes Projekt als Applet speichern im Forum Java Basics - Anfänger-Themen
String in Array speichern
String in Array speichern im Forum Java Basics - Anfänger-Themen
Thema: Speichern kleineren Mengen Stammdaten?