Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyMongo - Trabalhando com Python e MongoDB

PyMongo - Trabalhando com Python e MongoDB

Palestra sobre como trabalhar com Python e MongoDB utilizando PyMongo na Python Brasil.

Arimatea Neto

August 23, 2018
Tweet

More Decks by Arimatea Neto

Other Decks in Technology

Transcript

  1. Quem sou eu? Arimatea Neto • Olinda • Graduação em

    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
  2. Agenda • Bancos de dados NoSQL ◦ O que significa

    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
  3. O que significa NoSQL? NoSQL é um termo genérico usado

    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.
  4. Resposta às demandas das aplicações modernas: • Grandes volumes de

    dados • Mudanças constantes na estrutura dos dados • Diversas fontes de dados (Estruturados, Semi-estruturados e não estruturados) • Performance • Escalabilidade Por que NoSQL?
  5. Tipos de bancos NoSQL • Documentos: São projetados para armazenar

    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.
  6. O que é MongoDB? MongoDB é um banco de dados

    NoSQL baseado em documentos (BSON) que foca em flexibilidade, escalabilidade, consultas e indexação.
  7. Por que MongoDB? • Armazenamento de dados flexível • Facilidade

    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
  8. Create • document: Documento ou lista de documentos a ser

    inserido • writeConcern (opcional): Documento descrevendo as regras de escrita • ordered (opcional): Booleano indicando se a inserção deve ser ordenada
  9. Update • query: Filtro para definir documentos a serem atualizados

    • upsert: Cria um novo documento se nenhum foi encontrado • multi: se True atualiza todos os documentos encontrados, se não apenas o primeiro
  10. Join (Lookup) • from: especifica a coleção do mesmo banco

    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