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:
tune2fs
có một tùy chọn được gọi là dir_index
có 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.
ext
hệ 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ư rm
và ls
khi 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à find
có 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").