Gelöst Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

FraCar

Aktives Mitglied
28. April 2015
12
0
Hallo zusammen, ich habe in meiner WAWI sehr viele Bilder mit einer Auflösung von 2000x2000 Pixel per Ameise eingelesen.
Das bläht die Datenbank natürlich sehr schnell auf. Jetzt habe ich über den internen Bildkonverter alle Bilder auf 600x600 verkleinert.

Im nachgang war die Datenbank aber kein bisschen kleiner. Bleiben die Bilder in dem Ursprungsformat weiterhin in der Datenbank gespeichert?

Frank
 

MichaelH

Sehr aktives Mitglied
17. November 2008
14.630
1.964
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Möchte mich anschließen, ist eine Arbeit die bei mir auch ansteht - wie kann man die DB verkleinern über Verkleinerung der Bilder ?
 

FraCar

Aktives Mitglied
28. April 2015
12
0
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Das genau ist ja mein Problem ... ich habe die Bilder von einer Auflösung mit 2000 x 2000 auf 600 x 600 über die Interne Funktion verkleinern lassen. Die Bilder hatten vorher ca. 500 KB und jetzt nur noch ca 50KB. Ich habe ca 10000 Artikel im System. An der Datenbankgröße hat sich allerdings nichts geändert ....
 

MichaelH

Sehr aktives Mitglied
17. November 2008
14.630
1.964
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Wie gesagt, nicht getestet, aber ich würde die Bilder exportieren, dann neu importieren mit der Option "alle immer ersetzen".
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.084
339
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Hi,

man kann die Datenbank verkleinern - damit wird diese aber zwangsweise langsamer. Ich habe das ja schon in einigen anderen Threads erläutert: Eine Datenbank nimmt sich viel Speicher um Fragmentierung zu vermeiden. Einmal angeforderter Speicherplatz wird praktisch nicht mehr freigegeben - denn dadurch würde die Fragmentierung massiv steigen und damit die Geschwindigkeit ebenso sinken.

Kurzum: DBCC SHRINKDB ist der Befehl den ihr sucht - aber ich rate ausdrücklich davon ab.

Gruß,
Sebastian
 

FraCar

Aktives Mitglied
28. April 2015
12
0
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Ah, Moment, da kommen wir der Sache schon näher.... das heißt, ist die Datenbank mit 10GB voll und kann keine weiteren Datensätze mehr aufnehmen, und ich verkleinere die Bildgröße, bleibt die Datenbank 10GB kann aber wieder neue Datensätze aufnehmen da in der Datenbank wieder Speicher frei ist? Dann wäre ja alles ok! Kann man denn sehen, wie viel Speicher tatsächlich belegt ist?
 

MichaelH

Sehr aktives Mitglied
17. November 2008
14.630
1.964
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Hallo Sebastian !

OK, besten Dank - Nachfrage - wird Platz der frei wurde von der DB wieder benutzt oder steigt der Adressraum unaufhörlich ?
Soll heißen: Wenn ich Platz in der DB spare durch kleinere Bilder wird der Platz bei neuen Bilder wiederverwendet ?

Weitere Nachfrage: Gibt es keinen "echten" DB-Reorg ? D.h. um Fragmentierungen wieder aufzuheben, Indexe und Daten sortiert anzulegen ohne Erweiterungen ?
Also "Export", Reorg, "Import" ?
Es muss doch eine Möglichkeit geben Adresslücken durch Neu-Adressierung zu bereinigen ? Ansonsten würde jede DB auf dieser Welt unaufhörlich größer werden ?
Oder ist das ein Mangel in der Gratis-Version des SQL-Server ?

In der WAWI 1.0 gibt es das DB-Tool - wird es damit "besser" ? :)
Mir eilt es nicht, kann es auch später mal machen ...

SG,
Michael
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.084
339
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Hi,

also das 10GB-Limit bezieht sich auf den von Daten tatsächlich genutzten Speicherplatz, nicht auf die von der DB allokierte Datenmenge.

Zum Allgemeinen:
Man muss verschiedene Dinge unterscheiden.
Ganz unten gibt es die Festplatte. Darauf kommt ein Dateisystem - das ist nichts anderes als eine spezialisierte Datenbank. Das Dateisystem reserviert jetzt eine Datei für die Datenbank. Hier kann es zur ersten Fragmentierung kommen - das ist die unter Windows bekannte Fragmentierung, die man mit defrag reduzieren kann. Allerdings lässt ein defrag keinen Platz hinter einer Datei, d.h. sobald eine Datei größer wird, wird sie wieder in zwei Teile zerlegt - wachsen mehrere Dateien gleichzeitig hat man relativ schnell wieder Fragmente.
Um also Fragmentierung auf dem Dateisystem-Level zu vermeiden allokiert die Datenbank immer größere Blöcke vom Betriebssystem und gibt diese sehr, sehr ungern wieder frei. Dadurch erhofft sich die Datenbank eine Datei mit möglichst wenig Fragmenten. Von dieser Fragmentierung "weiß" die Datenbank nix - die sieht man nur im Dateisystem.

Intern wird nun diese Datei wieder in Segmente unterteilt - es passiert praktisch genau das selbe wie im Dateisystem, nur heißen die Dateien eben Tabellen oder Indizes. Die können auch wieder fragmentieren, selbst wenn auf dem Dateisystemlevel alles in einem einzigen Segment steckt.

Indizes kann und sollte man regelmäßig defragmentieren ggf. sogar neu aufbauen. In größeren Systemen reden wir hier von einer täglichen Aufgabe. Das kann auch unser DB-Tool in der Version 1.0 erledigen. Das kann - je nach Server Version - im laufenden Betrieb erledigt werden. Eine Reorganisation der eigentlichen Daten ist mir nicht bekannt - keine Ahnung ob das auch funktioniert. Längere sequentielle Zugriffe sollten aber im Normalbetrieb nicht auftauchen, insofern würde ich mir von einer Reorganisation der Daten nicht so viel versprechen (im Gegensatz zur Neuorganisation der Indizes).

Also zusammengefasst:
- Wenn der Platz in der DB eng wird, warnt die Wawi früh genug. Von "außen" sieht man die tatsächliche Größe nicht so gut.
- Ein DB-Server ist komplex. Gut gemeinte Eingriffe in die Funktionsfähigkeit ("Optimierungen", eigene Indizes anlegen, DB verkleinern, etc.) gehen sehr schnell nach hinten los. Der SQL-Server ist keine "junge" Software und schon recht gut eingestellt. Meist hat das Verhalten der Software einen guten Grund
- Mit der Wawi 1.0 kommt ein DB-Tool was einige Wartungsarbeiten an der DB automatisch erledigen kann
- Im Optimalfall gibt man der SQL-Datenbank viel Platz. Und zwar von Anfang an. Direkt mit einer 10 GB Datenbank starten. Dann wird die Datei auf dem Datenträger in einem Stück allokiert und der DB-Server hat Genug Spielraum für seine Optimierung.

Gruß,
Sebastian
 

MichaelH

Sehr aktives Mitglied
17. November 2008
14.630
1.964
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

OK, das wirft nun die nächste Frage auf - wie gebe ich der DB nun eine neue Größe in 1 Stück, also ohne Fragmentierung auf der Disk ?
- da müsste die Disk ja leer sein oder frisch de-fragmentiert

Und - Indizes zu defragmentieren ist klar, aber eben, wie kann ich nun die Daten in der DB neu sortieren/reorganisieren ohne DB-interne-Fragemente, also export/reorg/import ?
- Normalerweise kann man doch eine DB völlig neu laden und damit optimieren ? export/reorg/import -> export/neu anlegen mit neuer Größe/import

Wäre also:
Export auf ein anderes Laufwerk
DB löschen/leeren
Disk defragmentieren
DB neu anlegen oder ggf. erweitern
DB importieren von anderer Disk
-> Fertig ist der Reorg

??

Die Lösung ist sicherlich -> mehr RAM als DB-Größe, aber das geht ja mit der Free-Version (1 GB RAM) nicht ... :) ... mein Server hat 32GB und meine DB 4GB, *heul* *schluchz* - aber immerhin SSD womit es wenigstens ein virtueller RAM ist.

:)

SG,
Michael
 

FraCar

Aktives Mitglied
28. April 2015
12
0
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Hallo Sebastian,

vielen lieben Dank für diese sehr ausführliche und vor allem verständliche Erklärung!!!

Frank
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.084
339
AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben

Hi,

auf einer SSD spielt Fragmentierung keine so wesentliche Rolle mehr.

Die Größe der DB kann man beim Erstellen der DB angeben - ebenso die "Chunk-Size" also die Größe der "Häppchen" die bei einer Speicheranforderung genutzt werden.

Gruß,
Sebastian
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Artikelbild verknüpfen verknüpft nur alle Bilder, wenn kein Bild 1 da ist JTL-Ameise - Fehler und Bugs 0
Rechnung speichern - WaWi wird geschlossen JTL-Wawi 2.0 4
Neu Status wird immer wieder überschrieben Shopify-Connector 0
Neu Nach Update in Dez 2025 wird TSE Swissbit nicht mehr erkannt JTL-POS - Fehler und Bugs 1
Neu DHL 4.0 Versandschnittstelle wird nicht aufgeführt? JTL-ShippingLabels - Fehler und Bugs 5
Neu Gini Scan & Pay wird zum 1. Juni 2026 eingestellt. Gibt es Alternativen? Plugins für JTL-Shop 8
Amazon Rechnungslayout geändert, per IDU wird trotzdem die alte Vorlage hochgeladen JTL-Wawi 1.9 2
Neu Nach Umstellung DHL Versenden 4.0 wird Kleinpaket nun auf DHL Paket Labeldrucker ausgegeben statt auf Kleinpaketdrucker JTL-ShippingLabels - Fehler und Bugs 5
Brutto-Gesamtbetrag wird (wieder) falsch berechnet - 2.0.1 JTL-Wawi 2.0 12
Neu Zahlung zugewiesen, aber keine Rechnung wird angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Neu Sendungsnummer in Versandmail wird nicht korrekt befüllt Arbeitsabläufe in JTL-Wawi 1
Neu Versanderweiterung in EU- Länder - Was wird vergessen? Business Jungle 5
Neu 2.0.0: Workflow Queue wird nicht abgearbeitet via API JTL-Wawi 2.0 1
Neu Überverkäufer aktiviert, es wird aber kein Bestand zu Amazon übertragen Amazon-Anbindung - Fehler und Bugs 0
JTL-Wawi eBay Fahrzeugverwendung (K-Typen) wird nicht aktiviert trotz Ameise-Import JTL-Wawi 1.10 0
Neu Umsatzsteuernummer von Kunden wird nicht in Wawi übertragen Shopify-Connector 4
Neu DHL Versenden 4.0 Firmenname wird nicht gedruckt JTL-ShippingLabels - Fehler und Bugs 6
Neu Anzeigen der Zahlungsart, die bei der Zahlung gesetzt wird Eigene Übersichten in der JTL-Wawi 10
Neu Die verwendete Version von JTL-Wawi wird nicht mehr unterstützt. Bitte nutzen Sie die Version 2.0.0.0 User helfen Usern - Fragen zu JTL-Wawi 1
Neu Pickliste wird auf Packtisch und in Wawi unter Picklisten nicht angezeigt. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu DHL Wunschzustellung wird bescheiden dargstellt - keine Shopzustellung auswählbar Plugins für JTL-Shop 0
Neu GLS WebAPI wird abgeschaltet (31.12.2026) JTL-ShippingLabels - Ideen, Lob und Kritik 4
Neu FBA-Streckenlager wird nicht mehr automatisch ausgebucht Einrichtung und Installation von JTL-eazyAuction 0
Unter-Unterkategorie Pfeil wird nicht angezeigt! Einrichtung JTL-Shop5 4
Unter-Unterkategorie Pfeil wird nicht angezeigt! Upgrade JTL-Shop4 auf JTL-Shop5 1
Kundennummer wird in E-Mail-Bestellung nicht angezeigt JTL-Wawi 1.10 0
Neu User-Agent ohne Kennung wird blockiert Onlineshop-Anbindung 4
OTTO: Keine Retourennummer (Hermes HSI) – Versandstatus wird nicht aktualisiert JTL-Wawi 1.11 1
Artikel erkennbar machen wenn nur als Dropshippimg zur Verfügung gestellt wird JTL-Wawi 1.10 5
Neu Rechnung wird zusätzlich auf Labeldrucker ausgegeben JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Varkombis Import Fehler "#VARKOMBI WIRD NICHT ANGELEGT#" JTL-Ameise - Fehler und Bugs 4
Neu Neue Box im Footer erstellt, Inhalt wird nicht korrekt angezeigt Betrieb / Pflege von JTL-Shop 1
Neu Der Auftrag wird nicht ausgeliefert. Der Auftrag befindet sich bereits auf einer anderen Pickliste. User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL WAWI V1.11.6.0 Stornorechnung, Stornotext wird nicht gespeichert und ist nicht abrufbar JTL-Wawi - Fehler und Bugs 0
Verkaufseinheit wird nicht auf Angebot/Auftrag/Rechnung/Lieferschein ausgegeben JTL-Wawi 1.11 3
Skonto bei Barzahlung wird angezeigt, aber nicht vom Rechnungsbetrag abgezogen JTL-Wawi 1.9 11

Ähnliche Themen