Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist der beste Weg, um Mediendateien in einer Datenbank zu speichern?

Jedes System, das ich kenne, das eine große Anzahl großer Dateien speichert, speichert sie extern zur Datenbank. Sie speichern alle abfragbaren Daten für die Datei (Titel, Interpret, Länge usw.) in der Datenbank, zusammen mit einem Teilpfad zu der Datei. Wenn es an der Zeit ist, die Datei abzurufen, extrahieren Sie den Pfad der Datei, stellen ihr einen Dateistamm (oder URL) voran und geben ihn zurück.

Sie hätten also eine „Standort“-Spalte mit einem Teilpfad darin, wie „a/b/c/1000“, der Sie dann zuordnen:„http://myserver/files/a/b/c/1000.mp3 "

Stellen Sie sicher, dass Sie eine einfache Möglichkeit haben, die Mediendatenbank auf einen anderen Server/ein anderes Verzeichnis zu verweisen, falls Sie dies für die Datenwiederherstellung benötigen. Außerdem benötigen Sie möglicherweise eine Routine, die die Datenbank erneut mit dem Inhalt des Dateiarchivs synchronisiert.

Wenn Sie Tausende von Mediendateien haben, speichern Sie sie nicht alle in einem riesigen Verzeichnis – das ist ein Leistungsengpass bei einigen Dateisystemen. Brechen Sie sie stattdessen in mehrere ausgewogene Unterbäume auf.