Dateien in MySQL speichern & indizieren

JBO

Mitglied
Hallo zusammen,

mal ein grundsätzliche Frage.

Ich bin gerade dabei eine etwas umfangreiche Datenbank in MySQL aufzusetzen.
Es werden in Zukunft auch viele Dateien verarbeitet/verwaltet werden müssen, wie xls. doc, pdf usw. die verschiedenen Projekten zugeordnet werden. Es geht hier um tausende Dokumente im Laufe der Zeit. Auch werden später sehr viele Leute darauf zugreifen. Alle Benutzer müssen dateien hinzufügen können bzw auch finden können um die dann auch lokal speichern zu können.

Diese ganzen Dateien müssen auch vom Inhalt indiziert werden. Eine Volltextsuche wird also auch auf die Dateien loß gelassen werden müssen.

Nun ist hier meine Frage, ob man diese Dateien eher direkt in MySQL speichert oder als Dateien auf dem server beläst. Hier kommt ja auch die Problematik der Performance zum Tragen und auch die Komplexität der Umsetzung.
Die Applikation als solche wird in Java umgesetzt.

Ich habe auch schon einiges im www gelesen, sind aber oftmals alte Artikel gewesen und somit nicht immer aktuell im Hinblick auf eine Machbarkeit mit heutigen Technologien.

Ich würde mich über Tipps und Hinweise und Anregungen sehr freuen.

Vielen Dank.
 

stg

Top Contributor
Sofern es keine triftigen Gründe dafür gibt, würde ich davon abraten die Dateien direkt in der Datenbank zu speichern. Sofern du sie in der Datenbank speicherst, wirst du sie eh in Binärdaten umwandeln müssen, was einen direkten Zugriff auf den Inhalt ohnehin quasi unmöglich macht.

Grundsätzlich handhabe ich es so, dass ich die Dateien direkt auf dem Server speichere. In der Datenbank merke ich mir nur grundsätzliche Information, wie z.B. den MIME-type, den Speicherort, den Originalnamen, Uploadzeitpunkt etc.. Diese Informationen kannst du dann nach Belieben mit dem User, dem Projekt oder was auch immer in Beziehung setzen.

Sofern es ausreichend ist, kannst du ja auch noch entsprechende keywords speichern, nach denen gesucht werden kann. Andernfalls würde ich für die Volltextsuche vermutlich auf eine externe Lösung mit Systemmitteln zurückgreifen. Alle Dateien in deine Java-Application zu laden und dann den Inhalt zu durchwühlen kann hier jedenfalls nicht die dollste Lösung sein.
 

JBO

Mitglied
Grundsätzlich handhabe ich es so, dass ich die Dateien direkt auf dem Server speichere.

Vielen Dank für die Antwort.
Dahin tendiere auch ich mit meinen Überlegungen. Aus mehreren Gründen. Performance, Umsetzung einer Indizierung & Suche, Security usw.
Ich selber werde das sowieso nicht alleine umsetzen können. Bin viel zu viel nur oberflächlich im Thema Datenbanken & Java drin. Werde sicherlich mal ein wenig mithelfen so weit wie ich es kann. Hier aber müssen schon erfahrene Entwickler ran. Aber ich lege die Grundlagen und die Richtung bzw Funktionalitäten fest. Aber auch hier will ich jetzt gerade zum Anfang keinen Fehler machen. Denn der kostet später im weiteren Verlauf des Projektes viel Zeit und damit auch Geld.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L H2 Blob Dateien in der DB komprimieren? Datenbankprogrammierung 8
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
D Datenbank vs. XML Dateien Datenbankprogrammierung 9
J Java Desktop - icq - *.qdb Dateien Datenbankprogrammierung 4
K PostgreSQL PDF-Dateien in Datenbank speichern und auslesen Datenbankprogrammierung 4
N Datenbank für Dateien Datenbankprogrammierung 6
Plastagen DBC Dateien korrekt auslesen Datenbankprogrammierung 2
A Loader-Dateien in Oracle Datenbankprogrammierung 4
S Informix JDBC: Unerwartete Dateien Datenbankprogrammierung 6
angel_sanctuary CSV Dateien schreiben mit Java Datenbankprogrammierung 2
D Dateien in eine OODB abspeichern Datenbankprogrammierung 3
G HSQLDB als Dateien anlegen Datenbankprogrammierung 5
K Arbeiten mit *.dbf-Dateien Datenbankprogrammierung 3
R SQL & Dateien Datenbankprogrammierung 3
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
S Datenbank MySQL und Java Datenbankprogrammierung 8
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
D MySQL Connection richtig herstellen. Wie ? Datenbankprogrammierung 7
D Multiple Connection mit MySQL Datenbankprogrammierung 4
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
D MySQL Zeilen kumulieren Datenbankprogrammierung 8
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
K Servlet-MySQL DB Datenbankprogrammierung 2
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
D Datumsformat aus MySQL ändern Datenbankprogrammierung 15
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K MySQL LAN-MySQL Server mit XAMPP Datenbankprogrammierung 2
R ERModel der Datebanken (ORACLE,MySQL,MS-SQL usw) Datenbankprogrammierung 4
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
K Anfängerfrage CSV in MySQL Datenbankprogrammierung 41
I MySQL Wert nachträglich bearbeiten Datenbankprogrammierung 1
N MySQL Datenbank lokal Datenbankprogrammierung 3
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
B MySQL installieren - silent / User anlegen Datenbankprogrammierung 3
X MySQL Verbindungdsaufbau MySql auf Ubuntu-Server Datenbankprogrammierung 10
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
M MySQL MySQL DATETIME-Import Datenbankprogrammierung 9
P MySQL Connection Global Datenbankprogrammierung 13
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
M In MySql Datenbank schreiben Datenbankprogrammierung 6
D mySQL Timestamp in RegularTimePeriod bzw Second Datenbankprogrammierung 3
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
windl MySQL und HSQLDB Datenbankprogrammierung 4
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
Z MySQL Shopsystem mit mysql und Java Datenbankprogrammierung 8

Ähnliche Java Themen

Neue Themen


Oben