Descrição geral
O livro «Sete bancos de dados em sete semanas» de Eric Redmond e Jim R. Wilson — é um guia prático sobre sistemas modernos de armazenamento de dados voltado para desenvolvedores que desejam ir além dos bancos de dados relacionais clássicos. Diferente dos manuais tradicionais de SQL, o livro apresenta ao leitor diversos tipos de soluções NoSQL e mostra como escolher o banco de dados adequado para tarefas específicas.
Os autores estruturam a narrativa em torno de sete sistemas diferentes, cada um representando uma abordagem distinta para o armazenamento e processamento de dados. Entre eles estão o banco de dados relacional PostgreSQL, os armazenamentos chave-valor Redis e Riak, os bancos de dados orientados a documentos MongoDB e CouchDB, o banco de dados colunar HBase e o banco de dados de grafos Neo4j. Essa seleção permite abranger um amplo espectro de arquiteturas e conceitos.
O livro segue um formato de aprendizado intensivo: cada banco de dados é estudado ao longo de uma «semana» virtual por meio de exemplos práticos. São abordadas operações básicas (CRUD), criação de índices, particularidades das consultas, questões de escalonamento, replicação e consistência dos dados. Atenção especial é dada às diferenças entre os sistemas e seu lugar dentro do teorema CAP, o que ajuda a compreender as contrapartidas na escolha da tecnologia.
O principal valor do livro está em sua abordagem comparativa. Ele não se aprofunda excessivamente nos detalhes de cada banco de dados específico, mas oferece uma visão integral de como está estruturado o mundo moderno do armazenamento de dados e quais ferramentas estão disponíveis para o desenvolvedor. Isso o torna um excelente ponto de partida para um estudo mais aprofundado de tecnologias específicas.
Opinião
Diferente do livro anterior, o título deste fala por si só. É claro que não prolonguei a leitura por sete semanas, mas a concluí em cerca de um mês com algumas pequenas pausas. O livro trata de sete bancos de dados completamente diferentes: um relacional (Postgres), dois armazenamentos chave-valor (Riak, Redis), um banco de dados colunar (HBase), dois orientados a documentos (MongoDB, CouchDB) e um de grafos (Neo4j). Metade deles era totalmente nova para mim, então, em alguns momentos, a informação custava a ser retida e, em outros, chegava a se confundir bastante.
No geral, o livro é muito útil e serve bem para uma introdução superficial a um ou outro banco de dados. Para cada banco, são abordados temas como sintaxe e comandos para operações CRUD, construção de índices (quando possível), replicação, transações (novamente, nos bancos que as suportam), interfaces e métodos de acesso ao banco de dados, seu lugar no teorema CAP e muito mais.