Qual é a linguagem de consulta no DocumentDB (no Azure)?

O DocumentDB é uma base de dados de código aberto, orientada a documentos, que utiliza a Linguagem de Consulta MongoDB (MQL) para consultar e manipular dados. O MQL fornece uma sintaxe rica e expressiva para trabalhar com documentos semelhantes a JSON armazenados em formato Binary JSON (BSON). Esta linguagem foi concebida para funcionar naturalmente com estruturas hierárquicas de documentos, suportando tanto consultas simples como agregações complexas. Como uma linguagem de consulta amplamente adotada no ecossistema de bases de dados de documentos, o MQL permite aos programadores aplicar o seu conhecimento existente sobre MongoDB enquanto trabalham com o motor de armazenamento escalável e flexível do DocumentDB.

Modelo

No DocumentDB, o MQL é construído em torno do modelo de documentos, onde os dados são armazenados como coleções de documentos em vez de linhas em tabelas. As consultas são expressas usando uma sintaxe declarativa com operadores que começam com o sinal do dólar ($), como $match, $project, e $group. Esta abordagem permite aos programadores filtrar, transformar e agregar dados através de um pipeline de operações que podem ser compostas e reutilizadas.

A linguagem suporta nativamente documentos aninhados e arrays, permitindo aos programadores trabalhar diretamente com estruturas de dados complexas e hierárquicas sem necessidade de joins ou normalização. O MQL fornece um conjunto abrangente de operadores para comparação, operações lógicas, manipulação de arrays e agregação. O motor de consultas do DocumentDB utiliza índices para executar consultas de forma eficiente em grandes conjuntos de dados, tornando-o adequado tanto para cargas de trabalho operacionais como analíticas.

Compatibility

A filosofia de compatibilidade do DocumentDB centra-se em fornecer suporte abrangente para a Linguagem de Consultas MongoDB (MQL), mantendo ao mesmo tempo a flexibilidade para evoluir com o ecossistema da base de dados documental. O sistema avalia a compatibilidade medindo o suporte entre categorias-chave de operadores, incluindo estágios de agregação, operadores de agregação, operadores de consulta e projeção, e operadores de atualização. Esta compatibilidade garante que pode aplicar a sua experiência existente em MongoDB e migrar aplicações com o mínimo de atrito, já que a maioria dos construtos MQL padrão funciona de forma fluida e sem modificações.

Ao construir aplicações com DocumentDB, beneficia de uma compatibilidade transparente que elimina a necessidade de tradução de consultas ou adaptação de código. Pode usar diretamente os drivers clientes MongoDB e kits de desenvolvimento de software (SDKs) existentes, pois o DocumentDB implementa o protocolo de fio MongoDB. As suas operações CRUD típicas, pipelines de agregação e estratégias de índice transferem-se diretamente de sistemas baseados em MongoDB, permitindo-lhe focar-se na lógica de aplicação em vez de adaptações específicas da base de dados. Enquanto o DocumentDB expande continuamente a sua cobertura de operadores, a base estável garante que as suas aplicações permanecem portáteis e manuteníveis.