sql >> Database >  >> RDS >> Mysql

Wat is de beste manier om mediabestanden op te slaan in een database?

Elk systeem dat ik ken dat grote aantallen grote bestanden opslaat, slaat ze extern op in de database. U slaat alle opvraagbare gegevens voor het bestand (titel, artiest, lengte, enz.) op in de database, samen met een gedeeltelijk pad naar het bestand. Wanneer het tijd is om het bestand op te halen, extraheer je het pad van het bestand, voeg je een bestandsroot (of URL) toe en retourneer je dat.

Je zou dus een kolom "locatie" hebben, met een gedeeltelijk pad erin, zoals "a/b/c/1000", die je vervolgens toewijst aan:"http://mijnserver/files/a/b/c/1000.mp3 "

Zorg ervoor dat je een gemakkelijke manier hebt om de mediadatabase naar een andere server/directory te verwijzen, voor het geval je dat nodig hebt voor gegevensherstel. Mogelijk hebt u ook een routine nodig die de database opnieuw synchroniseert met de inhoud van het bestandsarchief.

En als je duizenden mediabestanden gaat hebben, sla ze dan niet allemaal op in één gigantische map - dat is een prestatie knelpunt op sommige bestandssystemen. Verdeel ze in plaats daarvan in meerdere gebalanceerde sub-bomen.



  1. SQL-fout met Order By in subquery

  2. Hoe maak en bevraag ik gekoppelde databaseservers in SQL Server?

  3. Oracle 12.2 Sharding

  4. Een handvat krijgen voor native Oracle Connection in Hibernate 4 om een ​​opgeslagen proces uit te voeren