JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 24.09.2019, 14:30
Amiganer Amiganer is offline
JD Alpha
 
Join Date: Mar 2019
Posts: 22
Default 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.
Reply With Quote
  #2  
Old 24.09.2019, 14:47
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 65,385
Default

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
Reply With Quote
  #3  
Old 24.09.2019, 14:51
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 65,385
Default

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
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 15:14.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.