You are evaluating two file upload strategies: storing files in MongoDB vs. using disk storage with Multer. Which is more scalable for large files?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Disk storage with Multer". Với multer.diskStorage, tệp được ghi thẳng xuống hệ thống tệp theo dạng luồng, cơ sở dữ liệu chỉ lưu metadata nhẹ như tên tệp, đường dẫn, kích thước; nhờ vậy MongoDB không phải gánh khối dữ liệu nhị phân lớn, sao lưu và truy vấn nhẹ hơn, còn phần lưu trữ tệp có thể mở rộng riêng (thêm ổ đĩa, chuyển sang dịch vụ lưu trữ đối tượng). "Storing in MongoDB for consistency" bị giới hạn bởi kích thước tối đa 16 MB của một document BSON và làm phình cơ sở dữ liệu, nên không phù hợp với tệp lớn. "Using GridFS for large files in DB" là cách MongoDB chia tệp vượt 16 MB thành nhiều chunk và vẫn dùng được, nhưng toàn bộ dữ liệu tệp vẫn nằm trong cơ sở dữ liệu nên tải đọc ghi và dung lượng dồn lên MongoDB, kém linh hoạt hơn khi tệp nhiều và lớn. "In-memory storage" (multer.memoryStorage) giữ cả tệp trong RAM dưới dạng Buffer, tệp lớn hoặc nhiều request đồng thời dễ làm cạn bộ nhớ tiến trình.

Cùng chương 9

Xuất hiện trong 1 bộ đề