2013-01-17 29 views
5

Tôi cần tạo một hệ thống lưu trữ cho các tệp chủ yếu dưới 16MB nhưng tôi muốn các lợi ích của GridFS như phiên bản, siêu dữ liệu tùy chỉnh, sao lưu dễ dàng (với mongodump), vv Tôi muốn nói có thể 10% các tệp của tôi sẽ trên 16MB vì ​​vậy tôi không thể dựa vào lưu trữ trong các tài liệu đơn lẻ và tôi không muốn tạo lại API cho các lợi ích mà tôi đang tìm kiếm. Tôi cũng đã sử dụng một hệ thống mongoDB.Tôi muốn các lợi ích của GridFS nhưng chủ yếu lưu trữ các tệp dưới 16MB

Tôi có nên sử dụng GridFS không?

+0

Xin chào Josh, Bạn đã thử nghiệm xem liệu GridFS có hoạt động kém với các tệp nhỏ hơn 16MB so với lưu trữ nhị phân trong chính tài liệu không? Cảm ơn – Maziyar

+0

@Maziyar không, tôi chưa bao giờ làm điểm chuẩn, xin lỗi. –

Trả lời

5

Nếu không có thêm chi tiết, tôi sẽ bắt đầu bằng cách đề xuất bạn đọc các đề xuất được cung cấp here.

Cho rằng tất cả tài liệu của bạn sẽ không vừa với kích thước tài liệu tối đa khi được lưu trữ dưới dạng tài liệu BSON dưới dạng BinData, tôi khuyên bạn nên sử dụng hệ thống gridFS để có trải nghiệm quản lý dữ liệu và lập trình nhất quán (dành cho nhà phát triển và CNTT) . Tùy thuộc vào cách các tập tin được tiêu thụ, bạn có thể có hiệu quả hơn dòng nội dung của các tập tin cho khách hàng khi chúng được lưu trữ trong GridFS bằng cách đọc và viết theo khối.

+0

Từ quan điểm kinh doanh, điều này có vẻ giống như sự lựa chọn hợp lý. GridFS có hoạt động kém với đa số tệp dưới 16MB không? –

+0

Không có tài liệu nào cho thấy nó hoạt động kém với các tài liệu nhỏ hơn. Bạn có thể muốn tạo một vài thử nghiệm để thử nghiệm. – WiredPrairie

-1

Bạn nên lưu trữ các tệp nhỏ hơn 16 MB trong một tài liệu bằng cách sử dụng kiểu dữ liệu BinData cho dữ liệu nhị phân. Vì vậy, vấn đề gì để lưu trữ các tệp có kích thước dưới 16MB trong một tài liệu và chỉ sử dụng GridFS cho các tệp có kích thước vượt quá 16MB.

+2

Sau đó, tôi phải quản lý các tệp của mình ở 2 nơi và tạo một API hợp nhất. Tôi cũng muốn lịch sử phiên bản mà tôi cũng sẽ phải tạo trên đầu lưu trữ BinData trong một tài liệu duy nhất. Điều gì sẽ xảy ra nếu tôi có một tệp 15,9MB mà sau đó tôi tải lên lại lên phiên bản mới nhất ở mức 16,1MB, thì lịch sử tệp của tôi nằm trong 2 cơ sở dữ liệu? –