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. http://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 http://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