Programmazione NoSQL e Dataflow
Ci sono momenti in cui i dati non sono disponibili in formato relazionale e dobbiamo mantenerli transazionali con l'aiuto dei database NoSQL.
In questo capitolo ci concentreremo sul flusso di dati di NoSQL. Impareremo anche come funziona con una combinazione di agile e data science.
Uno dei motivi principali per utilizzare NoSQL con Agile è aumentare la velocità con la concorrenza del mercato. I seguenti motivi mostrano come NoSQL sia la soluzione migliore per la metodologia software agile:
Meno barriere
Cambiare il modello, che attualmente sta attraversando il mid-stream, ha dei costi reali anche in caso di sviluppo agile. Con NoSQL, gli utenti lavorano con dati aggregati invece di perdere tempo nella normalizzazione dei dati. Il punto principale è fare qualcosa e lavorare con l'obiettivo di rendere i dati perfetti del modello.
Scalabilità aumentata
Ogni volta che un'organizzazione crea un prodotto, pone maggiormente l'accento sulla sua scalabilità. NoSQL è sempre noto per la sua scalabilità ma funziona meglio quando è progettato con scalabilità orizzontale.
Capacità di sfruttare i dati
NoSQL è un modello di dati senza schema che consente all'utente di utilizzare prontamente volumi di dati, che include diversi parametri di variabilità e velocità. Quando si considera una scelta di tecnologia, si dovrebbe sempre considerare quella che sfrutta i dati su una scala maggiore.
Flusso di dati di NoSQL
Consideriamo il seguente esempio in cui abbiamo mostrato come un modello di dati è focalizzato sulla creazione dello schema RDBMS.
Di seguito sono riportati i diversi requisiti dello schema:
Dovrebbe essere elencata l'identificazione dell'utente.
Ogni utente dovrebbe avere almeno un'abilità obbligatoria.
I dettagli dell'esperienza di ogni utente dovrebbero essere mantenuti correttamente.
La tabella utente è normalizzata con 3 tabelle separate -
Users
Abilità dell'utente
Esperienza utente
La complessità aumenta durante l'interrogazione del database e il consumo di tempo viene notato con una maggiore normalizzazione che non è buona per la metodologia Agile. Lo stesso schema può essere progettato con il database NoSQL come indicato di seguito -
NoSQL mantiene la struttura in formato JSON, che è leggero nella struttura. Con JSON, le applicazioni possono archiviare oggetti con dati nidificati come documenti singoli.