sql >> Databasteknik >  >> RDS >> Mysql

Vad är det bästa sättet att lagra mediefiler i en databas?

Varje system jag känner till som lagrar ett stort antal stora filer lagrar dem externt till databasen. Du lagrar alla frågebara data för filen (titel, artist, längd, etc) i databasen, tillsammans med en partiell sökväg till filen. När det är dags att hämta filen extraherar du filens sökväg, lägger till en filrot (eller URL) till den och returnerar den.

Så du skulle ha en "plats"-kolumn, med en partiell sökväg i den, som "a/b/c/1000", som du sedan mappar till:"http://myserver/files/a/b/c/1000.mp3 "

Se till att du har ett enkelt sätt att peka mediedatabasen på en annan server/katalog, om du behöver det för dataåterställning. Dessutom kan du behöva en rutin som återsynkroniserar databasen med innehållet i filarkivet.

Dessutom, om du ska ha tusentals mediefiler, lagra inte alla i en gigantisk katalog - det är en prestandaflaskhals på vissa filsystem. Dela i stället upp dem i flera balanserade underträd.



  1. SQLite och databasinitiering

  2. Infoga data och ställ in främmande nycklar med Postgres

  3. Installera PostgreSQL på Ubuntu 20.04

  4. MySQL:Visa med Subquery i FROM-klausulens begränsning