segunda-feira, 28 de abril de 2014

Continuando a falar um pouco mais sobre o último Meet Up de MongoDB em São Paulo, o Matias Cascallare, engenheiro da MongoDB, fez uma apresentação com as principais mudanças para esta nova versão. Algumas delas:

  • Operations - make MongoDB easy to manage
  • Text Search - ready to use, integrated to the main engine
  • Query System improvements - faster, easier
  • Security - By far the most secure NoSQL database
  • MMS and Automation - MongoDB Management System



Novo protocolo de comunicação - Não existem mais a requisição ao servidor getLastError(w,j), funcionando agora diretamente com write(command) e a entrega do resultado direto pelo servidor;

Max time per query - Agora podemos especificar um argumento como "maxTimeMS(30000)" para controlar o tempo de duração da consulta. Se o tempo acabar (no caso do exemplo, 30 segundos) haverá um kill na operação e um erro será retornado. Esta nova feature também pode ser usada no aggregation framework. 

Building an Index - Na versão 2.4, quando um índice era criado em background no primário, ele era repassado aos replicas sets em foreground. Nesta atualização, se o índice for criado em BG, será replicado em BG.
Agora há também a intersecção de indexes. Se uma query pequisa dois campos com indexes distintos, a versão 2.6 faz a interseção dos dois indexes (se já estiverem criados, claro), sem a necessidade de criar mais um index.

Text Search integrado no comando find() e também integrado ao aggregation framework. Exemplo:

db.articles.find({"$text":{$search:"quickly"}})

O mais legal é que você pode atribuir um score aos documentos mais relevantes nesta busca, com o comando

 {"score": "$meta":{"your text"}}.limit(#relevantes)

Esta melhoria também traz suporte à pesquisa em linguagens diferentes (15 linguagens).

Query system improvements - Agora, o aggregation framework retorna um cursor agora e você pode exportar o resultado para uma nova collection com o operador "$out": "my_output_collection"; Há também o comando explain() no aggregation.

Novos operadores no Update - $mul - já funciona como um multiplicador direto no valor do documento, simplificando o update.

Essas foram algumas das principais melhorias. Para saber mais, consulte Release Notes for MongoDB 2.6

Um abraço e até o próximo post!

0 comentários:

Postar um comentário