sexta-feira, 10 de abril de 2015

Análise do livro - Joe Celko's Complete Guide to NoSQL

Terminei de ler o livro "Joe Celko's Complete Guide to NoSQL" e deixo aqui minhas impressões…

Joe Celko é reconhecido no mundo relacional e faz muito tempo que quero ler um livro dele, então pensei: nada melhor que alguém que conhece bem os bancos de dados relacionais para falar de NoSQL, pois a visão seria mais crítica e realista, e não um devaneio achando que bancos de dados relacionais vão morrer até 2020 ou sei lá quando.

Infelizmente o livro deixa a desejar, principalmente se você está com expectativa bem alta, como era meu caso. Isso se deve ao fato do autor se perder em alguns capítulos, com conteúdo que não agrega ao assunto em questão, colocando exemplos e trechos de código que estão for a do objetivo, deixando outros capítulos bem superficiais.

E se você quer um livro onde vai ver alguns pequenos exemplos do uso do MongoDB, Hadoop, Cassandra, Neo4J, etc., para traçar paralelos, este NÃO é o seu livro. O autor em geral somente cita os produtos, sem mostrar exemplos de uso (ex.: programação ou administração), ou delinear prós e contras de cada um, o que deixa claro a proposta do livro em tratar os conceitos por detrás dos diferentes tipos de bancos de dados.

Pontos fortes:

  • O autor fala de outros modelos de bancos de dados que fogem as 4 tradicionais "categorias" de NoSQL (key-value store, column store, document store e graph).
  • Com a imensa bagagem do Celko ele conhece boa parte do histórico de diversos bancos de dados, o que nos ajuda a entender bem a evolução da tecnologia.
  • Muitas referências dos capítulos são fantásticas, oferecendo um bom guia para continuarmos aprofundando no assunto.
  • Para os temas em que aparentemente o autor tem mais intimidade, ele consegue ilustrar bem como é resolvido o problema no mundo relacional, comparando com outra abordagem.
    • O detalhamento de algumas questões sensíveis, como concorrência, níveis de isolamento e seus efeitos, são tratados com excelente detalhamento. 

Pontos fracos:

  • É comum você parar no meio de um capítulo e se questionar… por que isso está aqui? Bem fora de contexto e que poderia ser apenas uma referência para leitura. 
  • Também fica claro quais são os capítulos em que o autor tem mais experiência e gasta mais tempo, deixando o livro desigual.
    • Ex.: O capítulo "Hierarchical and network databases" é mais detalhado e extenso que o "map-reduce"
  • Não é um livro que mostra grandes exemplos de código NoSQL, mas sim trechos onde mostra como seria resolver com SQL tradicional.
    • Uma pequena curiosidade… a palavra JSON aparece 1 vez no livro. A palavra MongoDB somente em 4 parágrafos diferentes.
  • Provavelmente você espera ver mais detalhes de bancos colunares ou sobre map-reduce do que um capítulo sobre "Biometrics, Fingerprints, and Specialized Databases".

Então estou na dúvida se minha nota seria de duas ou três estrelas, então atribuo 2,5 estrelas (de 5!). Alguns capítulos são muito bons, já outros não valem a pena, pois são rasos até para um overview.

Aqui está o link para o livro na Amazon: http://www.amazon.com/Celkos-Complete-Guide-NoSQL-Non-Relational/dp/0124071929

Confesso que tenho na estante (ou no Kindle) outros livros do Joe Celko que ainda não li e, mesmo decepcionado com este livro, com certeza vou investir meu tempo para ler os outros, pois já tive ótimas referências.

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Um comentário: