Google Firebase permette di utilizzare un db NoSql sul cloud completamente black box gli utenti di una determinata applicazione o servizio.
Firebase Realtime Database
Firebase Realtime Database è un servizio di database in tempo reale offerto da Firebase, una piattaforma di sviluppo di applicazioni mobile e web di proprietà di Google. Si tratta di un database cloud NoSQL che consente agli sviluppatori di creare applicazioni reattive e collaborative che possono sincronizzare e condividere dati in tempo reale tra diversi client.
Il database è organizzato in modo gerarchico utilizzando una struttura ad albero di dati JSON (JavaScript Object Notation). Questo consente di organizzare i dati in un modo intuitivo e flessibile, rendendoli facili da leggere e scrivere. Le operazioni sul database come la lettura, la scrittura e l’aggiornamento dei dati possono essere effettuate in modo asincrono tramite API fornite da Firebase.
Firebase Realtime Database offre un sistema di sincronizzazione in tempo reale che permette a tutti i client connessi di ricevere automaticamente aggiornamenti in tempo reale quando i dati vengono modificati. Questo è particolarmente utile per applicazioni in cui è necessario visualizzare immediatamente i cambiamenti apportati dai diversi utenti.
L’autenticazione e l’autorizzazione sono integrate nel servizio, consentendo agli sviluppatori di definire regole di accesso basate su ruoli e autorizzazioni per proteggere i dati sensibili. Questo assicura che solo gli utenti autorizzati possano accedere e modificare i dati nel database.
Firebase Realtime Database offre anche funzionalità avanzate come le transazioni atomiche per garantire la coerenza dei dati in ambienti multithreading e multiutente. Le transazioni consentono di eseguire operazioni multiple in modo sicuro, garantendo che se una operazione fallisce, tutte le altre vengano annullate.
L’interfaccia utente per il database può essere personalizzata con Firebase SDK per diverse piattaforme, tra cui iOS, Android e il web. Inoltre, Firebase fornisce funzionalità di analisi e monitoraggio delle prestazioni, consentendo agli sviluppatori di ottenere insight sull’utilizzo del database e migliorare le prestazioni dell’applicazione.
Un altro vantaggio di Firebase Realtime Database è la scalabilità automatica, che significa che il servizio può gestire automaticamente picchi di traffico senza richiedere interventi manuali da parte degli sviluppatori. Questo assicura che l’applicazione rimanga affidabile e performante anche con un numero crescente di utenti.
Creazione db
Per creare il database bisogna andare nel menu laterale Build -> Realtime Database -> test mode.
Una volta fatto verrà fornito un url per poter accedere, tramite API al db.
Questo è l’unica cosa che serve per accedere al db dall’esterno, in test mode non serve nemmeno l’api key.
Esempio
Specifiche
In questo esempio ho una Console Application che aggiunge ad un realtime database delle note che appartengono a uno o più notebook (stile Evernote).
In particolare posso