#1
|
|||
|
|||
Benutzung von SQLite?
Hallo, da mein English nicht wirklich gut ist, versuche ich erstmal hier....
Im "cfg" Verzeichnis von JD2 sind mir zwei ".zip"-Files aufgefallen, die ständig verändert und regelmäßig beschrieben werden (downloadList.zip und linkcollector). Wenn man sich den Inhalt ansieht, dann kommt es einer Datenbank gleich. Wäre es dann nicht eine Idee, hier eine Datenbank wie SQLite zu verwenden? Die Art der Felder selber verändern sich nicht (je Zip-File), man könnte so eine Datenbank erstellen, die immer die selben Felder befüllt. Für die verschiedenen Zwecke dann auch getrennte Datenbanken, sprich SQLite files statt ZIP-Archive. SQLite ist, soweit mir bekannt auch Absturz sicher, da Transactionen unterstützt werden. Es wird auch nicht viel Speicherplatz verwendet, da ja auch nur der jeweils notwendige Datensatz im RAM sein muß, dann Daten verändern (zB "isDownloaded=true) und wieder schreiben. Es wäre dann auch nicht notwendig, das ZIP von Anfang bis ende durch zu gehen, wenn man den "Primary Key" geschickt wählt. Wer nicht weiß was SQLite ist: SQLite ist eine Art Datenbank, die in Files schreibt und eine Schnittstelle per SQL zur Abfrage zur Verfügung stellt. Für Java steht ein JDBC Treiber zur Verfügung. Was haltet ihr von der Idee? Bis dann, Christian P.S.: Im Forum bin ich gerade beim EventScripter am diskutieren, wie man Doppelte Downloads (der Link wurde schon mal vor kurzem gedownloadet) verhindern kann, ohne alle Downloads im Download Fenster zu belassen... P.P.S.: Hier kommen Stichworte wie JPA ins Spiel... Last edited by Amiganer; 24.09.2019 at 14:35. |
#2
|
||||
|
||||
GANZ früher wurde SQLite genutzt und das gab nur Probleme Angefangen, dass man nicht einfach mal so eben neue Felder einführen kann oder das Schema dynamisch gestalten kann oder Datentypen dynamisch sein können. Gerade die unflexiblere Speicherung war der Grund das wir davon weg sind.
SQLite hat auch einen VIEL höheren Speicherverbrauch als die Zip, welche bei 0 liegt. Ich geb dir Recht das das aktuelle Vorgehen bei bestimmten Vorgängen, wie zb Downloads, nicht ideal ist. Ich hab durchaus Ideen wie man das komplette neu schreiben der Zip verhindern könnte, aber derzeit sehe ich hierfür eher weniger Bedarf. Beides hat seine Vor- und Nachteile, keine Frage. Du kannst dich gerne an der Integration von SQLite versuchen Ich sehe durchaus die Möglichkeit diese zb für das History Feature zu nutzen, da hier in der Tat eine Art Datenbank Sinn macht, da sich die History doch im voraus sehr gut planen lässt und nicht so dynamisch/flexibel wie DownloadLinks selbst sein muss.
__________________
JD-Dev & Server-Admin |
#3
|
||||
|
||||
Nur als Info, der aktuelle Stand ist natürlich NICHT in Stein gemeißelt! Jedoch muss es schon wirklich gute Vorteile geben, welche einen komplexen Umbau rechtfertigen und es muss ich letztendlich auch jemand finden der die Zeit/Lust hat, diese Änderung umzusetzen
__________________
JD-Dev & Server-Admin |
|
|