Mysql
 sql >> база данни >  >> RDS >> Mysql

Съхраняването на файлове с изображения в базата данни Mongo, добра идея ли е?

Проблемът не е толкова, че базата данни става голяма, базите данни могат да се справят с това (въпреки че MongoDB не е толкова добър като много други в това отношение). Проблемът е, че за да се изпратят данните на клиента, те първо трябва да бъдат преместени в RAM от базата данни, след това копирани в паметта на приложението, след това предадени на ядрото, за да бъдат изпратени през сокета. Това губи много RAM и CPU цикли. Причината, поради която е по-добре да имате големи файлове във файловата система, е, че е по-лесно да я копирате, можете да помолите ядрото да предава поточно файла от диска към сокета директно.

Недостатъкът на съхраняването на големи файлове във файловата система е, че е много по-трудно да се разпространяват. Използването на база данни и нещо като GridFS на Mongo прави възможно мащабирането. Просто трябва да се уверите, че не копирате целия файл в паметта на приложението наведнъж, а парче по парче. Повечето рамки на уеб приложения имат известна поддръжка за изпращане на фрагментирани HTTP отговори в днешно време.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MacOSX homebrew mysql root парола

  2. Има ли някакви SQL валидатори, които могат да проверяват синтаксиса срещу множество сървъри на бази данни?

  3. Урок за архивиране и възстановяване (експортиране и импортиране) на MySQL бази данни

  4. Как да генерирате фрагмента като тези, генерирани от Google с PHP и MySQL?

  5. ИЗБЕРЕТЕ * ОТ множество таблици. MySQL