Os bancos não relacionais precisam abrir mão de recursos como integridade referencial para ganhar flexibilidade e outras facilidades inexistentes no modelo relacional. Com isso, para manter a integridade dos dados, o controle costuma ser feito via aplicação, com validações e funções específicas para isso.
Com a versão 3.2 do MongoDB, novos recursos como validação de documentos, verificando se informações inseridas em documentos atendem a critérios pré-estabelecidos, como:
Se a chave (campo) existe; Se contém informação no formato certo (string, inteiro, data, bool, etc); Se está em um formato específico (via expressão regular); Se o elemento inserido faz parte de uma lista; Com isso é possível forçar uma melhor padronização dos documentos e tirando um pouco esse controle da aplicação.
[Saiba mais]
Suporte a Joins no MongoDB (operador $lookup)
Durante as minhas palestras sobre MongoDB, é muito comum a dúvida sobre joins — como fazer “relacionamento” em bancos não relacionais — e juntar informações de duas coleções diferentes.
É evidente que o modelo não relacional traz muita flexibilidade, para isso é necessário abrir mão de alguns recursos (como por exemplo integridade referencial) para ganhar outros recursos, como schema flexível. Até então era possível fazer algo semelhante a join via código, basta efetuar uma consulta simples e via código buscar a referência em outras coleções.
[Saiba mais]
Usando índice TTL para expirar documentos MongoDB automaticamente
MongoDB Estou há alguns meses sem postar nada aqui no blog, a correria tomou conta. Mas voltando à ativa e tirando as teias de aranha por aqui, vou começar postar pequenas dicas de bancos não relacionais, principalmente sobre o MongoDB que é o banco que mais tenho trabalhado ultimamente. Essas dicas servem tanto para mostrar funcionalidades legais como para minhas próprias referências futuras em consultorias e treinamentos que tenho realizado.
[Saiba mais]
Vou palestrar no FISL 16
Estou com duas palestras na grade do FISL deste ano. A primeira, com o título “MongoDB e NoSQL — tudo o que você precisa saber” será apresentada no primeiro dia (08/07) às 18h na sala 40T. A segunda palestra tem o título “Criando mapas com soluções livres“, será apresentada no sábado (dia 11) às 10h na sala 714. Atenção, acompanhe a grade de horários, mudanças podem acontecer. Abaixo um resumo do que será apresentado em cada palestra:
[Saiba mais]
Troca de template do blog
Depois de alguns anos com o mesmo template, resolvi trocar para outro mais moderno, priorizando o conteúdo dos posts. Ainda estou na plataforma WordPress, que tem me atendido bem desde 2005, ano em que escrevi o primeiro post nesse blog.
Pretendo voltar a escrever com frequencia, foco em NoSQL, big data e desenvolvimento. Já tenho uns 5 posts em rascunho, como o tão prometido tutorial de ArangoDB. Também estou internacionalizando esse blog, em breve postagens em inglês.
[Saiba mais]
Participe do Expotec 2015
Um ótimo evento sobre tecnologia está sendo organizado na cidade de João Pessoa, Paraíba. Será um evento de grandes proporções, com palestrantes conhecidos e que envolve não apenas tecnologia, mas também mídias alternativas e inclusão digital.
Entre alguns palestrantes, estão: Richard Stallman, da Free Software Foundation, Jon Maddog Hall, Demi Getschko, Eriberto Mota, Professor Pedro Rezende, Paulo Henrique Amorim, entre outros grandes nomes. Ah, esse que vos escreve também estará presente!
[Saiba mais]
MongoDB 3.0 – Grandes novidades
MongoDB Post atualizado em 03/03/2015
Passei os últimos dias estudando o MongoDB 3.0, participei de um webinar e conversas com outros colegas desenvolvedores sobre as novidades da versão 3.0, que neste momento, está em fase beta já está em sua versão final e liberado para download! (atualização 03/03/2015).
São muitas melhorias e novidades, começando pelo Pluggable Storage Engines, que permite adequar a infra do MongoDB para vários cenários de uso, aproveitando melhor os recursos de hardware.
[Saiba mais]
Desenvolvendo com AngularJS – Resenha do livro
O AngularJS é uma tecnologia de ponta para o desenvolvimento de aplicações web, seu foco é maior no frontend mas permite a integração com backend, APIs e banco de dados não relacionais como MongoDB.
Já fiz algumas aplicações internas em AngularJS, porém sua documentação é muito ruim. Confesso que fiquei perdido em diversos momentos e não sabia para onde correr, entrando naqueles momentos de tentativas de erros e acertos. Senti falta de um bom material, algo que mostrasse exemplos práticos e problemas da vida real, não apenas documentação de API como a documentação oficial.
[Saiba mais]
MongoDB 2.8 – WiredTiger – Compressão e performance
MongoDB A próxima versão estável do MongoDB, a 2.8, promete uma série de melhorias de performance e grande otimização de espaço em disco. Quem utiliza MongoDB sabe que o espaço em disco pode ser alto e vai aumentando a medida que novos documentos são inseridos e quando novos índices são criados
A implementação do WiredTiger, promete fazer essas melhorias, os gráficos abaixo e artigos já publicados mostram um grande avanço para economia de espaço em disco e também leitura dos dados.
[Saiba mais]
ArangoDB – O banco multiuso – Documento, Chave-Valor e Grafos
ArangoDB Como consultor NoSQL, recebo diversos desafios de meus clientes. Um deles foi definir — preferencialmente em uma única solução — o melhor modelo de persistência orientada a documentos e que tenha suporte a estrutura de grafos. Já conhecia alguns bancos multiuso, como OrientDB e ArangoDB, mas só havia realizados testes em meu laboratório com uma quantidade pequena de dados. Tanto OrientDB quanto o ArangoDB são muito bons, mas o ArangoDB foi a escolha mais adequada para os projetos em questão.
[Saiba mais]