Encontre milhões de e-books, audiobooks e muito mais com um período de teste gratuito

Apenas $11.99/mês após o término do seu período de teste gratuito. Cancele a qualquer momento.

Dominando O Mongodb 7.0
Dominando O Mongodb 7.0
Dominando O Mongodb 7.0
E-book1.126 páginas7 horas

Dominando O Mongodb 7.0

Nota: 0 de 5 estrelas

()

Ler a amostra

Sobre este e-book

Obtenha experiência em MongoDB e descubra consultas avançadas e insights do Atlas com este guia definitivo para a versão 7.0 Características principais: Melhore sua proficiência em consultas avançadas, agregação e indexação otimizada para atingir o desempenho máximo do MongoDB Monitore, faça backup e integre aplicativos sem esforço com o MongoDB Atlas Implementar segurança completa RBAC, auditoria e criptografia para garantir proteção e privacidade abrangentes de dados Descrição do livro: Mastering MongoDB 7.0 explora a versão mais recente do MongoDB, uma solução de banco de dados NoSQL excepcional que se alinha às necessidades dos aplicativos web modernos. Este livro começa com uma visão geral informativa da arquitetura e das ferramentas de desenvolvedor do MongoDB, guiando você pelo processo de conexão perfeita com bancos de dados. Este livro do MongoDB explora detalhadamente consultas avançadas, incluindo pipelines de agregação e transações ACID de vários documentos. Ele investiga os recursos da plataforma de dados para desenvolvedores MongoDB Atlas e os recursos mais recentes, como o Atlas Vector Search, e sua função em aplicativos de IA, permitindo que os desenvolvedores criem aplicativos com a escalabilidade e o desempenho que as organizações atuais precisam. Ele também cobre a criação de funcionalidade de pesquisa resiliente usando MongoDB Atlas Search. Dominar a cobertura profunda de técnicas avançadas do MongoDB 7.0 abrange tudo, desde controle de acesso baseado em função (RBAC) até gerenciamento de usuários, práticas de auditoria e criptografia em camadas de dados, rede e armazenamento. Ao final deste livro, você terá desenvolvido as habilidades necessárias para criar aplicativos eficientes, seguros e de alto desempenho usando o MongoDB. Você terá confiança para realizar consultas complexas, integrar aplicativos robustos e garantir a segurança dos dados para superar os desafios modernos de dados. O que você aprenderá: Execute consultas avançadas do MongoDB para obter insights de dados complexos Aproveite o poder dos pipelines de agregação para transformar dados Garanta a integridade dos dados com transações ACID de vários documentos Otimize o desempenho da consulta usando técnicas estratégicas de indexação Navegue perfeitamente no MongoDB Atlas para monitoramento e backups Habilite uma funcionalidade de pesquisa robusta com Atlas Search Domine RBAC, gerenciamento de usuários e criptografia de dados para segurança Implementar práticas de auditoria para transparência e prestação de contas Para quem é este livro: Este livro é para desenvolvedores com nível de habilidade intermediário que desejam se tornar especialistas em MongoDB. Recomenda-se conhecimento prático do MongoDB para obter o máximo deste guia. Ideal para administradores de banco de dados, desenvolvedores de aplicativos e engenheiros de software, este livro irá ajudá-lo a desenvolver habilidades avançadas para realizar tarefas complexas de dados.
IdiomaPortuguês
Data de lançamento26 de fev. de 2024
Dominando O Mongodb 7.0

Leia mais títulos de Jideon F Marques

Relacionado a Dominando O Mongodb 7.0

Ebooks relacionados

Aplicativos e Software para você

Visualizar mais

Artigos relacionados

Avaliações de Dominando O Mongodb 7.0

Nota: 0 de 5 estrelas
0 notas

0 avaliação0 avaliação

O que você achou?

Toque para dar uma nota

A avaliação deve ter pelo menos 10 palavras

    Pré-visualização do livro

    Dominando O Mongodb 7.0 - Jideon F Marques

    Dominando o MongoDB 7.0

    Dominando o MongoDB 7.0

    Alcance a excelência em dados liberando todo o

    potencial do MongoDB

    POR: Jideon Marques

    Direitos autorais © 2024 Jideon Marques. Todos os direitos reservados.

    Licença de direitos autorais

    O conteúdo contido neste livro não pode ser reproduzido, duplicado ou transmitido sem permissão direta por escrito do autor ou do editor.

    Sob nenhuma circunstância qualquer culpa ou responsabilidade legal será responsabilizada contra o editor, ou autor, por quaisquer danos, reparações ou perdas monetárias devido às informações contidas neste livro, seja direta ou indiretamente.

    Notícia legal:

    Este livro é protegido por direitos autorais. É apenas para uso pessoal. Você não pode alterar, distribuir, vender, usar, citar ou parafrasear qualquer parte ou o conteúdo deste livro sem o consentimento do autor ou editor.

    Aviso de isenção de responsabilidade:

    Observe que as informações contidas neste documento são apenas para fins educacionais e de entretenimento. Todos os esforços foram realizados para apresentar informações precisas, atualizadas, confiáveis e completas. Nenhuma garantia de qualquer tipo é declarada ou implícita. Os leitores reconhecem que o autor não está envolvido na prestação de aconselhamento jurídico, financeiro, médico ou profissional. O conteúdo deste livro foi derivado de diversas fontes. Consulte um profissional licenciado antes de tentar qualquer técnica descrita neste livro.

    Ao ler este documento, o leitor concorda que sob nenhuma circunstância o autor é responsável por quaisquer perdas, diretas ou indiretas, que sejam incorridas como resultado do uso das informações contidas neste documento, incluindo, mas não limitado a, erros, omissões ou imprecisões.

    • Índice

    Prefácio

    Capítulo 1: Introdução ao MongoDB

    o Quem usa o MongoDB?

    o Por que os desenvolvedores amam o MongoDB?

    o Eficiência da complexidade inerente aos bancos de dados MongoDB

    Como isso é possível?

    o Resumo

    Capítulo 2: A Arquitetura MongoDB

    o Replicação vs fragmentação

    o Replicação

    Eleições de conjunto de réplicas

    Oplog do conjunto de réplicas

    Arquiteturas de implantação de conjunto de réplicas

    Escreva preocupação

    Preferência de leitura

    Leia a preocupação

    Métodos de replicação

    o Fragmentação

    Por que você precisa de fragmentação?

    Elementos-chave de um cluster fragmentado

    Microfragmentação

    Vantagens da fragmentação

    Distribuição de dados

    Pedaços

    Administração de pedaços

    Consultando dados fragmentados

    Métodos de fragmentação

    o Novos recursos de cluster fragmentado no MongoDB 7.0

    Comandos do consultor de chave de fragmento

    Fusão automática

    Suporte de comando sem chaves de fragmento

    o Resumo

    Capítulo 3: Ferramentas para Desenvolvedores

    o Requerimentos técnicos

    o Introdução às ferramentas do desenvolvedor

    Categorias de ferramentas de desenvolvedor

    o Shell do MongoDB

    Instalação

    Conectando-se a uma implantação do MongoDB usando mongosh

    mongosh vs shell legado

    Principais recursos do mongosh

    Casos de uso para mongosh

    Melhores práticas para usar o mongosh

    o CLI do MongoDB

    Instalação

    Configuração

    Trabalhando com a CLI do MongoDB

    autenticação mongocli

    Principais recursos da CLI do MongoDB

    Casos de uso para CLI do MongoDB

    Melhores práticas para CLI do MongoDB

    o Bússola MongoDB

    Instalação

    Configuração

    Explore dados visualmente usando o Compass

    Principais recursos do MongoDB Compass

    Casos de uso do MongoDB Compass

    Melhores práticas para MongoDB Compass

    o MongoDB para código VS

    Instalação

    Explore dados usando o Playground

    Use o Terraform para criar um cluster Atlas

    Características principais

    Casos de uso da extensão MongoDB para VS Code

    Melhores práticas para a extensão MongoDB para VS Code

    o Resumo

    Capítulo 4: Conectando-se ao MongoDB

    o Métodos de conexão

    Conectando usando Ruby

    Conectando-se usando Python

    Conectando usando PHP

    Conectando-se usando Node.js

    Conectando usando TypeScript

    o Resumo

    Capítulo 5: Operações CRUD e consultas básicas

    o Requerimentos técnicos

    o Operações CRUD do MongoDB

    CRUD usando mongosh

    Script para mongosh

    Inserções em lote usando mongosh

    Operações em lote usando mongosh

    o CRUD usando o driver Ruby

    Conectando-se a um banco de dados

    Criando documentos

    Lendo dados

    Encadeamento de operações em find()

    Operações aninhadas

    Operações em lote

    ODM mongóide

    o CRUD usando o driver Python

    Inserindo documentos

    Encontrando documentos

    Atualizando documentos

    Excluindo documentos

    o Expressões regulares

    o Administração

    currentOp() e killOp()

    colMod

    o Acesso seguro ao MongoDB

    Autenticação e autorização

    o API estável do MongoDB

    o Resumo

    Capítulo 6: Projeto de Esquema e Modelagem de Dados

    o Design de esquema para bancos de dados relacionais

    Formas normais

    o Design de esquema para MongoDB

    o Modelagem de dados no MongoDB

    Estrutura do documento

    Dados incorporados

    Referências

    Desnormalização

    BSON e seus tipos de dados

    o Considerações de design e práticas recomendadas para modelagem

    MongoDB

    Proporção leitura-gravação

    o Padrões de design e design de esquema

    o Resumo

    Capítulo 7: Consultas avançadas no MongoDB

    o Introdução à estrutura de agregação

    o Benefícios da agregação no MongoDB

    o Estágios de agregação

    o Técnicas de consulta

    Operadores lógicos e de comparação

    Consulta e manipulação de array

    Técnicas de projeção de campo array

    o Índices e otimização de consultas

    Benefícios do uso de índices

    Tipos de índice

    o Recursos geoespaciais no MongoDB

    Objetos GeoJSON

    Índices geoespaciais

    Operadores geoespaciais

    o Resumo

    Capítulo 8: Agregação

    o Requerimentos técnicos

    o Estrutura de agregação MongoDB

    Modularidade e composição

    Estágios

    Expressões de agregação

    o Operadores básicos de agregação

    Operadores bit a bit em agregação

    Operadores de expressão de matriz

    Os operadores de array power: $map e $reduce

    Outros tipos de agregações

    o Melhores Práticas

    Modularidade de código

    Otimização de consulta

    Estágios de streaming e bloqueio de um pipeline

    Considerações sobre cluster fragmentado

    o Resumo

    Capítulo 9: Transações ACID multidocumentos

    o Por que as transações são úteis?

    o Propriedades ÁCIDA

    Atomicidade

    Consistência

    Isolamento

    Durabilidade

    o Implementação do ACID no MongoDB

    Ler e escrever preocupações em transações

    Limitações de transação

    o Melhores Práticas

    o Resumo

    Capítulo 10: Otimização do Índice

    o Introdução aos índices

    Criando um índice

    o Tipos de índice

    Índices de campo único e indexação de documentos incorporados

    Índices compostos

    Índices multichave

    Consultas cobertas

    Índice hash

    Índices de texto

    Índices de pesquisa do Atlas

    Índices TTL

    Índices parciais

    Índices geoespaciais

    Índices curinga

    Índices ocultos

    Índices curinga compostos

    o Melhores práticas para otimização de índice

    o Resumo

    Capítulo 11: MongoDB Atlas: potencializando o futuro das plataformas de dados

    para desenvolvedores

    o Compreendendo o MongoDB Atlas como um banco de dados como serviço

    Banco de dados hospedado

    Seguro por padrão

    Monitoramento e alertas

    Fazer backup, restaurar e arquivar

    Automação

    o Plataforma de dados para desenvolvedores Atlas

    o Atlas Vector Search e seu papel em aplicações de IA

    O que envolve a pesquisa vetorial?

    O que é a Pesquisa vetorial do Atlas?

    Pesquisa semântica e vetores

    Incorporações KNN, ANN e vetoriais

    Como usar a Pesquisa vetorial do Atlas

    Pesquisa Atlas

    o Serviços de aplicativos Atlas

    O que são os serviços de aplicativos Atlas?

    Características principais

    Como usar os serviços de aplicativos Atlas

    o API de dados Atlas

    Segurança e autorização

    Casos de uso

    Como usar a API de dados Atlas

    o Lago de dados do Atlas

    Armazenamento e otimização de dados

    Como usar o Atlas Data Lake

    o Federação de Dados Atlas

    Processamento de dados

    Características principais

    Como usar a Federação de Dados Atlas

    o Processamento do Atlas Stream (visualização)

    Mecanismo operacional

    Características principais

    Configurando um processador de stream

    o Interface SQL do Atlas

    Como usar a interface SQL do Atlas

    o Gráficos do Atlas MongoDB

    Como usar gráficos Atlas

    o Integrações operacionais: o operador Atlas Kubernetes

    O que é o operador Atlas Kubernetes?

    Como usar o operador Atlas Kubernetes

    o CLI do Atlas

    Como usar a CLI do Atlas

    Capacidades do Atlas CLI

    o Resumo

    Capítulo 12: Monitoramento e Backup no MongoDB

    o Monitoramento no MongoDB

    Monitorando clusters

    Por que monitorar no MongoDB?

    o O que você deve monitorar?

    Falha de página

    Memória residente

    Memória virtual e mapeada

    Conjunto de trabalho

    Rastreie o espaço livre em disco

    Monitorando a replicação

    Tamanho do registro

    Monitoramento de rede

    Cursores e conexões

    Métricas do documento

    o Monitorando o uso de memória no WiredTiger

    o Rastreando falhas de página

    Rastreando erros de árvore B

    E/S espere

    Ler e gravar filas

    o Cálculos do conjunto de trabalho

    Por que o conjunto de trabalho é crucial?

    Estime o tamanho do conjunto de trabalho

    Importância dos índices no conjunto de trabalho

    o Visão geral das ferramentas de relatórios do MongoDB

    Serviços de utilidade pública

    Comandos

    o Visão geral das ferramentas de monitoramento hospedadas

    Backups de cluster

    o Métodos de backup do MongoDB

    Soluções de backup baseadas em nuvem

    Soluções de backup locais

    Usando snapshots do sistema de arquivos para backups do MongoDB

    Requisitos de consistência

    Backups usando mongodump

    Fazendo backup com cp ou rsync

    Backup e restauração no EC2

    Backup com filas

    Backups incrementais

    o Erros e armadilhas comuns no monitoramento e backup do MongoDB

    o Resumo

    Capítulo 13: Introdução à Pesquisa Atlas

    o Pesquisa do Atlas MongoDB

    Visão geral dos recursos

    Requisitos de versão para recursos do Atlas Search

    Arquitetura da Pesquisa Atlas

    o Visão geral técnica dos índices do Atlas Search

    Criação e gerenciamento de índices

    Consultas de pesquisa do Atlas

    Operadores e coletores de consulta do Atlas Search

    Execução de consulta no Atlas Search

    Pontuação de relevância no Atlas Search

    Nós de pesquisa do Atlas

    Gerenciamento de índice do Atlas Search

    Análise de consulta de pesquisa

    Solução de erros do Atlas Search

    o Apache Lucene

    Fundação de Software Apache

    Pesquisa Atlas e integração com Apache Lucene

    o Resumo

    Capítulo 14: Integrando Aplicativos com MongoDB

    o Requerimentos técnicos

    o Integrando aplicações no MongoDB

    o O operador MongoDB Kubernetes

    Instalação

    Implante e configure o MongoDB usando o operador Kubernetes

    O Operador Atlas Kubernetes

    O operador corporativo do Kubernetes

    o Integrando Terraform com MongoDB

    Instalação

    Configurando um cluster MongoDB no Atlas usando Terraform

    o Usando Vercel com MongoDB

    Construindo uma aplicação web com Vercel e MongoDB

    Configurando MongoDB Atlas com Vercel

    Desconectando a integração Vercel

    o Integrando Datadog com MongoDB

    Configurando o Datadog

    Integrando MongoDB Atlas com Datadog

    o Integrando Prometheus com MongoDB

    Configurando o Prometheus

    Integrando MongoDB Atlas com Prometheus

    o Integrando webhooks com MongoDB

    Configurando webhooks com MongoDB

    Integrando o MongoDB com aplicativos de alerta

    Integrações Atlas para webhooks

    Integração com equipes Microsoft

    o Integração PagerDuty

    Integração lenta

    Integração Splunk On-Call

    Integração do Opsgenie

    Integrando MongoDB com Confluent

    Integrando MongoDB com Postman

    o Resumo

    Capítulo 15: Segurança

    o Métodos de autenticação

    SCRAM

    x.509

    LDAP

    Cérbero

    o Controle de acesso baseado em função (RBAC)

    Conhecer recursos, ações e funções

    Hierarquia de papéis

    Gerenciando funções

    Restrições de acesso

    o Resumo

    Capítulo 16: Auditoria

    o Auditoria e registro no MongoDB

    o Tipos de eventos auditáveis

    o Habilitar auditoria no MongoDB

    Filtros de auditoria

    Habilitar auditoria no MongoDB Atlas

    Visualizar e baixar logs do MongoDB

    o Estudo de caso: O papel da auditoria na conformidade

    o Solucionar problemas de auditoria no MongoDB

    Como identificar e resolver problemas de auditoria usando MongoDB

    Ferramentas para análise de registros de auditoria do MongoDB

    o Resumo

    Capítulo 17: Criptografia

    o Tipos de criptografia

    Certificados

    o Criptografia em trânsito

    Como funciona

    Configurar TLS para MongoDB

    o Criptografia em repouso

    Criptografia em repouso no MongoDB

    Configure a criptografia em repouso para MongoDB

    o Criptografia do lado do cliente

    Quando o CSFLE é usado

    Como funciona

    Configurar o MongoDB

    Restrições e considerações

    Criptografia Consultável

    o Resumo

    Índice

    Quarta edição

    domínio

    MongoDB 7.0

    Alcance a excelência em dados desbloqueando

    todo o potencial do MongoDB

    domínio

    MongoDB 7.0

    Alcance a excelência em dados desbloqueando todos os recursos

    potencial do MongoDB

    Marko Aleksendrić

    Arek Borucki

    Leandro Domingues

    Malak Abu Hammad

    Elie Hannouch

    Rajesh Nair

    Raquel Palmer

    BIRMINGHAM-MUMBAI

    eu

    Dominando o MongoDB 7.0

    Dominando o MongoDB 7.0

    Quarta edição

    Direitos autorais © 2024 Packt Publishing

    Todos os direitos reservados. Nenhuma parte deste livro pode ser reproduzida, armazenada em um sistema de recuperação ou transmitida de qualquer forma ou por

    qualquer meio, sem a permissão prévia por escrito do editor, exceto no caso de breves citações incorporadas em artigos críticos ou resenhas.

    Todos os esforços foram feitos na preparação deste livro para garantir a precisão das informações apresentadas. Contudo, as informações contidas neste livro são vendidas sem garantia, expressa ou implícita. Nem o(s) autor(es), nem a Packt Publishing ou seus revendedores e distribuidores serão responsabilizados por quaisquer danos causados ou supostamente causados direta ou indiretamente por este livro.

    A Packt Publishing tem se esforçado para fornecer informações de marcas registradas sobre todas as empresas e produtos mencionados neste livro através do uso apropriado de letras maiúsculas. No entanto, a Packt Publishing não pode garantir a exatidão desta informação.

    Editor de aquisição: Sathya Mohan

    Editor líder de desenvolvimento: Siddhant Jain

    Editores de Desenvolvimento: Afzal Shaikh e Rhea Gangavkar Editores de desenvolvimento de conteúdo: Asma Khan e Saba Umme Salma Editor de cópia: Edição Safis

    Coordenador do Projeto: Yash Basil

    Revisor: Edição Safis

    Designer de Produção: Deepak Chavan

    Referência de produção: 1040124

    Publicado por Packt Publishing Ltd.

    Grosvenor House, 11 St Paul's Square, Birmingham, B3 1RB, Reino Unido.

    ISBN 978-1-83546-047-4

    www.packtpub.com

    Dominando o MongoDB 7.0

    iii

    Colaboradores

    Sobre os autores

    Marko Aleksendrićé analista, ex-cientista e desenvolvedor web freelancer autodidata com mais de 20 anos de experiência. Marko é o autor do livro Modern Web Development with the FARM Stack, publicado pela Packt Publishing. Com grande interesse em desenvolvimento backend e frontend, ele é um usuário ávido do MongoDB nos últimos 15

    anos em vários projetos relacionados à web e à análise de dados, tendo Python e JavaScript como suas principais ferramentas.

    Arek Borucki, um reconhecido campeão do MongoDB e administrador de banco de dados certificado, trabalha com a tecnologia MongoDB desde 2016. Como principal engenheiro de banco de dados SRE, ele trabalha em estreita colaboração com tecnologias como MongoDB, Elasticsearch, PostgreSQL, Kafka, Kubernetes, Terraform, AWS e GCP. Sua vasta experiência inclui trabalhar com empresas renomadas como Amadeus, Deutsche Bank, IBM, Nokia e Beamery. Arek também é administrador e desenvolvedor certificado de Kubernetes, palestrante ativo em conferências internacionais e coautor de perguntas para o MongoDB

    Exame DBA Associado.

    Leandro Dominguesé campeão da comunidade MongoDB e MVP da plataforma de dados Microsoft

    ex-aluno. Especializado em bancos de dados NoSQL, com foco em MongoDB, é autor de diversos artigos e também é palestrante e organizador de eventos e conferências. Além de lecionar MongoDB, foi professor em uma das maiores universidades do Brasil. Leandro é apaixonado por MongoDB e é mentor e inspiração para muitos desenvolvedores e administradores. Seus esforços tornam o MongoDB uma ferramenta mais compreensível para todos.

    Malak Abu Hammadé gerente de engenharia de software experiente na Chain Reaction, com uma década de experiência em MongoDB. Ela conquistou um nicho não apenas no MongoDB, mas também em tecnologias essenciais de aplicativos da web. Além de conduzir vários workshops online e offline, Malak é um campeão do MongoDB e membro fundador da comunidade árabe do MongoDB. Sua visão para o MongoDB é um futuro com ênfase na localização em árabe, com o objetivo de preencher a lacuna entre a tecnologia e os dialetos regionais.

    4

    Dominando o MongoDB 7.0

    Elie Hannouché engenheiro de software sênior e especialista em transformação digital.

    Uma força motriz na indústria de tecnologia, ele tem um histórico comprovado de fornecimento de soluções robustas, escaláveis e impactantes. Como fundador de uma start-up, Elie combina a sua extensa experiência em engenharia com inovação estratégica para redefinir a forma como as empresas operam na era digital de hoje. Além de ser um campeão do MongoDB, Elie lidera as comunidades MongoDB, Google e CNCF no Líbano e

    trabalha para capacitar aspirantes a profissionais de tecnologia, desmistificando conceitos complexos e inspirando uma nova geração de entusiastas da tecnologia.

    Rajesh Nairé um profissional de software de Kerala, Índia, com mais de 12 anos de experiência trabalhando em diversas multinacionais. Ele iniciou sua carreira como administrador de banco de dados para diversas tecnologias RDBMS, incluindo Progress OpenEdge e MySQL. Rajesh também gerenciou enormes conjuntos de dados para aplicativos críticos executados no MongoDB como administrador do MongoDB por vários anos. Ele trabalhou em tecnologias como MongoDB, AWS, Java, Kafka, MySQL, Progress OpenEdge, shell script e administração Linux.

    Rajesh atualmente mora em Amsterdã, Holanda, trabalhando como engenheiro de software sênior.

    Raquel Palmeré o líder de produto para experiência de banco de dados de desenvolvedores e educação de desenvolvedores no MongoDB, supervisionando as bibliotecas de cliente do driver, documentação, integrações de estrutura e a Universidade MongoDB. Ela construiu aplicativos de exemplo para MongoDB em Java, PHP, Rust, Python, Node.js e Ruby. Rachelle ingressou no MongoDB em 2013 e anteriormente foi diretora da equipe de engenharia de serviços técnicos, criando e gerenciando a equipe que fornecia suporte e CloudOps ao MongoDB Atlas.

    Sobre os revisores

    Alex Bevilacquaé um defensor de padrões abertos, bem como um desenvolvedor de código aberto apaixonado e entusiasmado com mais de 10 anos de experiência. Ele é especialista em Ruby, Python, C#, Flash, Flex, JavaScript e outros. Ele é o autor de várias extensões e plug-ins do Redmine, sendo dois dos mais populares o Redmine Knowledgebase e o Redmine Dropbox Attachments. Atualmente, ele trabalha para uma empresa líder de marketing digital em Toronto, onde lida com iniciativas de automação de processos, coleta de dados e agregação.

    Nicholas Cottrellusou o MongoDB como camada de dados para dezenas de projetos de desenvolvimento de software desde o MongoDB 2.0, muito antes de ingressar na empresa como engenheiro consultor em 2017. Ele agora ajuda os engenheiros de serviços técnicos a aprender sobre todos os aspectos do MongoDB para oferecer suporte a uma gama cada vez maior de clientes. casos de uso. Ele possui dupla cidadania australiana e sueca e mora na Normandia, França.

    Dominando o MongoDB 7.0

    v

    Kenneth PJ Dyeré redator técnico sênior da equipe de documentação de servidor do MongoDB. Ele ingressou no MongoDB em 2021 e tem 12 anos de experiência na documentação de diversos sistemas de gerenciamento de conteúdo e banco de dados e

    produtos relacionados. Com formação em escrita criativa e filologia, ele é apaixonado por linguagem, literatura e tecnologias que facilitam o desenvolvimento nessas áreas.

    Ele mora em Austin, Texas.

    Raiz de Corryé redator técnico sênior no MongoDB com mais de 15 anos de experiência.

    Ela possui um MS

    em Fatores Humanos em Design de Informação e é apaixonado por design inovador e colaboração.

    Corry é especialista em documentação técnica para a equipe de nuvem do MongoDB. Ela cobre produtos como MongoDB Atlas CLI, adotando a abordagem Docs as Code. Ela acredita em testar a documentação para facilitar o uso. Corry mora em Princeton, Massachusetts, com sua família, e se envolve ativamente na comunidade local como presidente do Conselho Cultural de Princeton. Ela também gosta de aulas de jazz e balé, sua paixão desde criança.

    John Williamsingressou no MongoDB em 2019 e co-lidera a equipe de documentação da nuvem. Sua equipe documenta o MongoDB Atlas e outras ferramentas empresariais. Ele tem mais de uma década de experiência escrevendo documentos para desenvolvedores.

    Kailie Yuané redator técnico da equipe Cloud Enterprise e possui muito conhecimento sobre drivers MongoDB, Atlas Search e MongoDB Atlas Charts. Ao longo de seu tempo na empresa, ela trabalhou em vários recursos e se esforçou constantemente para oferecer uma ótima experiência aos usuários.

    Kailie adora educar outras pessoas e gostaria de ver mais pessoas exercendo funções na área de tecnologia.

    Ela deseja ajudar mais pessoas a entender melhor o campo da tecnologia, e é por isso que ela conseguiu um segundo emprego para lecionar em sua alma mater.

    Nota do autor

    Quando entrei no MongoDB, nossa equipe de engenharia de nuvem era incipiente, nossa equipe de engenharia de servidores cabia em uma única sala e havia apenas quatro gerentes de programa em toda a empresa. Na altura, lembro-me de ter pensado se ingressar numa start-up, mesmo que fosse bem financiada e com uma grande ideia, seria a coisa certa a fazer. Agora, depois de trabalhar com o MongoDB por quase 10 anos, ajudei-nos a crescer de uma grande ideia para um negócio de bilhões de dólares.

    Era uma manhã muito fria de dezembro de 2013 quando entrei no MongoDB; Eu não sabia o que esperar. Eu certamente não poderia ter previsto os recursos que construiríamos, o IPO que eventualmente aconteceria, ou que um dia no futuro, meu trabalho seria definir a experiência do MongoDB para vocês – os desenvolvedores ao redor do mundo.

    Tornar os bancos de dados mais claros e fáceis de usar para os desenvolvedores é uma necessidade e algo que estou constantemente quebrando a cabeça. E embora haja muitas coisas que diferenciam o MongoDB de outros bancos de dados, sempre nos concentramos na base de nossa singularidade: tornar mais fácil para você trabalhar com dados. Tudo que considero tedioso em trabalhar com dados, me esforço para tornar mais simples e acessível no MongoDB.

    Esse é o objetivo. Essa é a missão. Essa é a estratégia.

    Neste livro, você aprenderá tudo sobre o MongoDB: os principais recursos, os casos de uso, as melhores práticas e as novas funcionalidades que adicionamos no MongoDB 7.0. Você aprenderá dicas e truques com alguns dos campeões da comunidade e engenheiros mais ilustres. Como este é o nosso primeiro livro como empresa, queríamos torná-lo não apenas tecnicamente preciso, mas também emocionante!

    Percebi que a melhor forma de aprender é explorando e transpondo a teoria para a prática.

    Observe o código e vá além dele; acesse os exemplos do GitHub, clone-os e crie seus próprios aplicativos práticos. Você pode criar uma conta no MongoDB Atlas e hospedar um aplicativo de produção no nível gratuito.

    Ao final deste livro, você terá as habilidades necessárias para criar um aplicativo que seja executado em grande escala.

    Obrigado por ler e por usar o MongoDB.

    Raquel Palmer

    Diretor, Gerenciamento de Produto

    MongoDB, Inc.

    Prefácio

    Mastering MongoDB 7.0 é um guia técnico para desenvolvedores e profissionais de banco de dados que desejam implementar funcionalidades avançadas e dominar operações complexas de banco de dados no MongoDB. Explorar a versão mais recente do MongoDB

    ajuda a adquirir as habilidades necessárias para criar aplicativos eficientes, seguros e de alto desempenho usando o MongoDB.

    Este livro é uma excelente coleção de exemplos do mundo real, insights práticos e dicas valiosas. É um guia abrangente para capacitar os desenvolvedores com as habilidades necessárias para lidar com os desafios do gerenciamento moderno de dados, integração de aplicativos e segurança.

    Como este livro irá ajudá-lo?

    Este livro fornece exemplos práticos que ajudarão você a se tornar proficiente na criação de aplicativos eficientes, seguros e de alto desempenho usando o MongoDB. Você ganhará confiança para realizar consultas complexas, integrar aplicativos robustos e garantir a segurança dos dados para superar os desafios modernos de dados.

    Para quem é este livro?

    Este livro é para desenvolvedores com nível de habilidade intermediário, que desejam se tornar especialistas em MongoDB.

    Este livro não é para iniciantes. Recomenda-se conhecimento prático do MongoDB para aproveitar ao máximo este guia. Ideal para administradores de banco de dados, desenvolvedores de aplicativos e engenheiros de software, este livro irá ajudá-lo a desenvolver habilidades avançadas para realizar tarefas complexas de dados.

    O que este livro cobre?

    Capítulo 1, Introdução ao MongoDB, fornece uma introdução rápida ao MongoDB, a plataforma de dados de desenvolvedor mais versátil do mundo, através das lentes dos criadores. Este capítulo despertará sua curiosidade em explorar o MongoDB e todos os seus novos recursos.

    Capítulo 2, A Arquitetura MongoDB, mostra como aumentar a confiabilidade e a disponibilidade de seus aplicativos implementando vários métodos no MongoDB, usando replicação e fragmentação. Ele também aborda os novos recursos de cluster fragmentado introduzidos no MongoDB 7.0.

    Capítulo 3,Ferramentas de desenvolvedor explora diferentes ferramentas de desenvolvedor MongoDB e mostra como usá-las para aumentar sua produtividade.

    Capítulo 4, Conectando-se ao MongoDB, apresenta as facetas multilíngues do MongoDB, fornecendo um passo a passo dos métodos de driver direto, bibliotecas ODM e integração do MongoDB em Ruby, PHP, Python e Node.js.

    xx

    Prefácio

    Capítulo 5,Operações CRUD e consultas básicas, demonstra operações CRUD e consultas básicas em ação. Ele fornece exemplos práticos de uso do MongoDB Shell para operações de administração de banco de dados.

    Capítulo 6, Schema Design and Data Modeling, aborda princípios e técnicas de design de esquema do MongoDB para representação eficaz de dados — que são essenciais para otimizar o desempenho e a escalabilidade.

    Capítulo 7, Advanced Querying in MongoDB, oferece uma exploração mais profunda dos recursos do MongoDB, incluindo a estrutura de agregação, técnicas de indexação e otimização.

    Capítulo 8,Aggregation, aprofunda-se na estrutura de agregação e explora inúmeras etapas e operadores de expressão adequados para os mais diversos problemas.

    Capítulo 9,Transações ACID de vários documentos, mostra como o MongoDB lida com ACID

    de vários documentos

    transações e qual o significado deste conceito em setores com requisitos rigorosos, como finanças, fintech e aplicações de missão crítica.

    Capítulo 10, Index Optimization, discute e mostra como o MongoDB suporta uma infinidade de índices—

    de índices de campo único a índices compostos, de geoespaciais a hash e parciais, bem como alguns tipos de indexação recentemente introduzidos.

    Capítulo 11,MongoDB Atlas: Powering the Future of Developer Data Platforms, fornece um passo a passo detalhado do MongoDB Atlas – o serviço de banco de dados em nuvem mais avançado do mercado.

    Capítulo 12, Monitoramento e Backup no MongoDB, concentra-se nos aspectos essenciais do monitoramento da integridade e do desempenho do sistema, juntamente com estratégias e ferramentas para backup e recuperação de dados eficazes.

    Capítulo 13, Introdução ao Atlas Search, compartilha insights sobre os recursos integrados ao MongoDB

    Atlas. Ele mostra como usar funcionalidades sofisticadas de pesquisa para seus dados.

    Capítulo 14, Integrando aplicativos com o MongoDB, aprofunda os vários métodos de integração de aplicativos com o MongoDB — tanto as versões nativas quanto as de nuvem do MongoDB Atlas.

    Capítulo 15,Segurança, discute o papel crítico da segurança no MongoDB, investigando métodos robustos de autenticação e autorização, como SCRAM, x.509, LDAP e Kerberos.

    Capítulo 16, Auditoria, fornece uma visão aprofundada dos recursos, benefícios e desafios da auditoria no MongoDB, com compreensão e diretrizes práticas para sua implementação eficaz.

    Capítulo 17,Criptografia, resume os diferentes tipos de criptografia e mostra a implementação prática de cada tipo em seu banco de dados.

    Para aproveitar ao máximo este livro

    xxi

    Para aproveitar ao máximo este livro

    Você precisará do seguinte software:

    Software/hardware

    Operativo

    Recursos para etapas de instalação

    abordado no livro

    requisitos de sistema

    MongoDB versão 4.4 Windows, macOS ou Linux

    https://www.mongodb.com/docs/

    ou mais recente

    manual/instalação/

    MongoDB

    Windows, macOS ou Linux

    https://www.mongodb.com/docs/

    Pesquisa Atlas

    atlas/primeiros passos/

    Shell do MongoDB

    Windows, macOS ou Linux

    https://www.mongodb.com/docs/

    manual/administração/

    comunidade de instalação/

    Bússola MongoDB

    Windows, macOS ou Linux

    https://www.mongodb.com/docs/

    bússola/atual/instalar/

    Depois de ler este livro, encorajamos você a conferir alguns dos outros recursos disponíveis em https://www.mongodb.com/developer ou https://learn.mongodb.com/.

    Se você estiver usando a versão digital deste livro, aconselhamos que você mesmo digite o código ou acesse o código no repositório GitHub do livro (um link está disponível na próxima seção). Isso o ajudará a evitar possíveis erros relacionados à cópia e colagem do código.

    Baixe os arquivos de código de exemplo

    Você pode baixar os arquivos de código de exemplo deste livro no GitHub

    ahttps://github.com/

    PacktPublishing/Mastering-MongoDB-7.0. Se houver uma atualização no código, ela será atualizada no repositório GitHub.

    Também temos outros pacotes de códigos do nosso rico catálogo de livros e vídeos disponíveis emhttps://

    github.com/PacktPublishing/. Cdane-se eles!

    XXII

    Prefácio

    Convenções usadas

    Há uma série de convenções de texto usadas ao longo deste livro.

    Código no texto: indica palavras de código no texto, nomes de coleções de bancos de dados, nomes de pastas, nomes de arquivos, extensões de arquivos, nomes de caminhos, URLs fictícios, entrada do usuário e identificadores do Twitter. Aqui está um exemplo: A gem mongoid pode ser adicionada ao seu aplicativo modificando o Gemfile.

    Um bloco de código é definido da seguinte forma:

    classe Forma

    incluir Mongoid::Documento

    campo: x, tipo: inteiro

    campo: y, tipo: Inteiro incorporado_in: tela

    fim

    1

    Introdução ao MongoDB

    MongoDB, o banco de dados de documentos mais popular, é um NoSQL, armazenamento de valores-chave não relacional, um JSON

    banco de dados e muito mais. É uma plataforma de dados de desenvolvedor robusta e rica em recursos, com vários recursos integrados necessários para aplicativos modernos, como aprendizado de máquina e recursos de IA, streaming, funções, gatilhos, sem servidor, sincronização de dispositivos e pesquisa de texto completo.

    Quem usa o MongoDB?

    Há 10 anos, o uso do MongoDB era um tanto específico. Era um banco de dados jovem com recursos atraentes para desenvolvedores como você. Agora, em 2023, o MongoDB é usado por uma infinidade de setores variados e seus casos de uso abrangem todos os tipos de situações e tipos de dados armazenados. Alguns dos maiores bancos, montadoras, agências governamentais e empresas de jogos do mundo usam o MongoDB para suas aplicações de produção. Os usuários mais famosos do MongoDB são Coinbase, Epic Games, Morgan Stanley, Adobe, Tesla, Canva, Ulta Beauty, Cathay Pacific, Dongwha e Vodafone.

    A plataforma MongoDB Atlas tem milhões de usuários, todos os quais confiam que seus dados serão gerenciados de forma segura e eficaz na nuvem. Essa popularidade elevou o MongoDB a grandes alturas, não apenas em termos de seu crescimento e valor como empresa, mas também em termos de sua participação bruta no desenvolvimento. Em 2023, um em cada quatro desenvolvedores usava extensivamente o MongoDB na produção. Essa proporção é muito maior em outras comunidades de desenvolvedores, como Go e JavaScript (aproximadamente 40%).

    2

    Introdução ao MongoDB

    Por que os desenvolvedores amam o MongoDB?

    Juntamente com sua versatilidade e recursos robustos, o MongoDB é a escolha preferida por vários motivos, como:

    • Flexibilidade e sem esquemas: Ao contrário dos bancos de dados relacionais tradicionais, o MongoDB permite armazenar e recuperar dados sem esquemas rígidos ou estruturas predefinidas. Essa flexibilidade é particularmente útil quando os dados evoluem ao longo do tempo ou quando você está lidando com dados não estruturados ou semiestruturados.

    • Escalabilidade e desempenho: o MongoDB é altamente escalável e tem um desempenho excepcionalmente bom, tornando-o adequado tanto para aplicações de grande escala

    quanto para projetos pessoais. MongoDB Atlas fornece um nível gratuito para sempre para projetos paralelos.

    • Linguagem de consulta avançada: o MongoDB oferece uma linguagem de consulta poderosa e recursos de indexação, simplificando operações comuns como findOne e updateOne.

    • Formato de dados amigável ao desenvolvedor: os dados no MongoDB se assemelham muito aos objetos das linguagens de programação populares, reduzindo a complexidade do mapeamento de dados e agilizando o desenvolvimento.

    • Simplicidade e início rápido: a simplicidade e a configuração descomplicada do MongoDB

    facilitam sua adaptação.

    Não há processos de vendas complexos ou problemas de licenciamento envolvidos.

    O que atrai a maioria dos desenvolvedores é a simplicidade de trabalhar diariamente com o MongoDB, em particular, a experiência perfeita de criação, atualização e interação com dados. Por exemplo, considere um desenvolvedor Python tentando inserir um documento, consultar esse documento e receber um conjunto de resultados usando o seguinte código: de pymongo importar MongoClient

    #Conecte-se ao MongoDB

    cliente = MongoClient('mongodb://localhost:27017/')

    db = client['mydatabase'] # Especifique o nome do banco de dados

    coleção = db['mycollection'] # Especifique o nome da coleção

    # Cria um documento a ser inserido

    documento = {

    'nome': 'Jane Doe',

    'idade': 30,

    'e-mail': ' janedoe@example.com '

    }

    # Insira o documento na coleção

    resultado = coleção.insert_one(documento)

    Por que os desenvolvedores amam o MongoDB?

    3

    # Verifica se a inserção foi bem sucedida

    se resultado.reconhecido:

    print('Documento inserido com sucesso.')

    print('ID do documento inserido:', result.inserted_id)

    outro:

    print('Falha ao inserir documento.')

    Observe que o desenvolvedor cria um dicionário representando o documento a ser inserido. Nesse caso, contém nome, idade e detalhes de e-mail. O desenvolvedor não precisa criar um ID para o documento, pois o MongoDB cria automaticamente um identificador exclusivo em cada documento.

    Para recuperar este documento, você pode filtrar a consulta usando qualquer campo do documento individualmente ou em combinação. Vamos ver isso em ação: de pymongo importar MongoClient

    #Conecte-se ao MongoDB

    cliente = MongoClient('mongodb://localhost:27017/')

    db = client['mydatabase'] # Especifique o nome do banco de dados

    coleção = db['mycollection'] # Especifique o nome da coleção

    # Recuperar documentos com base em condições específicas

    consulta = {

    'idade': {'$gte': 29}, # Recupera documentos onde a idade é maior ou igual a 29

    }

    documentos = coleção.find(consulta)

    # Iterar sobre os documentos recuperados

    para documento em documentos:

    imprimir (documento)

    Bem simples! O exemplo anterior demonstra como você pode usar um operador de consulta MongoDB como $gte (maior ou igual a) para filtrar sua consulta. Mas a verdadeira magia acontece quando o documento é devolvido. Quando o MongoDB retornar um documento, ele será representado como um dicionário Python. Cada campo no documento é um par de valores-chave dentro do dicionário, semelhante ao exemplo a seguir:

    {

    '_id': ObjectId('60f5c4c4543b5a2c7c4c73a2'),

    'nome': 'Jane Doe',

    'idade': 30,

    'e-mail': ' janedoe@example.com '

    }

    4

    Introdução ao MongoDB

    O MongoDB possui um conjunto de bibliotecas de idiomas e drivers que atuam como uma camada de tradução entre o cliente e o servidor, interceptando cada operação e traduzindo-a para a linguagem de consulta do MongoDB. Com isso, você pode interagir com os dados usando sua linguagem de programação nativa de forma puramente idiomática.

    Juntamente com outras ofertas da plataforma de dados para desenvolvedores MongoDB

    Atlas, ela realmente abstrai as dificuldades de trabalhar com um banco de dados e, em vez disso, permite que você interaja com os dados puramente por meio de seu código e IDE.

    Isso é infinitamente preferível ao usar um shell de banco de dados separado, uma interface de usuário de banco de dados e outras ferramentas específicas de banco de dados. Como o MongoDB Atlas oferece um banco de dados MongoDB totalmente gerenciado, você pode configurar e registrar por meio de uma interface de linha de comando.

    Em sua essência, a missão do MongoDB é ser um banco de dados poderoso para desenvolvedores, e seus recursos estão sintonizados com as comunidades de linguagens de programação e integrações de estrutura, e não com ferramentas de administração de banco de dados. Isso ficará mais aparente nos capítulos subsequentes, onde você aprenderá mais sobre o MongoDB Atlas, o Atlas Vector Search, a pesquisa de texto completo e recursos como agregação — tudo sob a ótica de um desenvolvedor.

    Ao final deste livro, você aprenderá como essas ferramentas podem ser eficazes e tornar o gerenciamento de banco de dados mais simples!

    Eficiência da complexidade inerente de

    Bancos de dados MongoDB

    A parte mais interessante do banco de dados moderno é entender sua arquitetura e por que foi construído dessa maneira. Fundamentalmente, o MongoDB é um sistema distribuído. O próprio servidor de banco de dados foi originalmente construído com a expectativa de que a maioria dos usuários o executaria com uma configuração padrão –

    conjunto de réplicas, às vezes também chamado de cluster. Ao explorar essa arquitetura

    Está gostando da amostra?
    Página 1 de 1