Combina a flexibilidade do JSON com o poder do SQL
Em um passo importante para a adoção mais ampla de dados orientados a documentos e do formato de dados JavaScript Object Notation (JSON), o professor de ciência da computação e engenharia da Universidade da Califórnia em San Diego, Yannis Papakonstantinou, e a Couchbase Inc., anunciaram hoje sua colaboração em uma linguagem de consulta de última geração para big data. Seu trabalho reúne todo o poder do SQL com a flexibilidade do JSON.
Visão comum: SQL + JSON
Antes da colaboração, tanto o Couchbase quanto o Prof. Papakonstantinou concluíram, de forma independente, que as abordagens existentes não forneciam uma solução completa e eficiente para a consulta de dados semiestruturados. Ambos compartilhavam uma visão comum de combinar SQL, a principal linguagem de consulta de banco de dados, com JSON, o principal formato para modelagem de dados semiestruturados em aplicativos modernos. Ambas lançaram trabalhos nessa direção, e a decisão de colaborar se baseia nessa visão comum.
A Couchbase financiará a pesquisa contínua na UC San Diego para promover o desenvolvimento do SQL++, uma linguagem declarativa formalmente definida e compatível com SQL para dados semiestruturados, desenvolvida pela equipe de Papakonstantinou no Grupo de Banco de Dados da UC San Diego. O Couchbase também continuará a aprimorar o N1QL, a linguagem de consulta da empresa que estende o SQL para JSON e é consistente com as especificações definidas pelo SQL++.
O SQL++ é fácil de aprender, especialmente para os desenvolvedores que estão familiarizados com a sintaxe do SQL. Mas, diferentemente de um banco de dados relacional, em que todos os dados devem se encaixar perfeitamente em tabelas, o JSON é um formato leve de intercâmbio de dados que é fácil de ser lido e escrito por humanos e gerado e analisado por máquinas.
Conforme detalhado em um relatório técnico recente* do UC San Diego Database Group, os cocriadores do SQL++, Papakonstantinou, bem como o pesquisador e ex-aluno do CSE Kian Win Ong (PhD '12), especificam a sintaxe e a semântica do SQL++, que é muito mais limpo e introduz apenas um pequeno número de extensões de linguagem de consulta ao SQL. "Os recursos do SQL são, na maioria das vezes, ampliados com a remoção de restrições semânticas do SQL, em vez de inventar novos recursos", disse Papakonstantinou. "Isso permite que o SQL++ evite extensões desnecessárias sobre o SQL." A facilidade de uso também é aprimorada porque a semântica do SQL++ tende a ser significativamente mais curta do que nas linguagens de consulta anteriores.
SQL++ e N1QL
Depois de analisar 11 linguagens de consulta, Papakonstantinou concluiu que nenhuma oferecia uma consulta completa de dados semiestruturados. Financiado pela National Science Foundation (NSF) e pela Informatica como o projeto FORWARD da UCSD, ele e sua equipe desenvolveram e lançaram a especificação SQL++. Ao mesmo tempo, a Couchbase desenvolveu independentemente o N1QL para fornecer uma linguagem de consulta abrangente, combinando o poder de consulta do SQL com a flexibilidade dos dados JSON.
"As empresas começaram a solicitar consultas declarativas em bancos de dados semiestruturados. Com o SQL++, você tem uma linguagem de consulta declarativa que consulta JSON e é compatível com SQL", disse Papakonstantinou. "Essa é uma linguagem de consulta para a nova era de Big Data, pois opera em dados semiestruturados, mas é totalmente declarativa e compatível com SQL. Ela oferece a você o melhor dos dois mundos. O Couchbase N1QL está alinhado com as especificações do SQL++ e com os requisitos de consulta de dados semiestruturados."
"Estamos muito satisfeitos em trabalhar com o professor Papakonstantinou e sua equipe de pesquisa porque eles compartilham nossa visão de que uma linguagem de consulta declarativa para JSON deve ser baseada em SQL", disse Gerald Sangudi, arquiteto-chefe de engenharia de consultas da Couchbase. "O SQL++ também traz rigor e integridade que são benéficos para nossos usuários."
De fato, a Couchbase e a UCSD estabeleceram formalmente que o N1QL é um dialeto do SQL++. O mapeamento formal do N1QL para o SQL++ está sendo publicado separadamente.
Outros para participar da colaboração
Além do Couchbase, a UCSD também convidará outros parceiros acadêmicos e do setor para participar de uma colaboração de linguagem de consulta, a fim de beneficiar os usuários e facilitar a adoção de bancos de dados semiestruturados e NoSQL. O AsterixDB * da UC Irvine, liderado pelo professor Mike Carey, já é compatível com a maior parte do SQL++ e está a caminho de ser compatível com o SQL++ completo. A colaboração já forneceu feedback importante sobre o design da linguagem.
*Kian Win Ong, Yannis Papakonstantinou, Romain Vernoux, A linguagem de consulta SQL++: Configurável, unificadora e semiestruturada, Relatório Técnico 2015, Department of Computer Science and Engineering, University of California, San Diego, 29 de abril de 2015. http://arxiv.org/pdf/1405.3631v7.pdf
Sobre o UC San Diego Database Group
O Database Group está localizado no departamento de Ciência da Computação e Engenharia da UC San Diego e é liderado pelo professor de CSE Yannis Papakonstantinou, um dos principais especialistas em bancos de dados e tecnologias de gerenciamento de dados. Ele também é codiretor e faz parte do corpo docente do novo Mestrado Profissional de Estudos Avançados em Ciência e Engenharia de Dados da universidade, lançado no outono de 2014. Papakonstantinou também é empresário: em 2000, ele fundou a Enosys Software, que foi adquirida pela BEA Systems em 2003. A Enosys foi uma das primeiras empresas a apresentar um processador de consulta de dados semiestruturados, usando XML, que atualmente está sendo rapidamente substituído por JSON. Mais recentemente, Papakonstantinou, os pesquisadores Kian Win Ong e Yannis Katsis e sua equipe de alunos de pós-graduação de doutorado e mestrado trabalharam no projeto FORWARD, uma plataforma de desenvolvimento rápido para aplicativos de análise que usa SQL++ para criar e atualizar de forma incremental exibições integradas de dados em vários bancos de dados (SQL, NoSQL ou ambos). O FORWARD inclui um processador de consultas de middleware que usa o SQL++ para emitir consultas distribuídas em uma variedade de fontes de dados, incluindo SQL, NoSQL, NewSQL e SQL-on-Hadoop. A plataforma de visualização e desenvolvimento de aplicativos baseada em SQL++ do projeto FORWARD foi implantada comercialmente. Mais informações sobre o projeto FORWARD em http://forward.ucsd.edu/.
Contato:
Doug Ramsey
858-822-5825
dramsey@ucsd.edu
Sobre o Couchbase
Na Couchbase, acreditamos que os dados são o coração da empresa. Capacitamos os desenvolvedores e arquitetos a criar, implantar e executar seus aplicativos de missão crítica. O Couchbase oferece um banco de dados moderno de alto desempenho, flexível e dimensionável que é executado no data center e em qualquer nuvem. Muitas das maiores empresas do mundo confiam no Couchbase para alimentar os aplicativos principais dos quais seus negócios dependem. Para obter mais informações, visite www.couchbase.com.
Contato com a mídia
James Kim
couchbasePR@couchbase.com
Comunicações do Couchbase