Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy przechowywanie plików graficznych w bazie danych Mongo to dobry pomysł?

Problem nie polega na tym, że baza danych staje się duża, bazy danych sobie z tym poradzą (chociaż MongoDB nie jest tak dobry jak wiele innych pod tym względem). Problem polega na tym, że aby wysłać dane do klienta, najpierw muszą one zostać przeniesione przez bazę danych do pamięci RAM, następnie skopiowane do pamięci aplikacji, a następnie przekazane do jądra w celu wysłania przez gniazdo. Marnuje mnóstwo cykli pamięci RAM i procesora. Powodem, dla którego lepiej mieć duże pliki w systemie plików, jest to, że łatwiej jest obejść jego kopiowanie, możesz poprosić jądro, aby przesyłało plik bezpośrednio z dysku do gniazda.

Wadą przechowywania dużych plików w systemie plików jest to, że znacznie trudniej jest je dystrybuować. Korzystanie z bazy danych i czegoś takiego jak GridFS Mongo umożliwia skalowanie w poziomie. Musisz tylko upewnić się, że nie kopiujesz całego pliku do pamięci aplikacji od razu, ale fragment na raz. Większość frameworków aplikacji internetowych obsługuje obecnie wysyłanie fragmentarycznych odpowiedzi 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. Jak zintegrować ElasticSearch z MySQL?

  2. Jak używać operatora „większy niż” z datą?

  3. Maksymalne rozmiary pamięci TINYTEXT, TEXT, MEDIUMTEXT i LONGTEXT

  4. Jak ustawić domyślną wartość kolumny sygnatury czasowej na bieżący datownik za pomocą migracji Laravel?

  5. Jakie znaczenie ma znak zapytania w MySQL w kolumnie WHERE =??