NoSQL Como armazenar os dados de uma aplicação moderna
David PanizConteúdo
Ao começar um novo projeto, surgem questões importantes sobre quais linguagens de programação serão usadas, os principais frameworks e como será a arquitetura. Nessa tomada de decisões, a escolha por um banco de dados relacional costuma ser praticamente unânime. Porém, com o aumento das exigências de um banco de dados com alto volume de armazenamento e leitura, surgiu o movimento NoSQL – Não apenas SQL, ressaltando a importância de se questionar qual a melhor ferramenta para a sua necessidade, que pode ser um banco relacional ou não.
Neste livro, David Paniz apresenta bancos não relacionais, tratando de suas vantagens e desvantagens, para você poder escolher qual a melhor opção para o seu contexto. Ao longo da leitura, você vai desenvolver um exemplo real para aprender na prática a utilização dos bancos de dados NoSQL, aplicando soluções mais elegantes e práticas, e muitas vezes mais performáticas e escaláveis, que abrirão seu leque de opções ao montar seu projeto.
Sumário
Parte 1 — Nome da parte
- 1 Introdução
- 1.1 O problema do relacional
- 1.2 Tipos de bancos de dados não relacionais
- 1.3 O problema na vida real
- 2 Começando com NoSQL
- 2.1 Conhecendo o MongoDB
- 2.2 Instalando o MongoDB
- 2.3 Criando nosso primeiro documento
- 2.4 Inserindo documentos no MongoDB
- 2.5 Buscando documentos no MongoDB
- 2.6 Removendo documentos no MongoDB
- 2.7 Alterando documentos no MongoDB
- 3 Mais sobre bancos orientados a documentos
- 3.1 Criando relacionamentos
- 3.2 Listando álbuns e o problema "n+1 query"
- 3.3 Trabalhando com documentos embutidos
- 3.4 Desnormalizando os dados
- 4 Consistência versus disponibilidade e os bancos chave valor
- 4.1 CAP Theorem
- 4.2 O modelo chave/valor e o Riak
- 4.3 Instalando o Riak
- 4.4 Manipulando objetos
- 4.5 O problema das escritas concorrentes
- 4.6 Outros tipos de dados do Riak
- 5 Mais sobre bancos chave valor e persistência poliglota
- 5.1 Consistência x consistência eventual
- 5.2 MongoDB, Riak ou outro banco?
- 5.3 Armazenando playlists
- 6 Implementando playlists em um banco colunar
- 6.1 Instalando o Cassandra
- 6.2 Criando tabelas no Cassandra
- 6.3 Manipulando registros no Cassandra
- 6.4 Buscando dados no Cassandra
- 6.5 Armazenando as playlists
- 6.6 Migrando o modelo de versionamento para um banco colunar
- 7 Mais sobre bancos Colunares
- 7.1 Como o Cassandra armazena os dados internamente
- 7.2 Adicionando tags às listas
- 7.3 Usando tipos especiais do Cassandra
- 7.4 Relacionando artistas
- 8 Relacionamentos complexos com bancos orientados a grafos
- 8.1 Instalando o Neo4j
- 8.2 Criando nosso primeiro nó no Neo4j
- 8.3 Criando relacionamentos
- 8.4 Fazendo buscas no Neo4j
- 8.5 Explorando mais opções com o MATCH
- 8.6 Apagando e editando nós e relacionamentos
- 9 Mais sobre bancos orientados a grafos
- 9.1 Importando dados para o Neo4j
- 9.2 Mais sobre o MATCH
- 9.3 Queries complexas
- 10 Tudo junto e um pouco mais
- 10.1 O conselho final
- 10.2 Outras ferramentas relacionadas
- 11 Referências bibliográficas
Autor
David Paniz
David Paniz é desenvolvedor de software desde 2005. Já passou por diversos tipos de empresas e projetos, grandes consultorias (prestando serviço para bancos e para BM&F), até pequenas empresas, incluindo times de desenvolvimento notáveis como o da Caelum, e das startups Baby e Nubank. Ao longo de sua carreira, trabalhou com várias linguagens e plataformas, em especial Java, Ruby e atualmente Clojure, na maior parte do tempo com foco no desenvolvimento back-end e nas práticas ágeis. Além de manter seu blog pessoal (http://www.davidpaniz.com/), já palestrou em importantes eventos nacionais, como Agile Brazil, Oxente Rails e QCon.
Dados do produto
- Número de páginas:
- 195
- ISBN:
- 978-85-5519-192-3
- Data publicação:
- 07/2016. Atualizado em 10/2020