36
#Aplicando BigData ao Java EE 6 Otávio Santana @otaviojava http://www.java.net/blogs/otaviojava/ http://otaviosantana.blogspot.com.br/

Bigdata

Embed Size (px)

DESCRIPTION

Reunir características fundamentais como integração com grande volume de dados, tempo de resposta adequado e alta disponibilidade. São estes os grandes desafios do desenvolvedor Java na atualidade, frente às novas aplicações. Descubra e desvende "o caminho das pedras" para sua aplicação não morrer na praia.

Citation preview

#Aplicando BigData ao Java EE 6

Otávio Santana@otaviojavahttp://www.java.net/blogs/otaviojava/http://otaviosantana.blogspot.com.br/

Comunidades

• @javabahia• @soujava• @java•

Big Data com java EE 6• O que é BigData ?• BigData nas Empresas• Novidades no JavaEE6• Novidades com o Java 7• SQL • NOSQL• NewSQL• Cache • DataGrid• Dicas

Big Data ?

Conceito ?Volumes Grandes ?

Volume Velocidade

Evolução da informática

•Muitas Pessoas para uma máquina•Uma pessoa para uma máquina•Uma pessoa para muitas máquinas

Os dados crescem, mas o tempo de resposta não

•1000 funcionários 200 terabytes•60% ao ano•Mais dispositivos•Dados vão crescer 50 vezes até 2020

Big Data: O Desafio•Respostas rápidas•Mineração em tempo real•Escalável•Velocidade de Desenvolvimento•Velocidade de modelagem

(

Big Data •Escalabilidade•Horizontal vs Vertical

)

Java EE 6

Servlets 3.0Java Server Faces 2.0,EJB 3.1(com EJB Lite)JPA 2.0 (agora com Criteria API)JAX-RSBeans ValidationDependency Injection

25% menos Classe50% menos linhas de código80% menos XML

Simplicidade e Produtividade

Java EE 6

Injeção de dependênciaProdução de ObjetosDefinir escopoQualificadoresInterceptadores

Java EE 6

SOA “Escalável”Comunicação mais simplesPossibilidade de usar JSONSuper simples Fazer o Servidor e o Cliente

Java 7

Simples1)multi-try2)Try-resource3)Diamante4)Gerenciamento de Recursos Automático

Produtivo1)NIO22)Pacote de concorrência

Rápido1)Refatorações 2)Placa de Vídeo3)Invoke dynamic

Java 7

BIG Data1)JEP 141: Aumento do valor de memória da JVM2)JEP 149: Redução do uso de memória Core3)JEP 144: Reduz a latência de Grandes Memória ( 32GB até 60%)

Java 7

Open Source1)OpenJDK a referência

SQL

• Tipo de Banco mais adotado•O mais maduro•Padrões•Pouco impacto nas mudanças•

•Normalização surgiu na década de 80•Hardware diferentes e problemas diferentes•Preço armazenamento

•16 KB de RAM•800 KB Armazenamento

NOSQL

• Definição• Arquitetura•Armazenamento• Tipos

NOSQLArquitetura

•Amazon Dynamo •Scalaris •Voldemort •CouchDb (thru Lounge) •Riak •MongoDb (in alpha) •BigTable •Cassandra •HyperTable •HBase

•Redis•Tokyo Tyrant•MemcacheDb•Amazon SimpleDb

NOSQLArmazenamento

•CouchDb •MongoDb •Riak •Voldemort

•Scalaris•Redis

•BigTable •Cassandra •Hbase •HyperTable

NOSQLModelo

•Amazon SimpleDb •Apache Couchdb •MongoDb •Riak

•Cassandra •Google BigTable •HBase •Hyperbase

•Neo4j •InfoGrid •Sones •HyperGraphDB

•Amazon Dynamo •Amazon S3 •Redis •Scalaris •Voldemort

Indexador

• Buscas mais rápidas•Soluciona Problema NOSQL•Buscas Eficientes

NOSQL

NewSQL

•Pega o melhor de dois mundos•Versão Híbrida•SQL 2.0

Cache

•Acesso rápido•Já processados•2 problemas

Cache

•Esquentar •Matar o cache•Dados sempre frescos

Data Grid

•Processos Paralelos•Load Balancing•Map Reduce

Escolha seu time

•Use o melhor de vários mundos•Escolha seu time de frameworks•Não existe bala de prata•

Dicas

•Conheça bem o seu negócio•Conceito é fácil vs Aplicar é difícil•Domine as sopas de letrinhas•Conheça várias ferramentas•Evite emulações•Explore todo o potencial do JavaEE•

Cloud

•Paga pelo que usar•Elasticidade Simples• Recurso infinito•Sem se preocupar com infra

Html 5

•Banco de Dados (50 MB)•Cache (5MB/ página)•Worker (javascript em thread)•Recurso do Cliente•

DEMO

Escrita

Leitura

JAVA EE 6

Explorar o uso do WeldGerenciamento do escopo do objetoEvite um grande número de Camadas (Delay Layer)Decorator e intecptorCuidado com os Singletons Faça o Clean

#Obrigado

Otávio Santana@otaviojavahttp://www.java.net/blogs/otaviojava/http://otaviosantana.blogspot.com.br/