Tôi đang phát triển một sản phẩm, như một phần của hoạt động, phải theo dõi một số lượng lớn tệp / thư mục. Ý tưởng là lưu trữ thông tin stat trong cơ sở dữ liệu sau đó, khi khởi động, tạo đồng hồ cho mỗi tệp. Các tệp thay đổi sẽ được xếp hàng (trong cơ sở dữ liệu) để đồng bộ hóa nhóm với cơ sở dữ liệu từ xa. Chúng sẽ được đồng bộ hóa theo thứ tự ưu tiên, một số trong khoảng 1-10.
Thông tin về cơ sở dữ liệu:
- <100.000 mục thông tin thống kê
- Toàn bộ cơ sở dữ liệu đọc khi khởi động, chỉ cần đường dẫn tệp là cần thiết
- Các tệp xếp hàng sẽ có trường ưu tiên (không có gì khác cần tìm kiếm)
- Chèn có thể chậm
Tôi đã tìm thấy một vài cơ sở dữ liệu mà tôi nghĩ sẽ hoạt động, nhưng tôi không chắc cái nào là tốt nhất:
- Redis - lưu trữ đường dẫn tệp dưới dạng khóa, dữ liệu thống kê dưới dạng giá trị; hàng đợi sẽ là một danh sách
- MongoDB - nhiều tùy chọn truy vấn hơn Redis, nhưng vẫn nhanh
Tôi nghĩ rằng một cơ sở dữ liệu NoQuery sẽ là giải pháp tốt nhất ở đây, vì không có quá nhiều logic quan hệ đang diễn ra và tổng kích thước dữ liệu không quá lớn (đại loại như <100 mb, gần hơn <30 mb). Tôi đã xem xét SQLite vì nó dường như đủ đơn giản để nhúng vào một ứng dụng có thể cài đặt.
Vì đây là một ứng dụng phân tán cho người dùng cuối chứ không phải máy chủ tải cao, nên cơ sở dữ liệu không phải hỗ trợ nhiều người dùng đồng thời. Ưu tiên chính ở đây là tìm một cơ sở dữ liệu có mô hình có ý nghĩa nhất.
Vì vậy, câu hỏi, cơ sở dữ liệu nào sẽ được áp dụng nhất cho tình huống này?
Ngoài ra, có bất kỳ cơ sở dữ liệu nào khác có ý nghĩa hơn cho một ứng dụng như thế này không?