Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lưu trữ các tệp hình ảnh trong cơ sở dữ liệu Mongo, có phải là một ý kiến ​​hay không?

Vấn đề không quá lớn đến mức cơ sở dữ liệu trở nên lớn, cơ sở dữ liệu có thể xử lý điều đó (mặc dù MongoDB không tốt như nhiều cơ sở dữ liệu khác về mặt đó). Vấn đề là để gửi dữ liệu đến máy khách, trước tiên nó phải được cơ sở dữ liệu di chuyển vào RAM, sau đó được sao chép vào bộ nhớ của ứng dụng, sau đó chuyển đến hạt nhân để gửi qua socket. Nó lãng phí rất nhiều RAM và chu kỳ CPU. Lý do tốt hơn nên có các tệp lớn trong hệ thống tệp là việc sao chép nó dễ dàng hơn, bạn có thể yêu cầu hạt nhân truyền trực tiếp tệp từ đĩa vào ổ cắm.

Nhược điểm của việc lưu trữ các tệp lớn trong hệ thống tệp là khó phân phối hơn nhiều. Sử dụng cơ sở dữ liệu và một thứ gì đó như GridFS của Mongo giúp bạn có thể mở rộng quy mô. Bạn chỉ cần đảm bảo rằng bạn không sao chép toàn bộ tệp vào bộ nhớ của ứng dụng cùng một lúc mà chỉ là một đoạn từng đoạn. Ngày nay, hầu hết các khung ứng dụng web đều có một số hỗ trợ để gửi các phản hồi HTTP phân đoạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề kỳ lạ trong Python + MySQLdb

  2. Cách tạo bảng trong MySQL Workbench bằng GUI

  3. Lỗi cú pháp MySQL trên DELIMITER trước khi TẠO TRIGGER

  4. Tắt ONLY_FULL_GROUP_BY

  5. NodeJS / mySQL - ER_ACCESS_DENIED_ERROR Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu:CÓ)