hibiscus.h2.db nach update pötzlich doppelt so groß

 
fam.freundt
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 13
Dabei seit: 08 / 2017
Betreff:

hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 18.12.2018 - 07:15 Uhr  ·  #1
Moin!

Bisher hatte ich die 32 Bit-Version 2.6.4 für Windows verwendet.
Durch neues Betriebssystem habe habe ich die nun erstmals die 64 Bit Variante (letzte Version) von Jameica installiert,
danach nur noch das Benutzerverzeichnis kopiert,
beim ersten Start das Hibiscus-Plugin aktuallisieren lassen und nun stelle ich fest:

Meine hibiscus.h2.db-Datei ist von 16,7MB auf 29,4 MB gewachsen.

Ist das normal? Wieso so ein pötzlicher Speicherhunger?

Gruß
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11391
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 20.12.2018 - 11:17 Uhr  ·  #2
Hibiscus verwendet als interne Datenbank diese hier: http://h2database.com/
Das ist eine embedded SQL-Datenbank. Es kann durchaus sein, dass bei einem Update des Datenbank-Moduls interne Aenderungen an der Art vorgenommen wurden, wie die Daten in der Datei gespeichert/verschlüsselt werden. Ich kann dir hier aber leider auch nicht sagen, woher die Größenänderung genau kommt. Eventuell sind es interne Indizes. Oder aber tatsächlich ein höherer Speicherbedarf durch 64 Bit.
fam.freundt
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 13
Dabei seit: 08 / 2017
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 20.12.2018 - 11:30 Uhr  ·  #3
mhhh ... wie bekomme ich den damit die Datei auf um mal die Inhalte zu vergleichen?
Irgendeine Optimierungsfunktion gibt es nicht?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11391
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 20.12.2018 - 11:39 Uhr  ·  #4
Der Inhalt der beiden Datenbanken ist identisch. Es kann aber durchaus sein, dass fuer die Speicherung von Indizes oder igendwelche Felder mehr Speicher reserviert wird oder die Datenstrukturen intern anders aufgebaut sind. Du wirst die Stellen daher nicht finden, an denen der Mehrverbrauch entsteht. Es sind Binaerdaten. Die kann man nicht ohne weiteres vergleichen. Unter http://h2database.com/html/mvstore.html findest du die technische Beschreibung des Formats. Dort steht u.a. dass die Datenin Chunks zu je 4k gespeichert werden. Das ist vergleichbar mit Dateisystemen. Und auch dort entsteht "Speicherverlust", wenn Dateien kleiner als 4k sind und dennoch einen ganzen Chunk belegen. Es ist halt technisch bedingt.
infoman
Benutzer
Avatar
Geschlecht:
Beiträge: 8076
Dabei seit: 06 / 2008
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 20.12.2018 - 11:49 Uhr  ·  #5
Zitat geschrieben von fam.freundt
auf 29,4 MB gewachsen.

hast du so wenig (Festplatten-) Speicher, dass das ins Gewicht fällt?
fam.freundt
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 13
Dabei seit: 08 / 2017
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 21.12.2018 - 08:11 Uhr  ·  #6
@infoman:
Ich hatte letztes Jahr schon mal 200 MB DB-Dateien, die man dann glücklicherweise wieder klein bekommen hat.

Auch wenn es jetzt "nur" 30MB sind, ist es leider doch recht störend. Ich halte min. 10 Versionen im Verzeichnis und sichere dies dann auch noch regelmäßig mit Backups die auf Tages-, Wochen-, Monats- und Jahresebene unterschiedlich gehalten werden. Das ergibt dann recht schnell viele unzähle Gigabytes extra ....
fam.freundt
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 13
Dabei seit: 08 / 2017
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 21.12.2018 - 08:42 Uhr  ·  #7
Zitat geschrieben von hibiscus

Der Inhalt der beiden Datenbanken ist identisch. Es kann aber durchaus sein, dass fuer die Speicherung von Indizes oder igendwelche Felder mehr Speicher reserviert wird oder die Datenstrukturen intern anders aufgebaut sind. Du wirst die Stellen daher nicht finden, an denen der Mehrverbrauch entsteht. Es sind Binaerdaten. Die kann man nicht ohne weiteres vergleichen. Unter http://h2database.com/html/mvstore.html findest du die technische Beschreibung des Formats. Dort steht u.a. dass die Datenin Chunks zu je 4k gespeichert werden. Das ist vergleichbar mit Dateisystemen. Und auch dort entsteht "Speicherverlust", wenn Dateien kleiner als 4k sind und dennoch einen ganzen Chunk belegen. Es ist halt technisch bedingt.


Moin!
Mit SQL kenne ich mich ein wenig aus. Felderlängen, Genauigkeit oder Typen sagen mir was.
Wechsle ich da aber die nur Anwendung, würde sich nie der Inhalt ändern.
Eine Konvertierung müßte die neue Anwendung explizit durchführen oder ich sogar selber.

Würden meinen SQL-Datenbanken sich blötzlich deutlich in Größe ändern, wäre hier mehr als nur ein rotes Lämpchen am blinken.


Hat sich den in den letzten Zeit was an der Struktur der Datenbank seitens des H2-Entwicklerrs getan oder hast du Änderungen bei der 64-Bit-Vatiante bzw. neueren Hibiscus-Versionen durchgeführt?

Generell möchte ich eben wissen was mit meinen Daten passiert.
Auch so Möglichkeiten haben evtl. nach einen (nötigen) downgrade noch die Daten aufrufen zu können.


Mit der H2-Konsole kommte ich übrigens nicht an die Datenbank ran.
Was für Bentzternamen und Passwort sind da nötig?
Auch in beiden H2-Varianten scheint sich schon der Dateinamen anders als in Hibicus aufzubauen.

Gruß
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11391
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus.h2.db nach update pötzlich doppelt so groß

 · 
Gepostet: 21.12.2018 - 10:12 Uhr  ·  #8
Zitat geschrieben von fam.freundt

Mit SQL kenne ich mich ein wenig aus. Felderlängen, Genauigkeit oder Typen sagen mir was.


Das bringt dir hier aber nichts, da sich am Inhalt der Daten ja nichts geaendert hat sondern hoechstens an der internen Art der Speicherung der Daten. Und die siehst du per SQL nicht. Überhaupt siehst du die mit gar keinem Tool. Du muesstest dazu den Quellcode der H2-Datenbank analysieren, um herauszufinden, wo der Speicher verwendet werden koennte.

Zitat geschrieben von fam.freundt

Würden meinen SQL-Datenbanken sich blötzlich deutlich in Größe ändern, wäre hier mehr als nur ein rotes Lämpchen am blinken.


Bei Hibiscus-Updates kommen durchaus mal ein paar neue Spalten oder Tabellen hinzu. Allein bei der Tabelle, welche die Umsatzbuchungen enthaelt - und das damit normalerweise die groesste aller Hibiscus-Tabellen ist - im letzten Quartal 4 neue Spalten:

- art varchar(500)
- endtoendid varchar(100)
- txid varchar(100)
- purposecode varchar(100)
- zweck (verlaengert auf varchar(255))

Zitat geschrieben von fam.freundt

Hat sich den in den letzten Zeit was an der Struktur der Datenbank seitens des H2-Entwicklerrs getan oder hast du Änderungen bei der 64-Bit-Vatiante bzw. neueren Hibiscus-Versionen durchgeführt?


Beides. Ich habe neue Spalten hinzugefügt (siehe oben) und Jameica enthält eine aktualisierte H2-Version (1.4.197, war vorher 1.4.193) mit unzähligen Änderungen (http://www.h2database.com/html/changelog.html).

Zitat geschrieben von fam.freundt

Generell möchte ich eben wissen was mit meinen Daten passiert.
Auch so Möglichkeiten haben evtl. nach einen (nötigen) downgrade noch die Daten aufrufen zu können.


Ein Downgrade ist nicht vorgesehen. Siehe https://www.willuhn.de/wiki/doku.php?id=support:update
Hierzu müssten ja die Datenbank-Änderungen wieder rückgämgig gemacht werden können. Daher sollte vor einem Update ein Backup erstellt werden.

Zitat geschrieben von fam.freundt

Mit der H2-Konsole kommte ich übrigens nicht an die Datenbank ran.
Was für Bentzternamen und Passwort sind da nötig?


Wird dir angezeigt, wenn du im Menü auf "Hibiscus->Über..." klickst und dann auf "Datenbank-Informationen".
Gewählte Zitate für Mehrfachzitierung:   0