sql >> Database teknologi >  >> RDS >> Mysql

At gemme billedfiler i Mongo-databasen, er det en god idé?

Problemet er ikke så meget, at databasen bliver stor, det kan databaser klare (selvom MongoDB ikke er så god som mange andre i den henseende). Problemet er, at for at sende dataene til klienten, skal de først flyttes ind i RAM af databasen, derefter kopieres til applikationens hukommelse og derefter afleveres til kernen for at blive sendt gennem soklen. Det spilder masser af RAM og CPU-cyklusser. Grunden til at det er bedre at have store filer i filsystemet er, at det er nemmere at komme uden om at kopiere det, du kan bede kernen om at streame filen fra disk til soklen direkte.

Ulempen ved at gemme store filer i filsystemet er, at det er meget sværere at distribuere. Brug af en database og noget som Mongo's GridFS gør det muligt at skalere ud. Du skal bare sørge for, at du ikke kopierer hele filen ind i programmets hukommelse på én gang, men en del af gangen. De fleste webapp-rammer har en vis støtte til at sende chunked HTTP-svar i dag.



  1. Bedste praksis til lagring af brugernavne og adgangskode i MySQL-databaser

  2. Sådan kombinerer du dato fra et felt med tid fra et andet felt - MS SQL Server

  3. Minimering af virkningen af ​​at udvide en IDENTITY-søjle – del 2

  4. Returner dataene fra rækkerne med den seneste dato for hvert enkelt kandidat_id