Sto cercando di trovare una soluzione solida e corretta per sincronizzare i dati da diverse fonti al mio database relazionale locale.
Ho diverse fonti di dati, ad esempio: CSV, API REST e probabilmente file system condiviso di rete. Queste fonti in qualsiasi momento forniscono l'istantanea del sistema e c'è uno script che viene eseguito settimanalmente e aggiorna il mio database locale con tutte le modifiche. Per un esempio più dettagliato, supponiamo che ci sia un'API che mi fornisce le informazioni di tutti i nomi di database attivi in una VM, la prossima volta che leggerò i dati potrebbe esserci il caso che ci sia più o meno numero di database a seconda che siano stati aggiunti o rimuovi dall'ultima lettura. Il sistema remoto non mantiene tali informazioni storiche.
Nel mio sistema locale devo registrare e conservare queste informazioni.
Sto leggendo i dati dall'API e poi leggendo il database dal mio database locale, faccio una serie di entrambi i nomi del database e facendo l'operazione set per controllare quelle informazioni usando operazioni come intersection
, difference
ecc. I non so se questo approccio si ridimensiona bene.
Come discusso in prima linea, qual è il modo corretto e efficace per farlo?