Tôi cần lưu trữ các tệp dữ liệu nhị phân trong cơ sở dữ liệu PostgreSQL chạy trên máy chủ Ubuntu. Ban đầu, sẽ có vài chục tệp có kích thước khoảng 250kb mỗi tệp. Tuy nhiên, số lượng tệp sẽ tăng theo thời gian. Đôi khi tôi có thể cần trích xuất dữ liệu từ các tệp cho các phân tích tiếp theo khác.
Tôi đã thực hiện một số nghiên cứu liên quan đến câu hỏi lâu đời về việc lưu trữ dữ liệu nhị phân dưới dạng BLOB hoặc tài liệu tham khảo. Cả hai rõ ràng có ưu và nhược điểm của họ. Có bất kỳ vấn đề cụ thể nào liên quan đến PostgreSQL mà tôi nên biết không? Là một phương pháp hay phương pháp khác thích hợp hơn nếu tôi muốn trích xuất dữ liệu từ các tệp, thông qua chức năng PostgreQuery hoặc thông qua chương trình Python bên ngoài?
Nếu tôi lưu trữ các tệp dữ liệu trực tiếp trong cơ sở dữ liệu, tốt hơn là lưu trữ chúng trong một bảng riêng biệt có khóa ngoại tham chiếu bảng "chính", thay vì trong bảng chứa tất cả các trường khác?
Tôi đã đọc câu hỏi và câu trả lời ở đây ; một nhận xét cho thấy rằng lưu trữ tệp nhị phân theo tham chiếu (trong hệ thống tệp) trên Linux là tốt hơn. Các câu hỏi của tôi ở đây liên quan đến PostgreSQL cụ thể và trích xuất dữ liệu từ các tệp cho các phân tích khác nhau.
Cập nhật: Câu hỏi tương tự .