Quali database usare per l’IoT?

Quali sono i database migliori o quale fra i tanti sul mercato è meglio usare per l'IoT? Esistono diverse soluzioni al mondo e le variabili da considerare sono altrettanto variegate.

Il mondo dell'IoT va a braccetto con i dati. In un articolo in particolare ho avuto il piacere di approfondire quanto sia semplice generare terabyte di dati da un singolo motore in poche ore di volo: è sorprendente e qui trovi maggiori dettagli.

Ma non solo: è giusto capire anche quali supporti usare per salvare i dati stessiper poi ragionare su quali database usare per il nostro progetto.

E per non farci mancare nulla, è giusto fare questa scelta anche in base alle tue conoscenze.

Ma prima di cominciare, permettimi di presentarmi: sono Lorenzo Neri: chief education officer di Elettronica Open Source, mi occupo di realizzare contenuti educativi per aiutare persone come te a comprendere meglio questo mondo!

Realm

Realm è una soluzione che fa parte dei database NoSQLma mantiene la struttura ACID delle transazioni al suo interno. Questo significa che, nonostante mantenga questa particolarità, se non sei avvezzo a imparare un nuovo modo di costruire database e quindi spostarti dalle realtà SQL-based, dovrai considerare l'impegno di imparare una nuova realtà.

Fra i punti di forza di Realm, c'è la sua struttura "object-oriented" per i dati: la struttura del database quindi segue quella delle classi che hai intenzione di realizzare e NON delle tabelle.

Ma non solo: Realm non ha bisogno di un ORM ed è stato pensato soprattutto per i dispositivi mobile quindi con poche risorse hardware.

Passiamo ad un'altra realtà per creare e gestire database per l'IoT.

MySQL

MySQL, devo essere sincero: non è stato pensato per l'IoT, ma si presta molto bene per lo scopo.

MySQL è la tipologia più nota, diffusa e considerata "quasi classica" come modello di database relazionale

È la scelta da fare nel caso in cui ti senti a tuo agio con i linguaggi SQL e quindi i database a struttura relazionale. Un altro punto di forza di MySQL è una community vasta su scala mondiale: il che significa non essere mai solo se hai o avrai un problema di qualsiasi tipo, questo gli studenti di Making IoT lo sanno bene!

In aggiunta a ciò, MySQL è pressoché la base, quindi LA soluzione offerta da pressoché la totalità degli hosting provider. In sintesi: se acquisti un sito web o desideri averne uno gratis, avrai nel 99% dei casi almeno un database MySQL gratis a tua disposizione.

InfluxDB: il database per l'IoT

InfluxDB deriva in parte dalla realtà SQL ma è la soluzione più diretta per questo mondo.

Anziché mantenere una struttura relazionale, InfluxDB offre una struttura più snella, ma mantiene logica delle query e della sintassi in modo quasi identico ai database SQL.

I dati vengono trattati come time-series: hai un sensore, gli dai un nome, gli puoi dare degli attributi (es. il nome del nodo su cui è presente) e un timestamp che rappresenta il momento in cui è stato creato il dato stesso.

In questo modo, potrai creare serie temporali vere e proprie: la forma ottimale per gestire i dati nel mondo dell'IoT se ci pensi bene.

 

Scarica subito una copia gratis

2 Commenti

  1. amusarra 7 Maggio 2021
    • Lorenzo Neri 7 Maggio 2021

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend