G
GuestMan
Gast
Hallo Profis, (;-))
also, um es kurz zu machen ich habe folgendes Szenario: Applikation (die mit Java laufen soll) die viele Daten darstellen soll und durchsuchen soll. D.h. ungefähr könnte man es sich als eine Bücherverwaltung vorstellen. Der Umfang wird so bis ca. 10.000 Objekte gehen. Der Speicheraufwand pro Objekt ist nicht so groß, aber bei 10.000 Elementen auch nicht zu vernachlässigen!
Nun, muss es ja durchsuchbar sein und wenigstens halbwegs performant funktionieren. Also bin ich folgende Schritte durchgegangen:
1. Schritt: DATENBANK ist das Zauberwort. Die verwaltet sehr performant die Daten und ist längst nicht auf 10.000 beschränkt. Doch leider sprengt es den Rahmen der Applikation. Weder direkter Zugriff auf MySql noch über eine Schnittstelle (PHP etc.) ist möglich, da es eine "Applikation auf dem Stick" seien soll.
2. Schritt: JAVADB. Ist einer Datenbank sehr ähnlich, funktioniert leider nicht so toll. D.h. die Create-Scripts sind nicht richtig kompatibel mit den normalen MySQL scripts ... wäre ja nicht so schlimm. Aber: es wird ja immer ein DB-Ordner angelegt. Und auf dem Stick geht das nicht so toll, weil die Applikation so funktionieren soll, dass man EINE Jar hat und EINE "DB-Datei".
3. Schritt: XML. Dies schien für mich der perfekte Ausweg, da ich mit XML eine Struktur reinbringen könnte und das Ganze in eine Datei schreiben könnte (Video-Dateien sind ja auch jenseits der 1 MB und können trotzdem ausgelesen werden). Doch leider eignet sich JDOM nicht für so große Dateien wie angestrebt. Doch kann ich ja nur JDOM benutzen, weil es ja auch die XML-Struktur modifizieren kann. Und das können die anderen XML-Frameworks in Java nicht (nach meinem Wissen). Außerdem: wie bekomme ich eine performante Suchfunktion hin?
Und nun bitte ich Euch Euren Senf dazu zu geben. Obwohl die XML-Lösung unangenehm ist (Performance, Größe/Auslesen) gefällt mir diese Lösung am besten. Leider habe ich hiervon am wenigsten Ahnung wie ich es umsetzen kann (Performante Suche???/auslesen großer XML dateien?).
Ich hoffe Ihr könnt mir ein Paar Tipps geben!
Gruß,
Max
P.S.: Auf Textdateien will ich vorerst noch nicht zurückgreifen ;-)
also, um es kurz zu machen ich habe folgendes Szenario: Applikation (die mit Java laufen soll) die viele Daten darstellen soll und durchsuchen soll. D.h. ungefähr könnte man es sich als eine Bücherverwaltung vorstellen. Der Umfang wird so bis ca. 10.000 Objekte gehen. Der Speicheraufwand pro Objekt ist nicht so groß, aber bei 10.000 Elementen auch nicht zu vernachlässigen!
Nun, muss es ja durchsuchbar sein und wenigstens halbwegs performant funktionieren. Also bin ich folgende Schritte durchgegangen:
1. Schritt: DATENBANK ist das Zauberwort. Die verwaltet sehr performant die Daten und ist längst nicht auf 10.000 beschränkt. Doch leider sprengt es den Rahmen der Applikation. Weder direkter Zugriff auf MySql noch über eine Schnittstelle (PHP etc.) ist möglich, da es eine "Applikation auf dem Stick" seien soll.
2. Schritt: JAVADB. Ist einer Datenbank sehr ähnlich, funktioniert leider nicht so toll. D.h. die Create-Scripts sind nicht richtig kompatibel mit den normalen MySQL scripts ... wäre ja nicht so schlimm. Aber: es wird ja immer ein DB-Ordner angelegt. Und auf dem Stick geht das nicht so toll, weil die Applikation so funktionieren soll, dass man EINE Jar hat und EINE "DB-Datei".
3. Schritt: XML. Dies schien für mich der perfekte Ausweg, da ich mit XML eine Struktur reinbringen könnte und das Ganze in eine Datei schreiben könnte (Video-Dateien sind ja auch jenseits der 1 MB und können trotzdem ausgelesen werden). Doch leider eignet sich JDOM nicht für so große Dateien wie angestrebt. Doch kann ich ja nur JDOM benutzen, weil es ja auch die XML-Struktur modifizieren kann. Und das können die anderen XML-Frameworks in Java nicht (nach meinem Wissen). Außerdem: wie bekomme ich eine performante Suchfunktion hin?
Und nun bitte ich Euch Euren Senf dazu zu geben. Obwohl die XML-Lösung unangenehm ist (Performance, Größe/Auslesen) gefällt mir diese Lösung am besten. Leider habe ich hiervon am wenigsten Ahnung wie ich es umsetzen kann (Performante Suche???/auslesen großer XML dateien?).
Ich hoffe Ihr könnt mir ein Paar Tipps geben!
Gruß,
Max
P.S.: Auf Textdateien will ich vorerst noch nicht zurückgreifen ;-)