Tôi có thể sẽ tham gia vào một dự án trong đó một thành phần quan trọng là lưu trữ cho một số lượng lớn tệp (trong trường hợp này là hình ảnh, nhưng nó chỉ hoạt động như một tệp lưu trữ).Lưu trữ hình ảnh có kích thước lớn
Số lượng tệp đến được dự kiến là khoảng 500.000 mỗi tuần (trung bình khoảng 100 Kb mỗi tệp), đạt khoảng 100.000 tệp mỗi ngày và 5 mỗi giây. Tổng số tệp được mong đợi đạt đến hàng chục triệu trước khi đạt đến trạng thái cân bằng khi tệp đang hết hạn vì nhiều lý do khác nhau ở tốc độ đầu vào.
Vì vậy, tôi cần một hệ thống có thể lưu trữ khoảng 5 tệp mỗi giây vào giờ cao điểm, trong khi đọc khoảng 4 và xóa 4 bất kỳ lúc nào.
Ý tưởng ban đầu của tôi là hệ thống tệp NTFS đơn giản với dịch vụ đơn giản để lưu trữ, hết hạn và đọc thực sự là đủ. Tôi có thể tưởng tượng dịch vụ tạo các thư mục con cho mỗi năm, tháng, ngày và giờ để giữ số lượng tệp cho mỗi thư mục ở mức tối thiểu và cho phép hết hạn thủ công trong trường hợp cần thiết.
Một giải pháp NTFS lớn đã được thảo luận here, nhưng tôi vẫn có thể sử dụng một số lời khuyên về những vấn đề mong đợi khi xây dựng một lưu trữ với các thông số đã đề cập, những vấn đề bảo trì mong đợi và lựa chọn thay thế nào. Tốt hơn là tôi muốn tránh một kho lưu trữ phân tán, nếu có thể và thực tế.
chỉnh sửa
Cảm ơn tất cả các ý kiến và đề xuất. Một số thông tin bổ sung về dự án:
Đây không phải là ứng dụng web nơi hình ảnh được cung cấp bởi người dùng cuối. Nếu không tiết lộ quá nhiều, vì đây là trong giai đoạn hợp đồng, nó có nhiều trong danh mục kiểm soát chất lượng. Hãy suy nghĩ nhà máy sản xuất với băng tải và cảm biến. Nó không phải là kiểm soát chất lượng truyền thống vì giá trị của sản phẩm hoàn toàn phụ thuộc vào cơ sở dữ liệu hình ảnh và siêu dữ liệu hoạt động trơn tru.
Các hình ảnh được truy cập 99% bởi một ứng dụng tự động trong lần đầu tiên trong - ra thứ tự đầu tiên, nhưng truy cập ngẫu nhiên bởi một ứng dụng người dùng cũng sẽ xảy ra. Hình ảnh cũ hơn một ngày sẽ chủ yếu phục vụ mục đích lưu trữ, mặc dù mục đích đó cũng rất quan trọng.
Hết hạn hình ảnh theo các quy tắc phức tạp vì nhiều lý do khác nhau, nhưng vào một số ngày, tất cả hình ảnh sẽ bị xóa. Quy tắc xóa theo logic nghiệp vụ phụ thuộc vào siêu dữ liệu và tương tác của người dùng.
Sẽ có thời gian ngừng hoạt động mỗi ngày, nơi có thể thực hiện bảo trì.
Tốt hơn là bộ nhớ tệp sẽ không phải truyền đạt vị trí hình ảnh quay lại máy chủ siêu dữ liệu. Vị trí hình ảnh nên được khấu trừ duy nhất từ siêu dữ liệu, có thể mặc dù một cơ sở dữ liệu bản đồ, nếu một số loại băm hoặc hệ thống phân phối được chọn.
Vì vậy, câu hỏi của tôi là:
- Những công nghệ sẽ làm một công việc mạnh mẽ?
- Công nghệ nào sẽ có chi phí triển khai thấp nhất?
- Công nghệ nào sẽ dễ dàng nhất để duy trì bởi phòng CNTT của khách hàng?
- Có những rủi ro gì đối với một công nghệ nhất định ở quy mô này (5-20 TB dữ liệu, 10-100 triệu tệp)?
Hãy giới hạn thư mục tâm # các tập tin, chúng tôi chạy vào một vấn đề về Redhat với giới hạn tệp tối đa cho mỗi thư mục, fyi. – Jakub
Đây là lý do tại sao tôi muốn chia tệp thành các thư mục dựa trên năm, tháng, ngày và giờ của họ. Sau khi tất cả tôi không mong đợi hơn 18000 tập tin mỗi giờ. – Holstebroe
Xem thêm http://stackoverflow.com/questions/2104720/memory-leak-using-sql-filestream/2104944#2104944 –