AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank für schnelle Bilder, Vorschläge bitte.
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank für schnelle Bilder, Vorschläge bitte.

Ein Thema von KodeZwerg · begonnen am 22. Apr 2018 · letzter Beitrag vom 28. Apr 2018
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

Datenbank für schnelle Bilder, Vorschläge bitte.

  Alt 22. Apr 2018, 12:37
Datenbank: Firebird • Version: 3.0.3 • Zugriff über: lokal
Hallo Community!
Ich schreibe gerade ein Programm was anhand von Daten ein Bild erstellt.
Das ein Bild nicht ständig neu berechnet werden muss wenn Daten gleich bleiben, so dachte ich mir kreiere ich eine Datenbank dafür.
Ziel soll sein eine DB zu haben die mir schnell das Image zurückgibt und mit Datensätzen von 500k bis 1mio keine großen Probleme hat.

Datenbank sollte diese Möglichkeit bieten:
1. Einen Namen zu speichern damit ich es im nachhinein Daten zuordnen kann.
2. Ein/Zwei Bild(er) zu speichern (darum geht es ja Eigentlich) und schnell laden zu können
- noch sind Bilder unkomprimiert, falls eine Kompression den Ladevorgang beschleunigen kann, mache ich es

Es wird nur lokal gearbeitet und es wird keine DB Anzeige im Hauptprogramm existieren.
Es wird nur unter Windows gearbeitet.

Programm Ablauf:
- Programm starten
- Programm lädt Daten und schaut in DB anhand des Namens ob es dafür schon ein vorberechnetes Bild gibt
- Falls Möglich, das man auch optional ein zweites Bild dem Datensatz zufügen kann, das wäre toll
- entweder Bild neu Berechnen oder DB-Bild laden
- Programm beenden (oder weitere Daten laden etc)

Hauptprogramm DB features, alle transparent, User wird darauf keinen Einfluss haben
- Datensatz erzeugen
- Datensatz laden
- Datensatz löschen
- Datensatz updaten
- Datensatz speichern
- Datensatz schnell nach Namen durchsuchen
- eventuell eine doch User-Steuerbare Möglichkeit die DB neu zu schreiben um verwaiste Datensätze zu entfernen bzw alphabetisch sortieren zu lassen, falls das ein Suchen beschleunigen würde

Was schlagt ihr vor für welches Framework ich mich entscheiden sollte?
Momentan ist nur Delphi Tokyo 10.2.3 voll installiert, keine weiteren DB Komponenten.

Für Ratschläge wäre ich dankbar, Fragen beantworte ich auch gerne falls das oben zu lütt bzw falsch an Information ist.
Gruß vom KodeZwerg

Geändert von KodeZwerg (22. Apr 2018 um 20:45 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

AW: Datenbank für schnelle Bilder, Vorschläge bitte.

  Alt 22. Apr 2018, 12:55
Bis jetzt sehe ich hier nichts wo eine Datenbank benötigt wird.

Die Direktablage auf der Festplatte tut es da auch.

Für die Ablage im Dateisystem schaut man sich an, wie so ein TDictionary seine Daten intern verwaltet (über Buckets).
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Datenbank für schnelle Bilder, Vorschläge bitte.

  Alt 22. Apr 2018, 14:10
Datenbank hat den Vorteil, dass alles nur eine oder 2 Dateien abgelegt wird. Bei der genannten Anzahl solte aber jedes DBMS geeignet sein. Gut eines mit BLOB-Unterstützung.
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.444 Beiträge
 
Delphi 7 Professional
 
#4

AW: Datenbank für schnelle Bilder, Vorschläge bitte.

  Alt 22. Apr 2018, 16:39
Embeddedversion von Firebird, dann brauchst Du nichtmal 'nen Datenbankserver aufsetzen, da der quasi Teil Deines Programmes wird.

Aber: Solltest Du irgendwann mal sagen: Oh, da Programm wird jetzt ein Mehrbenutzersystem, dann tauschst Du die Embeddedversion gegen 'nen Firebirdserver aus, die Datenbankdatei kannst Du weiterhin nutzen, eine Konvertierung, irgendwie geartete Datenübernahme ... ist nicht notwendig.

Und schnell ist die eigentlich auch.

Und Bilder ablegen kann sie auch: https://firebirdsql.org/refdocs/langrefupd21-blob.html
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Datenbank für schnelle Bilder, Vorschläge bitte.

  Alt 22. Apr 2018, 19:32
Danke für Eure Aussagen, embedded mit Blob hört sich an nach dem was ich brauche, hoffe ich
Dem werde ich Nachgehen und zur Post #2, wir haben einen Ordner mit schlapp 450000 Dateien, Ziel soll eine Datei sein die alles schnell bereithält, ich könnte auch Zippen aber das geht mir zu sehr auf die Performance bei Veränderungen.
Im Nachhinein ist mir eingefallen das ich noch eine Definition pro record brauche, einen Hash oder CRC Wert der original Daten damit ich auch auf Veränderungen reagieren kann
Vielen Dank für Feedback!

Ps: Daran soll später nie was verändert werden, Bild(er) plus Name plus CRC in die DB und per Hauptprogramm gesteuert ohne da direkt DB spezifische Knöpfe/funktionen bereitzustellen, alles im Hintergrund.
Gruß vom KodeZwerg

Geändert von KodeZwerg (22. Apr 2018 um 19:35 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Datenbank für schnelle Bilder, Vorschläge bitte.

  Alt 22. Apr 2018, 19:34
Firebird ist definitiv gut geeignet.
Markus Kinzler
  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 19:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz