AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Video in Firebird Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Video in Firebird Datenbank

Ein Thema von PhilmacFLy · begonnen am 16. Sep 2013 · letzter Beitrag vom 24. Sep 2013
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Video in Firebird Datenbank

  Alt 16. Sep 2013, 21:09
Segmentsize kann wichtig sein, da ja immer nur ein blob pro segment drin sein kann

Sind deine daten normalerweise 100-500 byte pro blob, lohnt sich eine Segmentgrösse von 8192 byte nicht, da verschwendest viel.
Aber wenn Du videos ablegst die mehrere Megabyte sind, dann nimm die segmentgrösse so hoch wie geht, weil dann brauch er nicht soviele Identifikatoren um pro blob festzulegen, wo das video verteilt gespeichert ist
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Video in Firebird Datenbank

  Alt 17. Sep 2013, 11:07
Wieviele Videos passen den in 500 Bytes?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#13

AW: Video in Firebird Datenbank

  Alt 17. Sep 2013, 11:45
Moin...
[mein Senf]
Wenn Bilder in die Datenbank gespeichert werden sollen erschallt ein Aufschrei, daß man so etwas nicht macht sondern nur den "Link" in die DB speichert. Mit Videos würde ich das, auf Grund der Größe, erst Recht machen.
Damit muß sich Windows mit der Ablage beschäftigen und nicht die DB muß MB an Daten schaufeln wo sie wichtigeres zu tun hat. Desweiteren dürfte das auch wesentlich pflegbarer sein.
[/mein Senf]
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#14

AW: Video in Firebird Datenbank

  Alt 17. Sep 2013, 11:57
Das musst du jetzt aber mal erklären.
Was sollte denn dagegen sprechen Binärdaten in der Datenbank abzulegen?

Stell dir mal eine Multi-User-Datenbank vor. Wie willst du da einen Pfad zur eigentlichen Datei speichern?
Soll jeder Client neben der Datenbankverbindung auch noch ein Netzlaufwerk oder eine UNC-Freigabe mit Schreib/Leserechten eingerichtet bekommen?
Das halte ich für viel schlimmer als eine Datenbank, die Binärdaten akzeptiert.

Oder was ist, wenn sich die Pfade mal ändern?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#15

AW: Video in Firebird Datenbank

  Alt 17. Sep 2013, 12:27
Moin...
[mein Senf]...Mit Videos würde ich das, auf Grund der Größe, erst Recht machen...
Wie rum jetzt ? Was gehört in die DB ? Das Video oder nur der Dateipfad ? Gegen ersteres spricht folgendes : Szenario Immobilienmakler. Der hat 1000 Immobilien und zu 500 hat er ein Video. Dauernd kommen neue Objekte hinzu. Bei Bedarf auch neue Videos. Jetzt macht der jeden Tag Datensicherung, damit die Adressen im Notfall immer aktuell bleiben. Muss der wirklich jeden Tag die Videos (die sich selten oder nie ändern) mitsichern ? Sagen wir 1 GB pro Video. Jeden Tag wären dann 500 GB mitzusichern (bei 1000 Adressen hätten die Nutzdaten wohl kaum mehr als 20 MB), sofern die Videos in der DB liegen. Werden die Videos separat gespeichert, dann kann man die ja auch ab und zu sichern. Der viel wichtigere "richtige" Datenbestand wäre dann täglich mit wesentlich geringerem Aufwand (an Zeit und Geld) zu sichern.

Anderes Beispiel : Produkt-Katalog, wo sich die Preise täglich ändern. Wann ändern sich da die Bilder ?
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Video in Firebird Datenbank

  Alt 17. Sep 2013, 12:31
Für diesen Fall würde sich eher eine inkrementelle Sicherung anbieten. Die Speicherung des kompletten Inhalts hat auch den Vorteil, dass der Speichereort einfach geändert werden kann und das die Komplettsicherung deutlich schneller ist. Das Sicherheitsproblem von weiteren benötigten Freigaben wurde ja schon agesprochen.
Markus Kinzler
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#17

AW: Video in Firebird Datenbank

  Alt 17. Sep 2013, 13:06
Ich nehm mithilfe des DSPack ein Video auf und möchte diese nun in der Datenbank ablegen. Ich dachte mir zuerst das ich die Datei in einen Stream lade und dann in ein Blob Feld ablege ...
Über Sinn & Unsinn, Videodateien in Datenbanken zu speichern, wurde schon viel geschrieben. Es kommt eben darauf an, wie viele solcher Video-Dateien man in der Datenbank haben möchte. Vidso-Sammler haben zu Hause schon mal ein paar hundert Terrabyte an Videos auf ihren USB-Laufwerken. Für eine gewöhnliche Firebird-Datenbank bräuchte man allerdings eine Festplatte, die das aufnehmen kann, und am besten kein USB-Laufwerk, denn die sind langsamer als Sata-Platten. Es soll aber auch die Möglichkeit geben, Firebird als Multi-File-DB zu verwenden, aber darüber weiß ich nichts Genaues ...

Der größte mir bekannte Ram-Speicher der Welt ist wohl der von IBM vor zwei Jahren entwickelte: Satte 120 Petabyte sollten damals durch den Verbund von 200.000 herkömmlichen Festplatten den größten Speicher der Welt bilden. Das sind über 125 Millionen Gigabyte

Die derzeit größten Sata-Platten scheinen nicht mehr als 4000 Gigabyte zu bieten. Ich hab jetzt über eine Stunde gesucht und konnte keine größere finden. Da kommt man als Filme-Sammler schnell an seine Grenzen, bedenkt man, daß hochwertige BluRay-Filme mindestens 4 Gigabyte groß sind, für größere Bildschirme wohl bis zu 20 GB. Das wären dann 200 Bluray-Filme pro 4 TB. Nicht die Welt ... Oder bei herkömmlichen 4,7-GB-Filmen (DVD) wären das imerhin mehr als 800 Filme.

Videos für kommerziellen Gebrauch sind ja meist nicht so groß: Rechnen wir mal 1 GB pro Video, würden auf die größte Sata-Platte um die 4000 Videos passen, das könnte man dann schon in einer Multiuser-DB unterbringen ...

Man kann ohne Videos in der DB aber dennoch einen Multiuser-Zugriff entwickeln. Ich würde hier eine 3-Schicht-Lösung anstreben: Client - Zwischenschicht - Datenbank. Requests werden dann an die Application gestellt, die ich laienhaft als Zwischenschicht bezeichne, und diese packt dann die angeforderten Daten aus Datenbank und Dateisystem zusammen und schickt sie an die Client-App.
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#18

AW: Video in Firebird Datenbank

  Alt 24. Sep 2013, 10:24
Mit dem Unterschied das die Videos die ich mach maximal 10s lang sind und damit ungefähr eine größe von ca 20-30 mb haben.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
680 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Video in Firebird Datenbank

  Alt 24. Sep 2013, 10:37
Bezgl. Videos in Datenbank: Es spicht nichts dagegen, zum Beispiel mit Techniken wie EXECUTE STATEMENT ... ON EXTERNAL für Videos, die ja nun mal per se relativ statisch sind, eine eigene Datenbank zu haben, die ich aber aus meiner Datenbank transparent abrufen kann.

Wir machen das mit dem Bereich Dokumentmanagement, wo einfach alle PDF und Bilddateien der Thumbnails monatlich in eine zweite teilweise sehr große Archivdatenbank verschoben werden, diese wird nach der Übertragung dann auf Readonly gesetzt und braucht auch nur ein mal pro Monat gesichert werden.

Während des Monats laufen dann die neue PDFs und Images in die Produktionsdatenbank hinein, die dann beim nächsten Monatswechsel wieder archiviert werden. Der Zugriff auf die Dokumente läuft dabei über eine Tabelle, in der die Volltextdaten enthalten sind, diese bleibt auch immer komplett in der Echtdatenbank. Der Zugriff auf die JPG oder PDF Daten erfolgt immer über den Umweg einer Prozedur und diese entscheidet intern, das das Objekt, das in der Produktsdatenbank gerade ein leeres Blobfeld hat, eben per execute statement on external die daten aus der anderen DB holt, die ggf sogar auf einem anderen Server liegen kann.

Die Übertragung in die zweite DB als auch der Zugriff läuft alles ab fb25 mit Bordmitteln.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:53 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