Combina la flexibilidad de JSON con la potencia de SQL
Yannis Papakonstantinou, profesor de informática e ingeniería de la Universidad de California en San Diego, y Couchbase Inc. han anunciado hoy su colaboración en un lenguaje de consulta de nueva generación para macrodatos, lo que supone un paso importante hacia una mayor adopción de los datos orientados a documentos y del formato de datos JSON (JavaScript Object Notation). Su trabajo aúna toda la potencia de SQL con la flexibilidad de JSON.
Visión común: SQL + JSON
Antes de su colaboración, tanto Couchbase como el profesor Papakonstantinou llegaron por separado a la conclusión de que los enfoques existentes no ofrecían una solución completa y eficaz para consultar datos semiestructurados. Ambos compartían la visión común de combinar SQL, el principal lenguaje de consulta de bases de datos, con JSON, el principal formato para modelar datos semiestructurados en aplicaciones modernas. Ambos habían iniciado trabajos en esa dirección, y su decisión de colaborar se basa en esta visión común.
Couchbase financiará la investigación continuada en la UC San Diego para impulsar el desarrollo de SQL++, un lenguaje declarativo formalmente definido y compatible con SQL para datos semiestructurados desarrollado por el equipo de Papakonstantinou en el Grupo de Bases de Datos de la UC San Diego. Couchbase también seguirá mejorando N1QL, el lenguaje de consulta de la empresa que amplía SQL para JSON y es coherente con las especificaciones definidas por SQL++.
SQL++ es fácil de aprender, sobre todo para los desarrolladores familiarizados con la sintaxis de SQL. Pero a diferencia de una base de datos relacional, donde todos los datos deben encajar perfectamente en tablas, JSON es un formato ligero de intercambio de datos fácil de leer y escribir para los humanos, y de generar y analizar para las máquinas.
Como se detalla en un reciente informe técnico* del UC San Diego Database Group, los cocreadores de SQL++, Papakonstantinou, así como el investigador y antiguo alumno del CSE Kian Win Ong (PhD '12), especifican la sintaxis y la semántica de SQL++, que es mucho más limpia y sólo introduce un pequeño número de extensiones del lenguaje de consulta a SQL. "Las capacidades de SQL se amplían la mayoría de las veces eliminando restricciones semánticas de SQL, en lugar de inventar nuevas características", afirma Papakonstantinou. "Esto permite a SQL++ evitar extensiones innecesarias sobre SQL". La facilidad de uso también mejora porque la semántica de SQL++ tiende a ser significativamente más corta que en lenguajes de consulta anteriores.
SQL++ y N1QL
Tras estudiar 11 lenguajes de consulta, Papakonstantinou llegó a la conclusión de que ninguno ofrecía una consulta completa de datos semiestructurados. Financiado por la National Science Foundation (NSF) e Informatica como proyecto FORWARD de la UCSD, él y su equipo desarrollaron y lanzaron la especificación SQL++. Al mismo tiempo, Couchbase había desarrollado de forma independiente N1QL para ofrecer un lenguaje de consulta completo que combinara la potencia de consulta de SQL con la flexibilidad de los datos JSON.
"Las empresas empezaron a pedir consultas declarativas en bases de datos semiestructuradas. Con SQL++ tenemos un lenguaje de consulta declarativo que consulta JSON y es compatible con SQL", explica Papakonstantinou. "Se trata de un lenguaje de consulta para la nueva era de los macrodatos, porque funciona con datos semiestructurados pero es totalmente declarativo y compatible con SQL. Ofrece lo mejor de ambos mundos". Couchbase N1QL se alinea con las especificaciones SQL++ y los requisitos de consulta de datos semiestructurados."
"Estamos encantados de trabajar con el profesor Papakonstantinou y su equipo de investigación porque comparten nuestra visión de que un lenguaje de consulta declarativo para JSON debe basarse en SQL", ha declarado Gerald Sangudi, arquitecto jefe de ingeniería de consultas de Couchbase. "SQL++ también aporta rigor y exhaustividad que son beneficiosos para nuestros usuarios".
De hecho, Couchbase y UCSD han establecido formalmente que N1QL es un dialecto de SQL++. El mapeo formal de N1QL a SQL++ se publicará por separado.
Otros se suman a la colaboración
Además de Couchbase, la UCSD también invitará a otros socios académicos e industriales a unirse a una colaboración sobre lenguajes de consulta, con el fin de beneficiar a los usuarios y facilitar la adopción de bases de datos semiestructuradas y NoSQL. AsterixDB * de UC Irvine, dirigida por el profesor Mike Carey, ya es compatible con la mayor parte de SQL++ y está en vías de serlo. La colaboración ya ha proporcionado importantes comentarios sobre el diseño del lenguaje.
*Kian Win Ong, Yannis Papakonstantinou, Romain Vernoux, El lenguaje de consulta SQL++: Configurable, unificador y semiestructurado, Informe técnico 2015, Departamento de Ciencias de la Computación e Ingeniería, Universidad de California, San Diego, 29 de abril de 2015. http://arxiv.org/pdf/1405.3631v7.pdf
Acerca de UC San Diego Database Group
El Grupo de Bases de Datos se encuentra en el departamento de Ciencias de la Computación e Ingeniería de la UC San Diego y está dirigido por el profesor de CSE Yannis Papakonstantinou, un destacado experto en bases de datos y tecnologías de gestión de datos. También es codirector y forma parte del profesorado del nuevo Máster profesional de Estudios Avanzados en Ciencia e Ingeniería de Datos de la universidad, puesto en marcha en otoño de 2014. Papakonstantinou también es empresario: en 2000 fundó Enosys Software, que fue adquirida por BEA Systems en 2003. Enosys fue una de las primeras empresas en presentar un procesador de consultas de datos semiestructurados, utilizando XML, que actualmente está siendo rápidamente sustituido por JSON. Más recientemente, Papakonstantinou, los investigadores Kian Win Ong y Yannis Katsis y su equipo de estudiantes de doctorado y máster han trabajado en el proyecto FORWARD, una plataforma de desarrollo rápido de aplicaciones analíticas que utiliza SQL++ para crear y actualizar de forma incremental vistas integradas de datos en múltiples bases de datos (SQL, NoSQL o ambas). FORWARD incluye un procesador de consultas middleware que utiliza SQL++ para emitir consultas distribuidas sobre diversas fuentes de datos, como SQL, NoSQL, NewSQL y SQL-on-Hadoop. La plataforma de visualización y desarrollo de aplicaciones basada en SQL++ del proyecto FORWARD se ha desplegado comercialmente. Más información sobre el proyecto FORWARD en http://forward.ucsd.edu/.
Contacto:
Doug Ramsey
858-822-5825
dramsey@ucsd.edu
Acerca de Couchbase
En Couchbase, creemos que los datos están en el corazón de la empresa. Ayudamos a desarrolladores y arquitectos a crear, desplegar y ejecutar sus aplicaciones más críticas. Couchbase ofrece una base de datos moderna de alto rendimiento, flexible y escalable que se ejecuta en el centro de datos y en cualquier nube. Muchas de las empresas más grandes del mundo confían en Couchbase para impulsar las aplicaciones centrales de las que dependen sus negocios. Para más información, visite www.couchbase.com.
Contacto para la prensa
James Kim
couchbasePR@couchbase.com
Comunicaciones de Couchbase