Combina la flessibilità di JSON con la potenza di SQL

In un passo importante verso una più ampia adozione dei dati orientati ai documenti e del formato di dati JavaScript Object Notation (JSON), il professore di informatica e ingegneria dell'Università della California di San Diego Yannis Papakonstantinou e Couchbase Inc. hanno annunciato oggi la loro collaborazione su un linguaggio di interrogazione di nuova generazione per i big data. Il loro lavoro riunisce tutta la potenza di SQL con la flessibilità di JSON.

Visione comune: SQL + JSON

Prima della loro collaborazione, sia Couchbase che il Prof. Papakonstantinou avevano concluso in modo indipendente che gli approcci esistenti non fornivano una soluzione completa ed efficiente per l'interrogazione di dati semi-strutturati. Entrambi condividevano la visione comune di combinare SQL, il principale linguaggio di interrogazione dei database, con JSON, il principale formato per la modellazione dei dati semi-strutturati nelle applicazioni moderne. Entrambi avevano avviato un lavoro in questa direzione e la loro decisione di collaborare si basa su questa visione comune.

Couchbase finanzierà la ricerca continua presso l'UC San Diego per proseguire lo sviluppo di SQL++, un linguaggio dichiarativo per dati semi-strutturati formalmente definito e compatibile con SQL-backwards, sviluppato dal team di Papakonstantinou presso il Database Group dell'UC San Diego. Couchbase continuerà inoltre a migliorare N1QL, il linguaggio di query dell'azienda che estende l'SQL per JSON ed è coerente con le specifiche definite da SQL++.

SQL++ è facile da imparare, soprattutto per gli sviluppatori che hanno familiarità con la sintassi di SQL. Ma a differenza di un database relazionale, dove tutti i dati devono essere inseriti ordinatamente in tabelle, JSON è un formato leggero per lo scambio di dati, facile da leggere e scrivere per gli esseri umani e da generare e analizzare per le macchine.

Come illustrato in un recente rapporto tecnico* del UC San Diego Database Group, i co-creatori di SQL++, Papakonstantinou e il ricercatore e alunno del CSE Kian Win Ong (PhD '12), hanno specificato la sintassi e la semantica di SQL++, che è molto più pulito e introduce solo un piccolo numero di estensioni del linguaggio di interrogazione di SQL. "Le funzionalità di SQL vengono spesso estese rimuovendo le restrizioni semantiche di SQL, piuttosto che inventando nuove funzionalità", ha dichiarato Papakonstantinou. "Questo permette a SQL++ di evitare estensioni non necessarie di SQL". La facilità d'uso è migliorata anche perché la semantica di SQL++ tende a essere significativamente più corta rispetto ai linguaggi di interrogazione precedenti.

SQL++ e N1QL

Dopo aver esaminato 11 linguaggi di interrogazione, Papakonstantinou ha concluso che nessuno forniva un'interrogazione completa di dati semi-strutturati. Finanziato dalla National Science Foundation (NSF) e da Informatica come progetto FORWARD dell'UCSD, Papakonstantinou e il suo team hanno sviluppato e lanciato la specifica SQL++. Contemporaneamente, Couchbase ha sviluppato in modo indipendente N1QL per fornire un linguaggio di interrogazione completo, che combina la potenza di interrogazione di SQL con la flessibilità dei dati JSON.

"Le aziende hanno iniziato a chiedere query dichiarative su database semi-strutturati. Con SQL++ disponiamo di un linguaggio di query dichiarativo che esegue interrogazioni su JSON ed è retrocompatibile con SQL", ha dichiarato Papakonstantinou. "Questo è un linguaggio di query per la nuova era dei big data, perché opera su dati semi-strutturati ma è completamente dichiarativo e compatibile con SQL. Offre il meglio di entrambi i mondi". Couchbase N1QL è conforme alle specifiche SQL++ e ai requisiti di interrogazione dei dati semi-strutturati".

"Siamo lieti di collaborare con il professor Papakonstantinou e il suo team di ricerca perché condividono la nostra visione secondo cui un linguaggio di query dichiarativo per JSON dovrebbe essere basato su SQL", ha dichiarato Gerald Sangudi, Chief Architect for query engineering di Couchbase. "SQL++ apporta inoltre rigore e completezza che sono vantaggiosi per i nostri utenti".

Infatti, Couchbase e UCSD hanno stabilito formalmente che N1QL è un dialetto di SQL++. La mappatura formale di N1QL a SQL++ verrà pubblicata separatamente.

Altri si uniscono alla collaborazione

Oltre a Couchbase, UCSD inviterà anche altri partner accademici e industriali a partecipare a una collaborazione sui linguaggi di interrogazione, al fine di avvantaggiare gli utenti e facilitare l'adozione di database semi-strutturati e NoSQL. AsterixDB * della UC Irvine, guidato dal professor Mike Carey, supporta già la maggior parte di SQL++ ed è in procinto di supportare l'intero SQL++. La collaborazione ha già fornito un importante feedback sulla progettazione del linguaggio.

*Kian Win Ong, Yannis Papakonstantinou, Romain Vernoux, Il linguaggio di interrogazione SQL++: Configurabile, unificante e semistrutturato, Relazione tecnica 2015, Dipartimento di Informatica e Ingegneria, Università della California, San Diego, 29 aprile 2015. http://arxiv.org/pdf/1405.3631v7.pdf

Informazioni sul gruppo di database della UC San Diego

Il Database Group si trova nel dipartimento di Computer Science and Engineering della UC San Diego ed è guidato dal professore di CSE Yannis Papakonstantinou, uno dei maggiori esperti di database e tecnologie di gestione dei dati. Papakonstantinou è anche co-direttore e membro della facoltà del nuovo Master of Advanced Studies in Data Science and Engineering dell'università, lanciato nell'autunno 2014. Papakonstantinou è anche un imprenditore: nel 2000 ha fondato Enosys Software, acquisita da BEA Systems nel 2003. Enosys è stata una delle prime aziende a presentare un processore di query di dati semi-strutturati, utilizzando XML, che attualmente viene rapidamente sostituito da JSON. Più recentemente, Papakonstantinou, i ricercatori Kian Win Ong e Yannis Katsis e il loro team di studenti di dottorato e di laurea magistrale hanno lavorato al progetto FORWARD, una piattaforma di sviluppo rapido per applicazioni analitiche che utilizza SQL++ per creare e aggiornare in modo incrementale viste integrate di dati su più database (SQL, NoSQL o entrambi). FORWARD comprende un processore di query middleware che utilizza SQL++ per eseguire query distribuite su una serie di fonti di dati, tra cui SQL, NoSQL, NewSQL e SQL-on-Hadoop. La piattaforma di visualizzazione e sviluppo di applicazioni basata su SQL++ del progetto FORWARD è stata commercializzata. Ulteriori informazioni sul progetto FORWARD sono disponibili all'indirizzo http://forward.ucsd.edu/.

Contatto:
Doug Ramsey
858-822-5825
dramsey@ucsd.edu

Informazioni su Couchbase

In Couchbase crediamo che i dati siano il cuore dell'impresa. Diamo la possibilità a sviluppatori e architetti di creare, distribuire ed eseguire le loro applicazioni più critiche. Couchbase offre un database moderno ad alte prestazioni, flessibile e scalabile, che funziona nel data center e in qualsiasi cloud. Molte delle più grandi aziende del mondo si affidano a Couchbase per alimentare le applicazioni principali da cui dipendono le loro attività. Per ulteriori informazioni, visitate il sito www.couchbase.com.

Contatto con i media

James Kim

couchbasePR@couchbase.com
Comunicazioni Couchbase

Iniziare a costruire

Consultate il nostro portale per sviluppatori per esplorare e sfogliare le risorse e iniziare con le esercitazioni.

Prova Capella gratuitamente

Per iniziare a lavorare con Couchbase bastano pochi clic. Capella DBaaS è il modo più semplice e veloce per iniziare.

Download Callout

Creare applicazioni potenti con meno complessità e costi.