Dove lavoro, c'è un data warehouse Oracle che è gestito da un altro gruppo che contiene alcune informazioni piuttosto critiche per l'azienda per funzionare senza intoppi. Il problema è che loro (a quanto pare, non hanno ancora confermato con nessuno della loro squadra) abbattere questo server per lunghi periodi ogni due settimane.
Prima di iniziare, il mio team ha creato un database SQL e il servizio WCF di accompagnamento per scaricare questi dati a intervalli diversi per consentirci di archiviarli localmente, per essere disponibili nel caso in cui una delle nostre applicazioni necessitasse di accedere ai dati durante uno dei principali periodi di inattività dei server e fornisce anche alcuni metodi di ricerca di base.
Ultimamente abbiamo sviluppato nuove applicazioni che richiedono di avere più dati dal database di altri gruppi che non avevamo prima. Ciò comporta un lungo processo di modifica delle tabelle nel nostro server cache, riscrittura delle query per inserire i nuovi dati di cui abbiamo bisogno, testarli, aggiornare qualsiasi altra app che faccia riferimento a questo database e infine inviarla alla produzione. Ho dovuto fare questo processo due volte ultimamente, e prevedo che accada molte volte anche in futuro.
La mia domanda è: c'è un modo migliore di fare questo? Non sono sicuro di quanto sia importante avere un tempo di attività del 100%, perché se altre applicazioni intorno alla società non hanno accesso a quei dati quando il server non funziona, non vedo perché la nostra non potrebbe semplicemente aspettare sarà di nuovo attivo.
In tal caso, ritengo che un'API Web che potremmo aggiungere endpoint in base alle esigenze ridurrebbe l'impatto sul cambiamento quando avremo bisogno di più dati.