Ads 468x60px

quarta-feira, 3 de agosto de 2011

Uma nova linguagem de consultas para NoSQL

Os desenvolvedores dos sistemas livres de bases de dados CouchDB e SQLite apresentaram seu esforço conjunto para a especificação de uma nova linguagem de consulta (query language), chamada UnQL, que é similar ao SQL em vários aspectos, mas foi desenvolvida para trabalhar com bases de dados NoSQL orientadas a documentos.

O criador do CouchDB, Damien Katz, e o criados do SQLite, Richar Hipp, vem trabalhando no UnQL com o intuito de criar uma linguagem de consulta de alto nível para as bases de dados NoSQL orientadas a documentos. Katz afirma que a especificação "surgiu da nossa crença de que uma linguagem de consulta comum é necessária para guiar a adoção do NoSQL, da mesma maneira como o SQL guiou a adoção no mercado de banco de dados relacionais". Hipps, por sua vez, enfatizou que "a linguagem UnQL foi construída sobre nossa experiência com SQL, suplementando aquela linguagem com sintaxe e conceitos apropriados para formatos de dados desestruturados e auto-descritivos dos aplicativos pós-modernos."
A linguagem inclui os comandos SELECT, INSERT, UPDATE e DELETE, mas ao contrário de SQL, eles não trabalham com tabelas, mas com "coleções" de conjuntos desordenados de documentos. No UnQL, um documento é um objeto que pode ser descrito em JSON (JavaScript Object Notation). Números integrais simples, números de ponto flutuante e strings podem também ser documentos.
Ao contrário de bases de dados relacionais, uma coleção pode conter documentos diferentemente estruturados. Os comandos CREATE e DROP TABLE no SQL se tornam CREATE e DROP COLLECTION em UnQL. A cláusula WHERE de consultas se refere, na nova linguagem, às propriedades do documento que mapeia para os campos do objeto armazenado.
Por ser uma especificação em seus estágio iniciais de divulgação e adoção, sua documentação ainda é esparsa. A página do projeto não possui ainda nenhum exemplo de consulta, contudo há árvores de sintaxe. Katz promete que em breve uma atualização deve ser realizada no site com mais detalhes e exemplos. A especificação será colocada em domínio público assim que estiver completa.
Fonte: h-online, em inglês.

0 comentários: