Combine la flexibilité de JSON avec la puissance de SQL
Yannis Papakonstantinou, professeur d'informatique et d'ingénierie à l'université de Californie à San Diego, et Couchbase Inc. ont annoncé aujourd'hui leur collaboration sur un langage d'interrogation de nouvelle génération pour les données volumineuses (big data), ce qui constitue une avancée majeure vers une adoption plus large des données orientées documents et du format de données JavaScript Object Notation (JSON). Leur travail allie la puissance de SQL à la flexibilité de JSON.
Vision commune : SQL + JSON
Avant leur collaboration, Couchbase et le professeur Papakonstantinou avaient conclu indépendamment que les approches existantes ne fournissaient pas de solution complète et efficace pour l'interrogation des données semi-structurées. Tous deux partageaient la même vision : combiner SQL, le principal langage d'interrogation des bases de données, avec JSON, le principal format de modélisation des données semi-structurées dans les applications modernes. Ils ont tous deux lancé des travaux dans cette direction et leur décision de collaborer est basée sur cette vision commune.
Couchbase financera la poursuite de la recherche à l'UC San Diego afin de poursuivre le développement de SQL++, un langage déclaratif pour les données semi-structurées, formellement défini et compatible avec SQL à rebours, développé par l'équipe de Papakonstantinou au sein du groupe de base de données de l'UC San Diego. Couchbase continuera également à améliorer N1QL, le langage de requête de l'entreprise qui étend SQL à JSON et qui est cohérent avec les spécifications définies par SQL++.
SQL++ est facile à apprendre, en particulier pour les développeurs qui sont familiers avec la syntaxe de SQL. Mais contrairement à une base de données relationnelle, où toutes les données doivent être soigneusement rangées dans des tableaux, JSON est un format d'échange de données léger, facile à lire et à écrire pour les humains, et facile à générer et à analyser pour les machines.
Comme le précise un récent rapport technique* du groupe de base de données de l'UC San Diego, les co-créateurs de SQL++, Papakonstantinou, ainsi que le chercheur et ancien élève du CSE Kian Win Ong (PhD '12), spécifient la syntaxe et la sémantique de SQL++, qui est beaucoup plus propre et n'introduit qu'un petit nombre d'extensions du langage d'interrogation de SQL. "Les capacités de SQL sont le plus souvent étendues en supprimant les restrictions sémantiques de SQL, plutôt qu'en inventant de nouvelles fonctionnalités", a déclaré Papakonstantinou. "Cela permet à SQL++ d'éviter les extensions inutiles de SQL. La facilité d'utilisation est également améliorée parce que la sémantique de SQL++ a tendance à être beaucoup plus courte que celle des langages de requête précédents.
SQL++ et N1QL
Après avoir examiné 11 langages d'interrogation, M. Papakonstantinou a conclu qu'aucun ne permettait une interrogation complète des données semi-structurées. Financé par la National Science Foundation (NSF) et Informatica dans le cadre du projet FORWARD de l'UCSD, il a, avec son équipe, développé et lancé la spécification SQL++. Parallèlement, Couchbase a développé indépendamment N1QL pour fournir un langage d'interrogation complet, combinant la puissance d'interrogation de SQL avec la flexibilité des données JSON.
"Les entreprises ont commencé à demander des requêtes déclaratives sur des bases de données semi-structurées. Avec SQL++, vous disposez d'un langage de requête déclaratif qui interroge JSON et qui est rétrocompatible avec SQL", explique M. Papakonstantinou. "Il s'agit d'un langage de requête pour la nouvelle ère du big data, car il fonctionne sur des données semi-structurées tout en étant entièrement déclaratif et compatible avec SQL. Il vous offre le meilleur des deux mondes. Couchbase N1QL s'aligne sur les spécifications SQL++ et sur les exigences de l'interrogation des données semi-structurées."
"Nous sommes ravis de travailler avec le professeur Papakonstantinou et son équipe de recherche car ils partagent notre vision selon laquelle un langage de requête déclaratif pour JSON devrait être basé sur SQL", a déclaré Gerald Sangudi, architecte en chef pour l'ingénierie des requêtes chez Couchbase. "SQL++ apporte également une rigueur et une exhaustivité qui sont bénéfiques à nos utilisateurs."
En fait, Couchbase et UCSD ont formellement établi que N1QL est un dialecte de SQL++. La correspondance formelle entre N1QL et SQL++ est publiée séparément.
D'autres se joignent à la collaboration
Outre Couchbase, l'UCSD invitera également d'autres partenaires universitaires et industriels à se joindre à une collaboration sur les langages de requête, afin d'aider les utilisateurs et de faciliter l'adoption de bases de données semi-structurées et NoSQL. L'AsterixDB * de l'UC Irvine, dirigé par le professeur Mike Carey, prend déjà en charge la majeure partie de SQL++ et est sur le point de prendre en charge l'intégralité de SQL++. La collaboration a déjà permis de recueillir d'importants commentaires sur la conception du langage.
*Kian Win Ong, Yannis Papakonstantinou, Romain Vernoux, Le langage de requête SQL++ : Configurable, unificateur et semi-structuré, Rapport technique 2015Département d'informatique et d'ingénierie, Université de Californie, San Diego, 29 avril 2015. https://arxiv.org/pdf/1405.3631v7.pdf
À propos du groupe de base de données de l'UC San Diego
Le Database Group est situé dans le département Computer Science and Engineering de l'UC San Diego, et est dirigé par le professeur de CSE Yannis Papakonstantinou, un expert de premier plan en matière de bases de données et de technologies de gestion des données. Il est également codirecteur et membre du corps enseignant du nouveau master professionnel d'études avancées en science et ingénierie des données de l'université, lancé à l'automne 2014. Papakonstantinou est également un entrepreneur : en 2000, il a fondé Enosys Software, qui a été racheté par BEA Systems en 2003. Enosys a été l'une des premières entreprises à proposer un processeur de requêtes de données semi-structurées, utilisant XML, qui est actuellement rapidement remplacé par JSON. Plus récemment, Papakonstantinou, les chercheurs Kian Win Ong et Yannis Katsis et leur équipe d'étudiants en doctorat et en maîtrise ont travaillé sur le projet FORWARD, une plateforme de développement rapide pour les applications analytiques qui utilise SQL++ pour créer et mettre à jour de manière incrémentale des vues intégrées de données à travers de multiples bases de données (SQL, NoSQL, ou les deux). FORWARD comprend un processeur de requête middleware qui utilise SQL++ pour émettre des requêtes distribuées sur une variété de sources de données, y compris SQL, NoSQL, NewSQL et SQL-on-Hadoop. La plateforme de visualisation et de développement d'applications basée sur SQL++ du projet FORWARD a été déployée commercialement. Pour plus d'informations sur le projet FORWARD, voir https://forward.ucsd.edu/.
Contact :
Doug Ramsey
858-822-5825
dramsey@ucsd.edu
À propos de Couchbase
Chez Couchbase, nous pensons que les données sont au cœur de l'entreprise. Nous donnons aux développeurs et aux architectes les moyens de construire, de déployer et d'exécuter leurs applications les plus critiques. Couchbase fournit une base de données moderne, performante, flexible et évolutive qui fonctionne dans le centre de données et dans n'importe quel cloud. Un grand nombre des plus grandes entreprises du monde s'appuient sur Couchbase pour alimenter les applications centrales dont dépendent leurs activités. Pour plus d'informations, visitez le site www.couchbase.com.
Contact presse
James Kim
couchbasePR@couchbase.com
Communications Couchbase