Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Apache Cassandra Escalabilidade horizontal para aplicações Java

    Otávio Santana
    Livro de Apache Cassandra

    *Você terá acesso às futuras atualizações do livro.

    A nova era das aplicações vem com novos bancos de dados

    O mundo dos negócios cresce de maneira exponencial com várias oportunidades e empresas concorrendo entre si. A disputa entre clientes é algo que não se define mais pela localização da empresa, mas pela usualidade e, sobretudo, o tempo de resposta. Existem diversos estudos que explicam que melhorias de milissegundos são o suficiente para adquirir novos clientes, fidelizar os já existentes, além de desbancar a concorrência.

    Nessa batalha pelos milissegundos, nasceram diversos paradigmas e frameworks, porém, toda essa melhoria seria inútil se a persistência da informação continuasse lenta. Com a necessidade de uma melhor performance, surgiram os bancos de dados NoSQL para facilitar o desempenho e a distribuição da informação.

    Junto a esse conceito, nasceu o Apache Cassandra, o banco de dados NoSQL elástico, tolerante a falhas e com um alto grau de performance, tendo cases de sucessos nas maiores empresas do mundo, como o Netflix, GitHub, eBay, dentre outros. O Cassandra é um banco de dados não relacional originado pelo Facebook, e hoje é um banco de dados NoSQL do tipo família de coluna open source dentro da Apache Foundation.

    De uma maneira geral, o objetivo do livro é abordar o Cassandra, seus conceitos e sua aplicabilidade com o Java. Para cobrir todos esses conceitos, o livro foi desenhado no total de dez capítulos.

    O escopo do inicial é a introdução dos bancos de dados não relacionais. Serão abordados os desafios dos bancos de dados distribuídos, suas limitações com o teorema do CAP, o que é NoSQL e seus tipos, além da comparação entre o NoSQL e o já consolidado banco de dados relacional.

    Em seguida, abordaremos os conceitos do Cassandra, como a sua hierarquia, leitura e escrita, seu funcionamento no nó e sua orquestração dentro de um Cluster. Veremos sua instalação manual, Docker e Cluster com docker-compose.

    A realização de consultas é muito comum dentro de um banco de dados. No mundo relacional o desenvolvedor está familiarizado com o SQL. O Cassandra tem a sua própria linguagem de consulta: o Cassandra Query Language ou CQL. Você vai aprender como criar keyspace, família de coluna, realizar as operações CRUD (criação, recuperação, atualização e deleção dos dados) que os desenvolvedores tanto amam.

    Existem diversas similaridades entre a linguagem da comunicação do Cassandra, o CQL, e o SQL. Vale lembrar que conceitualmente o banco relacional e o Cassandra estão em diferentes espectros, levando em consideração o teorema do CAP. Realizar a modelagem do Cassandra da mesma maneira que se realiza dentro do banco relacional terá um alto impacto de performance.

    Após todos os conceitos de comunicação do Cassandra e dicas de modelagem, o próximo passo é a integração com o Java. Dentro disso, o primeiro ponto a ser exibido é o Driver do DataStax, cuja API é similar ao driver JDBC. Um ponto importante é que uma vez o desenvolvedor tenha familiaridade com o CQL toda a comunicação acontece de maneira bastante fluida.

    No dia a dia, os negócios se comportam com orientação a objetos, de modo que também é importante que nos debrucemos sobre os impactos dos Mappers, frameworks cujo objetivo é realizar o mapeamento entre o Cassandra e os objetos de uma entidade de negócio, seja de maneira positiva, com a produtividade, ou de maneira negativa, com possíveis problemas de performance. Dentre esses Mappers utilizaremos o DataStax Mapper, Spring Data Cassandra, Hibernate OGM Cassandra e o Eclipse JNoSQL. E para facilitar a comparação entre eles será utilizado o mesmo exemplo que se baseia em uma solução para uma biblioteca.

    Público-alvo/pré-requisitos

    Desenvolvedores Java, entusiastas e familiarizados com a tecnologia NoSQL e que desejam aprender ou aprofundar os conhecimentos no Cassandra.

    Sumário

    • 1 Conceitos básicos de NoSQL
      • 1.1 Chave-valor
      • 1.2 Orientado a documentos
      • 1.3 Grafos
      • 1.4 Teorema do CAP
    • 2 Cassandra
      • 2.1 Definição
      • 2.2 Hierarquia
      • 2.3 Realizando uma operação dentro do Cassandra
      • 2.4 Consistência versus disponibilidade
      • 2.5 Dentro de um nó Cassandra
    • 3 Instalação do Cassandra
      • 3.1 Realizando download do Cassandra
      • 3.2 Configurações dentro do arquivo yaml
      • 3.3 Simplificando a instalação com contêineres
      • 3.4 Criando o primeiro cluster com Docker Compose
    • 4 Conhecendo o CQL
      • 4.1 Keyspace
      • 4.2 Familia de colunas
      • 4.3 Tipos no Cassandra
      • 4.4 Manipulando informação
      • 4.5 Segurança
    • 5 Modelando sua aplicação com Cassandra
      • 5.1 Dicas de modelagem
    • 6 Realizando integração com Java
      • 6.1 Requisitos mínimos para as demonstrações
      • 6.2 Esqueleto dos projetos exemplos
      • 6.3 Utilizando o driver do Cassandra
      • 6.4 Utilizando o Mapper
    • 7 Criando um aplicativo com Hibernate
      • 7.1 O que é Hibernate OGM?
    • 8 Criando um aplicativo com Java e Spring
      • 8.1 Facilitando o acesso aos dados com Spring Data
    • 9 Criando um aplicativo com Java EE, ops, Jakarta EE
      • 9.1 O que é Jakarta EE?
      • 9.2 Utilizando Jakarta NoSQL, a primeira especificação do Jakarta EE
    • 10 Considerações finais
      • 10.1 Motor de busca
      • 10.2 Validando os dados com Bean Validation
      • 10.3 Realizando testes de integração com o Cassandra
      • 10.4 Experimentando outros sabores de Cassandra

    Dados do produto

    Número de páginas:
    151
    ISBN:
    978-65-86110-47-0
    Data publicação:
    10/2020. Atualizado em 03/2021.
    Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    *Você terá acesso às futuras atualizações do livro.

    altLogoFooter

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alura

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev