Devo archiviare file di dati binari in un database PostgreSQL che gira su un server Ubuntu. Inizialmente ci saranno alcune dozzine di file di circa 250kb ciascuna. Tuttavia, il numero di file aumenterà nel tempo. A volte potrei aver bisogno di estrarre i dati dai file per altre analisi a valle.
Ho fatto alcune ricerche sulla secolare questione della memorizzazione di dati binari come BLOB o riferimenti. Entrambi ovviamente hanno i loro pro e contro. Ci sono problemi specifici relativi a PostgreSQL di cui dovrei essere a conoscenza? È preferibile un metodo o l'altro se desidero estrarre i dati dai file, tramite una funzione PostgreSQL o un programma Python esterno?
Se dovessi archiviare i file di dati direttamente nel database, sarebbe meglio archiviarli in una tabella separata con una chiave esterna che fa riferimento alla tabella "principale", piuttosto che nella tabella contenente tutti gli altri campi?
Ho letto la domanda e le risposte qui ; un commento suggerisce che è meglio archiviare i file binari per riferimento (nel filesystem) su Linux. Le mie domande qui riguardano specificamente PostgreSQL e l'estrazione di dati dai file per varie analisi.
Aggiornamento: domanda simile .