Có vấn đề gì với tôi khi lưu khoảng 10 triệu kết quả tiềm năng trong các tệp riêng biệt trong một thư mục không?
Đúng. Có thể có nhiều lý do hơn nhưng những điều này tôi có thể đăng lên khỏi đỉnh đầu của mình:
tune2fscó một tùy chọn được gọi là dir_indexcó xu hướng được bật theo mặc định (trên Ubuntu), cho phép bạn lưu trữ khoảng 100 nghìn tệp trong một thư mục trước khi bạn thấy một cú đánh hiệu suất. Điều đó thậm chí không gần với các tệp 10m bạn đang nghĩ đến.
exthệ thống tập tin có số lượng nút tối đa cố định. Mỗi tập tin và thư mục sử dụng 1 inode. Sử dụng df -iđể xem các phân vùng và inodes miễn phí. Khi bạn hết inodes, bạn không thể tạo các tệp hoặc thư mục mới.
các lệnh như rmvà lskhi sử dụng ký tự đại diện sẽ mở rộng lệnh và sẽ kết thúc bằng một "danh sách đối số quá dài". Bạn sẽ phải sử dụng findđể xóa hoặc liệt kê các tập tin. Và findcó xu hướng chậm.
Hoặc có nên chia chúng thành các thư mục không?
Đúng. Chắc chắn nhất. Về cơ bản, bạn thậm chí không thể lưu trữ các tệp 10m trong 1 thư mục.
Tôi sẽ sử dụng cơ sở dữ liệu. Nếu bạn muốn lưu trữ bộ đệm cho trang web, hãy xem " solr " ("cung cấp lập chỉ mục phân tán, sao chép và truy vấn cân bằng tải").