sql >> Databáze >  >> RDS >> Mysql

Ukládání obrazových souborů do databáze Mongo, je to dobrý nápad?

Problém není ani tak v tom, že by se databáze zvětšila, databáze to zvládnou (ačkoli MongoDB není v tomto ohledu tak dobrý jako mnoho jiných). Problém je v tom, že pro odeslání dat klientovi je nejprve musí databáze přesunout do RAM, poté zkopírovat do paměti aplikace a poté předat jádru k odeslání přes soket. Plýtvá to spoustou cyklů RAM a CPU. Důvod, proč je lepší mít v souborovém systému velké soubory, je ten, že je jednodušší obejít jejich kopírování, můžete požádat jádro, aby soubor streamovalo z disku přímo do socketu.

Nevýhodou ukládání velkých souborů v souborovém systému je mnohem obtížnější distribuce. Použití databáze a něco jako Mongo's GridFS umožňuje škálování. Jen se musíte ujistit, že do paměti aplikace nekopírujete celý soubor najednou, ale po částech. Většina rámců webových aplikací má v dnešní době určitou podporu pro odesílání blokových odpovědí HTTP.



  1. Hledání emotikonů v MySQL

  2. Nelze se připojit k místnímu serveru MySQL přes soket

  3. Dotaz na přesnou shodu řetězce v SQL

  4. Nastavení časového limitu sítě pro připojení JDBC