MongoDB Construa novas aplicações com novas tecnologias
Fernando BoaglioAtualização
A terceira edição deste livro foi totalmente reescrita e muitas melhorias foram acrescentadas ao conteúdo:
- Suporte à transação da versão 4;
- Gerenciamento de conta gratuita na nuvem MongoDB Atlas;
- Exemplos com a ferramenta MongoDB Compass;
- Capítulo de índices com mais detalhes e exemplos;
- Procedimentos para upgrade de versão;
- Python com MongoDB;
- Otimizações de carga com WriteConcern;
- Novidades com novos tipos de índices;
- Criando scripts JavaScript client e server-side;
- Sharding com docker-compose;
- Transações com exemplos de lock;
- Dicas para o processo upgrade de versão.
Prefácio
Por que construir aplicações novas com tecnologia antiga? É impressionante como aprendemos o que bancos de dados relacionais são e não são. E não há nada que possa ser feito sobre isso.
Sua aplicação pode usar a mais nova tecnologia existente, mas quando for persistir os dados, necessitará do banco de dados relacional, usando a mesma tecnologia dos anos setenta. Existe espaço para todos e, com certeza, em vários casos os bancos de dados NoSQL, como o MongoDB, se sobressaem em relação aos tradicionais bancos relacionais.
Público-alvo
Este livro foi feito para quem trabalha com desenvolvimento de sistemas que usam bancos de dados relacionais e procuram alternativas melhores. Também foi escrito para os interessados em aprender sobre o MongoDB, que é o mais famoso e mais usado banco de dados NoSQL, para explicar por que as grandes empresas estão investindo terabytes nessa tecnologia.
No site do MongoDB, temos uma excelente documentação que, no entanto, apenas explica como o comando funciona e não faz nenhuma comparação com o SQL, que todo desenvolvedor conhece. Aqui, caro leitor, cara leitora, você sempre encontrará um comparativo com o SQL relacional que vai facilitar muito o funcionamento e as vantagens do MongoDB.
Quickstart — a primeira parte do livro
Para rapidamente configurar o seu ambiente e disponibilizar o seu banco de dados MongoDB modelado corretamente para a sua aplicação, não será preciso ler todos os capítulos, apenas os cinco primeiros.
Melhorando seu banco de dados — a segunda parte do livro
Os capítulos restantes complementam com a parte de migração de outro banco de dados para o MongoDB, performance, administração, comandos avançados de busca e utilização de particionamento e cluster.
Apêndices — instalação, upgrade e FAQ
Foram criados dois apêndices focados em instalação: o apêndice A, para instalação do banco de dados do MongoDB; e o apêndice B, para a ferramentas cliente MongoDB Compass e Robo 3T (antigo Robomongo).
Existe também um terceiro apêndice, com as perguntas e respostas mais frequentes sobre o MongoDB, como, por exemplo, se ele suporta transações, ou quais as grandes empresas que o usam. O quarto apêndice orienta a migrar o seu banco de dados de uma versão mais antiga do MongoDB.
Código-fonte
O código-fonte deste livro está disponível no endereço https://github.com/boaglio/mongodb-casadocodigo.
Sumário
- 1 Por que criar aplicações novas com conceitos antigos?
- 1.1 O sistema na maneira tradicional
- 1.2 Próximos passos
- 2 JSON veio para ficar
- 2.1 Próximos passos
- 3 MongoDB básico
- 3.1 Conceitos
- 3.2 Acessando o MongoDB
- 3.3 Exemplo da Mega-Sena
- 3.4 Buscar registros
- 3.5 Adicionar registros
- 3.6 Atualizar registros
- 3.7 Remover registros
- 3.8 Criar e remover collections
- 3.9 Alterando uma coluna de uma collection
- 3.10 Validação dos dados
- 3.11 Melhorando as buscas
- 3.12 Capped Collection
- 3.13 Próximos passos
- 4 Schema design
- 4.1 Relacionando uma collection para muitas
- 4.2 Relacionando muitas collections para muitas
- 4.3 Tudo em uma collection
- 4.4 Schema design na prática
- 4.5 Sistema Meus filmes relacional
- 4.6 Sistema Meus filmes no MongoDB
- 4.7 Próximos passos
- 5 Conversando com MongoDB
- 5.1 O sistema de seriados
- 5.2 Seriados em PHP
- 5.3 Java
- 5.4 Play Framework
- 5.5 Ruby on Rails
- 5.6 Node.js
- 5.7 Qt
- 5.8 Python
- 5.9 Próximos passos
- 6 Migrando o seu banco de dados
- 6.1 IMDB simplificado
- 6.2 Migrando de um banco de dados relacional
- 6.3 Migrando para nuvem
- 6.4 Próximos passos
- 7 Buscas avançadas
- 7.1 Operadores de comparação
- 7.2 Operador distinct
- 7.3 Expressões regulares
- 7.4 Operadores lógicos
- 7.5 Operadores unários
- 7.6 Operador estilo LIKE
- 7.7 Incrementando valores
- 7.8 Próximos passos
- 8 Busca geoespacial
- 8.1 O banco de dados
- 8.2 Usando o sistema web
- 8.3 Entendendo o sistema web
- 8.4 Próximos passos
- 9 Aggregation framework
- 9.1 Por que não usar Map Reduce
- 9.2 Explorando o aggregation framework
- 9.3 MongoDB Compass com aggregate
- 9.4 Próximos passos
- 10 Aumentando a performance
- 10.1 Criar um índice
- 10.2 Listar os índices criados
- 10.3 Remover um índice criado
- 10.4 Índice Unique
- 10.5 Índice TTL
- 10.6 Indice com Partial Indexes
- 10.7 Índice textual
- 10.8 Criar índice em background
- 10.9 Próximos passos
- 11 MongoDB para administradores
- 11.1 Tipos de storage
- 11.2 Gerenciando Scripts
- 11.3 Gerenciando espaço em disco
- 11.4 Funções JavaScript no servidor
- 11.5 Ajuste de performance
- 11.6 Autenticação
- 11.7 Programas externos
- 11.8 Backup
- 11.9 Restore
- 11.10 Exibir operações rodando
- 11.11 Próximos passos
- 12 MongoDB em cluster
- 12.1 Alta disponibilidade
- 12.2 Testando dois replica sets
- 12.3 Particionamento
- 12.4 Próximos passos
- 13 Transações
- 13.1 Lock de registros
- 14 Continue seus estudos
- 15 Apêndice A — Instalando MongoDB
- 16 Apêndice B — Robo 3T
- 17 Apêndice C — Perguntas e respostas
- 18 Apêndice D — Upgrades
- 18.1 Da versão 3.x para MongoDB 4.x
- 18.2 Da versão 2.6 para MongoDB 3.x
Dados do produto
- Número de páginas:
- 244
- ISBN:
- 978-85-5519-043-8
- Data publicação:
- 01/2015. Atualizado em 11/2020.