Ciência da Computação (UFPE) • Especialização em Ciência de Dados e Analytics (UPE) • 6 anos de desenvolvimento com Python e Django • Desenvolvedor Full-Stack na Vinta Software github.com/arineto arineto.github.io
NoSQL? ◦ Por que NoSQL? ◦ Tipos de bancos NoSQL • MongoDB ◦ O que é MongoDB? ◦ O Documento ◦ Conceitos (RDBMS vs MongoDB) ◦ Por que MongoDB? • PyMongo ◦ CRUD + Join • Outras libs
para definir uma classe de bancos de dados que fornecem um mecanismo de armazenamento e recuperação de dados que são modelados de formas diferentes das relações tabulares dos bancos de dados relacionais.
dados • Mudanças constantes na estrutura dos dados • Diversas fontes de dados (Estruturados, Semi-estruturados e não estruturados) • Performance • Escalabilidade Por que NoSQL?
dados semi-estruturados como documentos, geralmente no formato JSON. • Colunares: Otimizados para leitura e escrita de colunas de dados ao invés de linhas; • Chave-Valor: Armazenamento de dados indexados a uma chave, também conhecimento com tabelas hash distribuídas; • Grafos: Armazenamento em formato de grafos, com vértices e arestas direcionadas.
de integração com aplicações • Consultas calculadas em tempo de execução, indexação e agregação em tempo real • Banco de dados distribuído • Grátis e Open Source
inserido • writeConcern (opcional): Documento descrevendo as regras de escrita • ordered (opcional): Booleano indicando se a inserção deve ser ordenada
para o Join • localField: especifica o campo da coleção local • foreignField: especifica o campo na coleção estrangeira MongoDB blog post about join and lookup