Perché utilizzare il set di dati JSON anziché SQL Query?

2

Un collega mi stava chiedendo di spiegare un flusso di informazioni di sistema, poiché hanno problemi con le informazioni errate presentate. Sembra che quello che hanno creato sia un sito Web personalizzato, con il proprio database, che ottiene i dati da SAP tramite un set di dati basato su JSON.

SAP è l'informazione live, la soluzione personalizzata consente di acquisire altre informazioni, arricchendo così i dati SAP. Questo è memorizzato localmente nel database locale del sito personalizzato, per produrre report mensili.

Sto cercando di capire perché viene utilizzato un set di dati JSON, piuttosto che un approccio di tipo query diretto (SQL?). Se l'obiettivo è ottenere informazioni live da SAP su base mensile, perché non limitarsi a interrogare SAP, piuttosto che costruire un carico statico JSON statico e analizzarlo. Ora sembra che l'argomento sia se il JSON è stato creato erroneamente o interpretato in modo errato ... sembra solo molto più complicato.

Poiché il file JSON viene eseguito anche ogni notte, non è ovvio per me il motivo per cui è stato scelto questo particolare design.

    
posta Maxcot 11.02.2016 - 21:26
fonte

2 risposte

0

Nei giorni precedenti la ORM decollava davvero, un tale approccio era ragionevolmente comune. Cioè: hai un'interfaccia agnostica di database / linguaggio di programmazione come JSON / XML tra i due così (in teoria) potresti scambiarne uno o l'altro. Un altro vantaggio è che l'interfaccia tra i due può rimanere statica anche se, ad esempio, una procedura memorizzata cambia. Ovviamente dovresti modificare entrambe le estremità, ma raramente dovresti modificare il middleware dato che è appena ritornato o passato attraverso uno schema o altro.

Questo è tutto buono di per sé ma, come hai visto, ogni rappresentazione ha le sue stesse debolezze. Abbiamo riscontrato un problema simile con uno dei nostri sistemi che utilizzava un payload XML. Funzionava bene quando i dati erano completamente popolati, ma cadeva quando uno dei valori era NULL poiché non lo codificava come nodo XML, il che significa che dovremmo fornire valori predefiniti nei dati restituiti o nelle tabelle stessi.

    
risposta data 11.02.2016 - 21:58
fonte
0

È difficile da dire senza ulteriori informazioni, ma è molto probabile che non abbia nulla a che fare con alcuno schema "nei giorni precedenti l'ORM". È probabile che qualcuno debba trovare un compromesso tra "ciò che la piattaforma SAP (vale a dire la versione) è in grado di produrre", "ciò che gli sviluppatori SAP sono in grado di implementare" e "ciò che gli sviluppatori di sistemi personalizzati sono in grado di gestire". L'uso di JSON (o XML) non è una cattiva scelta: data la complessità della soluzione media basata su SAP, non si andrebbe molto lontano senza un'ulteriore elaborazione al di sopra del livello SQL.

Per quanto riguarda l'approccio "notturno", non è neanche raro. A seconda della quantità di informazioni che devono essere elaborate e della complessità dell'elaborazione in questione, potrebbero essere necessari alcuni minuti o ore per produrre l'output, con una durata più lunga rispetto all'output medio del browser. In teoria, ciò non dovrebbe accadere, in pratica, accade tutto il tempo. La pianificazione di costosi processi di estrazione dei dati da eseguire durante la notte quando nessuno sarà disturbato dal carico aggiunto è abbastanza facile.

    
risposta data 12.02.2016 - 09:55
fonte

Leggi altre domande sui tag