AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Blob Kompression

Ein Thema von lxo · begonnen am 11. Mai 2020 · letzter Beitrag vom 13. Mai 2020
Antwort Antwort
lxo

Registriert seit: 30. Nov 2017
294 Beiträge
 
Delphi 12 Athens
 
#1

Firebird Blob Kompression

  Alt 11. Mai 2020, 17:06
Datenbank: Firebird • Version: 3.0.5 • Zugriff über: .
Hallo zusammen,

ich würde mal gerne wissen ob es eine Möglichkeit Seitens Firebird gibt Blob-Felder zu komprimieren.
Oder jedenfalls eine Komprimierung beim Backup, so wie z.B. die RLE-Compression von VarChars die GBAK Standard macht.

Aufgefallen ist mir bei einer 5GB Datenbank (enthält nur Zahlen und BLOBs keine VarChars), dass das Backup fast genauso groß ist wie die Datenbank.
Mit 7-zip komprimiert ist das Backup nur noch 16MB groß.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Firebird Blob Kompression

  Alt 11. Mai 2020, 17:29
Hallo,
für die Komprimierung gibt es glaube ich die Blobfilter (obwohl das Wort Filter hier nicht ganz passt).
Heiko
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
294 Beiträge
 
Delphi 12 Athens
 
#3

AW: Firebird Blob Kompression

  Alt 11. Mai 2020, 17:51
Gibt es da schon irgendwelche fertigen Bibliotheken für ?
Kann man da evtl. zlib1.dll nutzen die mit Firebird ausgeliefert wird?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.323 Beiträge
 
Delphi 12 Athens
 
#4

AW: Firebird Blob Kompression

  Alt 11. Mai 2020, 18:02
Und wie erstellst du denn das Backup.

Unabhängig davon, ob man die Blobs in der DB konvertieren kann (z.B. de-/komprimieren), lassen sich die kompletten Ausgabedateien bestimmt auch direkt Zippen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (11. Mai 2020 um 18:06 Uhr)
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
294 Beiträge
 
Delphi 12 Athens
 
#5

AW: Firebird Blob Kompression

  Alt 11. Mai 2020, 18:11
Und wie erstellst du denn das Backup.

Unabhängig davon, ob man die Blobs in der DB konvertieren kann (z.B. de-/komprimieren), lassen sich die kompletten Ausgabedateien bestimmt auch direkt Zippen.
Ja einfach mit GBAK.
Klar kann ich danach das Backup komprimieren mit 7zip oder sonstiges.
Dachte nur das könnte Firebird auch irgendwie selber.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.323 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird Blob Kompression

  Alt 11. Mai 2020, 19:01
Joar, man kann es nacheinander machen,
Code:
.\GBAK.exe xxxxx -y BackupDir\SaveName.sql
.\7z.exe a -mx3 -ssw BackupDir\SaveName.7z BackupDir\SaveName.sql
if not errorlevel 1   del BackupDir\SaveName.sql
aber es geht auch zeitgleich, indem man die Ausgabe als Stream direkt weiterreicht (PIPE).
Code:
.\GBAK.exe xxxxx | .\7z.exe a -mx3 -siSaveName.sql BackupDir\SaveName.7z

Das was hoika nannte, da kannst scheinbar beim Speichern/Auslesen des Blobs die Daten durch einen Filter in die Datenbank durchreichen und dabei bearbeiten (hier de-/komprimieren).
https://www.ibexpert.net/ibe_de/pmwi...ku.Blob-Filter
So wie z.B. einen VARCHAR-Parameter (mit Zahl drin) an ein INTEGER-Feld übergeben, wobei auch der Wert konvertiert wird.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (11. Mai 2020 um 19:06 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz