Il
mercato database è tradizionalmente abbastanza dinamico. Ma periodicamente ha bisogno di qualche "scossone" positivo per recepire nuovi modelli ed approcci nella gestione delle informazioni. Qualche tempo fa è stato il turno della
contrapposizione tra
database relazionali e NoSQL, contrapposizione che in realtà non ha visto vincere nessuno dei due campi ma piuttosto una convergenza di funzioni in piattaforme inizialmente molto diverse. Adesso una nuova spinta al cambiamento, quantomeno nelle scelte dei clienti, potrebbe venire dalla necessità di gestire
architetture IT in cui i dati sono variamente distribuiti, eterogenei ed elaborati da applicazioni che devono operare molto velocemente.
È l'idea che porta avanti
Couchbase, software house californiana che ha nel suo stesso DNA l'importanza delle performance nella gestione dei dati. Couchbase Server - il suo prodotto chiave - è infatti in un certo senso il
"nipotino" database enteprise di Memcached, un algoritmo per la gestione in memoria dei dati che è stato sviluppato quasi vent'anni proprio per velocizzare le interrogazioni dei database. Da allora ad oggi l'attenzione alle performance applicative è nettamente aumentata. E questo - secondo Couchbase stessa - è proprio
uno dei principali motivi per cui molti clienti hanno scelto Couchbase Server al posto del database che già impiegavano.
Nata relativamente di recente rispetto ad altri database provider, Couchbase ha anche potuto cavalcare un'altra evoluzione architetturale: lo sviluppo del cloud. "
Couchbase Server è sviluppato da zero per una architettura cloud-nativa - spiega
Eric Delattre, Senior Director, Southern Europe di Couchbase -
il che permette di implementarlo indifferentemente presso i cloud provider IaaS o in ambienti di cloud privato oppure ibrido". In sostanza, agnosticamente in qualsiasi ambiente basato su container e Kubernetes:
Red Hat OpenShift, Amazon EKS, Azure AKS, Google GKE.
Couchbase Server infatti non è una piattaforma monolitica. È più
una "data platform" incentrata su un database engine NoSQL attorno al quale ruotano vari servizi specifici. Quelli di core in primo luogo, che garantiscono performance, persistenza, scalabilità, alta disponibilità. Poi quelli più legati
alla struttura del database ed all'elaborazione dei dati: dagli analytics alla ricerca testuale, dall'indicizzazione alla gestione delle query (Couchbase ha un suo linguaggio,
N1QL, pensato per la gestione degli oggetti JSON). Sino al clustering ed alla gestione di una programmazione event-based.
In sostanza, Couchbase ha sviluppato una data platform cloud-nativa che "vive" potenzialmente
nello stesso ambiente Kubernetes in cui girano le applicazioni e i microservizi che sfruttano i suoi dati. Una convivenza che
aiuta molto la gestione, secondo Couchbase. Se ne occupa in particolare il
Couchbase Autonomous Operator, il quale automatizza diverse funzioni di gestione che di solito sono manuali, in particolare l'attivazione di nuove istanze del database in funzione del workload da sostenere in un dato momento.
Couchbase all'edge e nel cloud
Una particolarità di Couchbase è l'attenzione alla
decentralizzazione delle informazioni, un tema ricorrente nell'era del crescente
edge computing. I dispositivi "da edge" possono ospitare
Couchbase Lite, una versione embedded del database che dialoga con quella server attraverso uno specifico meccanismo di
sincronizzazione sicuro pensato per le applicazioni su larga scala. Come quelle degli ambienti Internet of Things. Questo "
dà la possibilità di installare Couchbase là dove i dati sono generati e memorizzati inizialmente", spiega Eric Delattre. Pur considerandoli nella logica di un ambiente applicativo e database esteso.
Come tutti i principali database provider, anche Couchbase offre diverse modalità per sfruttare le sue tecnologie. Couchbase è un database open source e ne esiste quindi una versione - la
Community Edition - che si può scaricare, installare ed usare liberamente. Couchbase Server è invece la versione enterprise accompagnata dai servizi di supporto, che prevede un
costo annuale di abbonamento. Infine, Couchbase ha sviluppato anche una offerta Database-as-a-Service -
Couchbase Cloud - che prevede la creazione in cloud (AWS o Azure, al momento) di un ambiente Couchbase completamente gestito.