apresentacaocassandra-111018220945-phpapp01

Upload: henrique-fernandes-pereira

Post on 06-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    1/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Paulo Vitor Mira Fonseca

    Unifesp - Universidade Federal de Sao Paulo

    http://www.unifesp.br

    19 de outubro de 2011

    ICTUNIFESP 1/43

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    2/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Sumario I

    1 NoSQL

    2 Cassandra

    3 Passo a Passo Para Instalar Cassandra

    4 Hector

    5 Projeto

    6 Problemas Encontrados

    7 Conclusao

    ICTUNIFESP 2/43

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    3/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQL

    Banco de dados nao-relacionais;

    Sem a preocupacao de fornecer garantias ACID (Atomicidade,Consistencia, Isolamento e Durabilidade);

    Nao exige esquema de tabela fixa;

    Geralmente nao suporta instrucoes e operacoes de juncao SQL.

    ICTUNIFESP 3/43

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    4/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLExemplos de Banco NoSQL

    CouchDB

    Redis

    MongoDBRiak

    Neo4j

    HBase

    Cassandra

    ICTUNIFESP 4/43

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    5/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLCouchDB

    Banco de dados orientado a documentos

    Escrito em Erlang

    Protocolo HTTP/REST

    Licenca: ApacheReplicacao Bi-direcional com deteccao de conflitos

    MVCC (Multiversion concurrency control) - Operacoes de escritanao bloqueiam leituras

    Autenticacao nativa

    http://couchdb.apache.org/

    ICTUNIFESP 5/43

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    6/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLRedis

    Banco de dados chave/valor

    Escrito em C/C++

    Protocolo Telnet-like

    Licenca: BSDBanco de dados em memoria/disco

    Possui os tipos conjunto, listas e hashes

    Valores podem expirar (como um cache)

    Operacoes transacionadas

    http://redis.io/

    ICTUNIFESP 6/43

    N SQL C d P P P I l C d H P j P bl E d C l

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    7/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLMongoDB

    Banco de dados orientado a documentos

    Escrito em C++

    Protocolo Binario (BSON)

    Licenca: AGPL (Drivers: Apache)

    Replicacao mestre/escravoAs consultas sao expressoes javascript

    Executa funcoes arbitrarias javascript do lado do servidor

    Journaling

    Em sistemas 32 bits e limitado a 2.5GbUm banco de dados vazio ocupa 192MB

    http://www.mongodb.org/

    ICTUNIFESP 7/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Concl sao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    8/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLRiak

    Banco de dados chave/valor

    Escrito em Erlang, C e javascript

    Protocolo HTTP/REST e binario

    Licenca: ApacheTolerencia a falhas

    Links link walking: Parecido com um banco de dados baseado emgrafos.

    Monitoramento SNMP (Licenciado comercial)

    http://wiki.basho.com/

    ICTUNIFESP 8/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    9/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLNeo4j

    Banco de dados do tipo grafo.Escrito em Java

    Protocolo HTTP/REST

    Licenca: GPL, AGPL (algumas funcionalidades)

    Execucao embarcada em aplicacoes Java

    Vertices e arestas podem ter metadados

    Multiplos algorithms de busca (path-finding)

    Otimizado para leituras

    Operacoes transacionadas

    Execucao de script Groovy

    Backup on-line, monitoramento avancado e de alta disponibilidade.

    http://neo4j.org/

    ICTUNIFESP 9/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    10/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    NoSQLHBase

    Banco de dados do tipo BigTable

    Escrito em Java

    Protocolo HTTP/REST e Thrift

    Licenca: ApacheOtimizado para consultas em tempo real

    Jruby-based (JIRB) shell

    Desempenho de acesso parecido com MySQL

    http://hbase.apache.org/

    ICTUNIFESP 10/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    11/51

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    CassandraO que e?

    Desenvolvido inicialmente pelo Facebook

    Liberado como open source em 2008 para ampliar sua instalacao deMySQL

    Repositorio de dados leve feito em Java

    Dispensa a sobrecarga de recursos dos bancos de dados relacionaisconvencionais (NoSQL)

    Protocolo de acesso: Thrift

    Reune a arquitetura do Dynamo, da Amazon e modelo de dadosbaseado no Bigtable, do Google

    Atualmente e mantido por desenvolvedores da fundacao Apache ecolaboradores de muitas empresas.

    ICTUNIFESP 11/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    12/51

    Q j

    CassandraQuem usa?

    Empresas que usam o banco de dados distribudo Cassandra:Digg

    Facebook

    Twitter

    RedditRackspace

    Cloudkick

    Cisco

    SimpleGeo

    Ooyala

    OpenX

    ICTUNIFESP 12/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    13/51

    CassandraQuem usa?

    O maior cluster em producao tem aproximadamente 100TB de dadosrodando em 150 maquinas.

    ICTUNIFESP 13/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    14/51

    CassandraClusterizacao

    Quando um Cluster e criado, um ponto importante e selecionar oparticionador certo, existem dois:

    Random Partitioner (RP): Distribui aleatoriamente os pareschave-valor atraves da rede, resultando em um bom balanceamento

    de carga. Comparado a OPP, mais nos tem que ser acessado para seobter um numero de chaves.

    Order Preserving Partitioner (OPP): Distribui os pares chave-valorde uma forma natural para que as chaves similares nao fiquem longe.A vantagem e que menos nos tem que ser acessado. A desvantagem

    e a distribuicao desigual dos pares chave-valor.

    ICTUNIFESP 14/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    15/51

    CassandraCaracterstica

    Descentralizada: Cada no do cluster tem o mesmo papel. Dados

    sao distribudos em todo o cluster (entao cada no contem diferentestipos de dados), como nao ha mestre cada no pode atender qualquerpedido.

    ICTUNIFESP 15/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    16/51

    CassandraCaracterstica

    Elasticidade: quando maquinas sao adicionadas o tempo de escrita

    e leitura se comportam de forma linear, evitando inatividade ouinterrupcao.

    ICTUNIFESP 16/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    17/51

    CassandraCaracterstica

    Tolerancia a Falhas: Os dados sao automaticamente replicados

    para varios nos.Nos falhos podem ser substitudos sem inatividade do Cluster.

    ICTUNIFESP 17/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    18/51

    CassandraHardware

    Memoria

    Os dados recentemente salvos sao escritos em tabelas na memoria(aka memtables)

    Dados antigos sao salvos em disco, mas os mais acessados saomantidos no cache do sistema arquivos (Maquina virtual Java).

    Quanto mais memoria melhor.

    Em ambientes virtualizados e recomendado no mnimo 4GB.

    ICTUNIFESP 18/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    19/51

    CassandraHardware

    CPU

    Cassandra tem uma arquitetura de alta concorrencia.

    Faz bom uso de multiplos nucleos.

    Se voce estiver rodando em uma maquina virtual, considere usar umRackspace Cloud Server.

    ICTUNIFESP 19/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    20/51

    CassandraHardware

    Disco

    Ideal ter no mnimo 2 discos.

    CommitLogDirectory

    DataFileDirectories

    Limitacoes do sistema de arquivos:

    ext2/ext3 - 2TBXFS - 16TB(32 bit) praticamente ilimitado(64 bit)

    ICTUNIFESP 20/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    21/51

    CassandraHardware

    Nuvem (Cloud)

    A maioria das instalacoes do cassandra e feita em ambientes emnuvem.

    Rackspace Cloud Server e Amazon EC2.

    ICTUNIFESP 21/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    C d

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    22/51

    CassandraLinguagens suportadas

    Thrift API

    Linguagens:

    Python (Pycassa, Telephus)Java (Hector, Kundera, Pelops, Cassandrelle).Net (Aquiles)Ruby (Cassandra)PHP (Cassandra PHP Client Library, phpcassa)

    ICTUNIFESP 22/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    C d

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    23/51

    CassandraLimitacoes

    Todos os dados para uma unica linha deve caber (no disco) em umaunica maquina no cluster.

    Uma coluna de valor (column value) nao pode ser maior que 2GB.Uma linha pode ter no maximo 2 bilhoes de colunas.

    Os campos chaves e os nomes da colunas podem ter no maximo64K bytes.

    ICTUNIFESP 23/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    C d

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    24/51

    CassandraTuning

    Manter o diretorio de commit log e dados em diferentes discos.

    Parametros da maquina virtual Java:

    -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42-Dcassandra.compaction.priority=1 - Diminui a prioridade dacompactacao.-XX:+UseCompressedOops - Habilita compressao de referencias,reduz overhead em JVMs 64bit.

    ICTUNIFESP 24/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    C d

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    25/51

    CassandraPasso a Passo Para Instalar Cassandra

    Pre requisito: e necessario ter instalado uma maquina virtual Java

    Baixar no site:http://ftp.unicamp.br/pub/apache//cassandra/0.7.6/apache-

    cassandra-0.7.6-2-bin.tar.gz

    Descompactar este arquivo na pasta /opt

    Iniciar o servidor com o seguinte comando: bin/cassandra -f

    Ja estamos com o servidor rodando em estancia unica

    ICTUNIFESP 25/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    C d

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    26/51

    CassandraPasso a Passo Para Instalar Cassandra

    Pre requisito: e necessario ter instalado uma maquina virtual Java

    Baixar no site:http://ftp.unicamp.br/pub/apache//cassandra/0.7.6/apache-

    cassandra-0.7.6-2-bin.tar.gz

    Descompactar este arquivo na pasta /opt

    Iniciar o servidor com o seguinte comando: bin/cassandra -f

    Ja estamos com o servidor rodando em estancia unica

    ICTUNIFESP 25/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    27/51

    CassandraPasso a Passo Para Instalar Cassandra

    Pre requisito: e necessario ter instalado uma maquina virtual Java

    Baixar no site:http://ftp.unicamp.br/pub/apache//cassandra/0.7.6/apache-

    cassandra-0.7.6-2-bin.tar.gz

    Descompactar este arquivo na pasta /opt

    Iniciar o servidor com o seguinte comando: bin/cassandra -f

    Ja estamos com o servidor rodando em estancia unica

    ICTUNIFESP 25/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    28/51

    CassandraPasso a Passo Para Instalar Cassandra

    Pre requisito: e necessario ter instalado uma maquina virtual Java

    Baixar no site:http://ftp.unicamp.br/pub/apache//cassandra/0.7.6/apache-

    cassandra-0.7.6-2-bin.tar.gz

    Descompactar este arquivo na pasta /opt

    Iniciar o servidor com o seguinte comando: bin/cassandra -f

    Ja estamos com o servidor rodando em estancia unica

    ICTUNIFESP 25/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    29/51

    CassandraPasso a Passo Para Instalar Cassandra

    Pre requisito: e necessario ter instalado uma maquina virtual Java

    Baixar no site:http://ftp.unicamp.br/pub/apache//cassandra/0.7.6/apache-

    cassandra-0.7.6-2-bin.tar.gz

    Descompactar este arquivo na pasta /opt

    Iniciar o servidor com o seguinte comando: bin/cassandra -f

    Ja estamos com o servidor rodando em estancia unica

    ICTUNIFESP 25/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    30/51

    Cassandra

    DEMONSTRACAO...

    ICTUNIFESP 26/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    31/51

    CassandraScript Inicial

    c re a te k e ys p ac e u n i fe s p Ap r e se n t ac a o ;

    u se u n i fe s p Ap r e se n t ac a o ;

    c re at e c ol um n f am il y U se r w it h

    c om pa ra to r = U TF 8T yp e a nd

    c o l um n _m e t ad a t a = [{ c o l u mn _ na m e : f ir st , v a l id a t io n _ cl a s s :

    U T F8 Ty p e , i n d e x_ t y p e : K E YS } ,

    { c o l u mn _ na m e : la st ,

    v a l id a t io n _ cl a s s : U T F8 T yp e } ,

    { c o l u mn _ na m e : age , v a l id a t io n _ cl a s s :

    U T F8 Ty p e , i n d e x_ t y p e : K E YS } ];

    ICTUNIFESP 27/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    32/51

    CassandraInsercao

    c o n ne c t l o c a lh o s t / 9 1 60 ;

    u se u n i fe s p Ap r e se n t ac a o ;

    #inserir

    se t U se r [ p fo ns ec a ][ f i rs t ] = P au lo ;

    se t U se r [ p fo ns ec a ][ l as t ] = F on se ca ;

    se t U se r [ p fo ns ec a ][ a ge ] = 25 ;

    g et U se r [ p f o ns e ca ];

    ICTUNIFESP 28/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    33/51

    CassandraAtualizacao

    c o n ne c t l o c a lh o s t / 9 1 60 ;

    u se u n i fe s p Ap r e se n t ac a o ;

    #atualizar

    se t U se r [ p fo ns ec a ][ a ge ] = 25 ;

    se t U se r [ p fo ns ec a ][ f i rs t ] = P au lo 2 ;

    ICTUNIFESP 29/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Cassandra

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    34/51

    CassandraExclusao

    c o n ne c t l o c a lh o s t / 9 1 60 ;

    u se u n i fe s p Ap r e se n t ac a o ;

    # d e le ta r um a c ol un ad el U s er [ p f o n s ec a ] [ l a st ] ;

    # d e le ta r um a l in ha

    d el U se r [ p f o ns e ca ];

    ICTUNIFESP 30/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Hector

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    35/51

    Hector

    Cliente thrift de acesso para a linguagem Java.

    Licenca MIT.

    Interface orientada a objetos de acesso ao Cassandra.

    Suporte a falhas.

    Pool de conexao.

    Suporte a JMX (conexoes disponveis, conexoes ociosas, estatsticasde erro, etc.).

    ICTUNIFESP 31/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Hector

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    36/51

    HectorInsercao

    p ub li c v oi d i ns er t ( f in al S tr in g key ,

    f ina l S tr in g v al ue ) t hr ow s E xc ep ti on {

    e x e cu t e ( n e w C o m ma n d ( ) {

    p ub li c V oi d e xe cu te ( f i na l K ey sp ac e ks )

    t hr ow s E xc ep ti on {k s . i n s e rt ( k ey , c r e a t e C ol u m n P a t h ( C O L U M N_ N A M E ) ,

    bytes(value));

    r et u rn n ul l ;

    }

    });

    }

    ICTUNIFESP 32/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Hector

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    37/51

    Busca

    p ub li c S tr in g g et ( f i na l S tr in g k ey ) t hr ow sE x ce p ti o n {

    r et u rn e x ec ut e ( n e w C om m an d ( ) {

    p ub li c S tr in g e xe cu te ( f i na l K ey sp ac e ks )

    t hr ow s E xc ep ti on {

    try {

    r e t ur n s t r in g ( k s . g e t C ol u m n ( k ey ,

    c r e a t e C o l u m n P a t h ( C O L U M N _ N A M E ) ) . g e t V a l u e ( ) ) ;

    } c at ch ( N o tF ou nd Ex ce pt io n e ) {

    r et u rn n ul l ;

    }

    }});

    }

    ICTUNIFESP 33/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Hector

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    38/51

    Exclusao

    / D e l e t e a k e y f r o m c a s s a n d r a/

    p ub li c v oi d d el et e ( f in al S tr in g k ey ) t hr ow s

    E x ce p ti o n {

    e x e cu t e ( n e w C o m ma n d ( ) {p ub li c V oi d e xe cu te ( f i na l K ey sp ac e ks )

    t hr ow s E xc ep ti on {

    k s . r e m o ve ( k ey , c r e a t e C ol u m n P a t h ( C O L U M N_ N A M E ) ) ;

    r et u rn n ul l ;

    }

    });

    }

    ICTUNIFESP 34/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Objetivos

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    39/51

    j

    Levantar um servidor de persistencia No-SQL;

    Integrar com Tomcat;

    Servico tem que formar um cluster e os dados sejam armazenadosreplicados;

    Se novo servidor e instanciado deve haver balanco de cargaautomatico na replicacao dos dados;

    Salva XML da pesquisa;

    Salva uma pesquisa, retorna uma chave;

    Recupera uma pesquisa baseada na chave;

    Recupera todas as chaves armazenadas.

    ICTUNIFESP 35/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Modelo

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    40/51

    ICTUNIFESP 36/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Projeto

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    41/51

    Configuracao para criar cluster em Cassandra

    Configurar o arquivo cassandra/conf/cassandra.yaml

    Server:

    -Alterar os campos seeds e listen address para o ip de rede damaquina- Alterar o campo rpc address para 0.0.0.0

    ICTUNIFESP 37/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Projeto

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    42/51

    Configuracao para criar cluster em Cassandra

    Configurar o arquivo cassandra/conf/cassandra.yaml

    Clientes:- Alterar o campo seeds: para o ip do servidor

    - Alterar o campo listen address para o ip de rede da maquina- Alterar o campo rpc address para 0.0.0.0

    Apos realizar a configuracao basta reiniciar o servidor e os clientespara que o cluster entre em funcionamento.

    ICTUNIFESP 38/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Problemas Encontrados

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    43/51

    Biblioteca para uso do Thrift -> Solucao: uso do Hector;

    Melhoria no uso do Hector;

    Colocando o Cassandra como background ele para de responder;

    Pouca documentacao sobre o Cassandra.

    ICTUNIFESP 39/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Problemas Encontrados

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    44/51

    Biblioteca para uso do Thrift -> Solucao: uso do Hector;

    Melhoria no uso do Hector;

    Colocando o Cassandra como background ele para de responder;

    Pouca documentacao sobre o Cassandra.

    ICTUNIFESP 39/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Problemas Encontrados

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    45/51

    Biblioteca para uso do Thrift -> Solucao: uso do Hector;

    Melhoria no uso do Hector;

    Colocando o Cassandra como background ele para de responder;

    Pouca documentacao sobre o Cassandra.

    ICTUNIFESP 39/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Problemas Encontrados

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    46/51

    Biblioteca para uso do Thrift -> Solucao: uso do Hector;

    Melhoria no uso do Hector;

    Colocando o Cassandra como background ele para de responder;

    Pouca documentacao sobre o Cassandra.

    ICTUNIFESP 39/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Problemas Encontrados

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    47/51

    Nenhuma instancia do cluster responde quando um dos clientes naoesta em execucao;

    Melhorias no pool de conexao do hector.

    ICTUNIFESP 40/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Problemas Encontrados

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    48/51

    Nenhuma instancia do cluster responde quando um dos clientes naoesta em execucao;

    Melhorias no pool de conexao do hector.

    ICTUNIFESP 40/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Conclusao

    http://find/http://goback/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    49/51

    Banco de dados do tipo NoSQL e um assunto muito amplo e ainda hamuito mais a ser explorado, os topicos abordados nesta apresentacao sao

    uma pequena parte de uma diferente forma de se pensar na construcaode sistemas.

    ICTUNIFESP 41/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Duvidas

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    50/51

    No one gets fired for choosing Apaches stuff.

    ICTUNIFESP 42/43

    NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclusao

    Referencias

    http://find/
  • 8/2/2019 apresentacaocassandra-111018220945-phpapp01

    51/51

    http://cassandra.apache.org/

    http://wiki.apache.org/cassandra/CassandraHardwarehttp://wiki.apache.org/cassandra/ClientOptions

    http://wiki.apache.org/cassandra/CassandraLimitations

    http://wiki.apache.org/cassandra/PerformanceTuning

    http://github.com/pycassa/pycassahttp://github.com/driftx/Telephus

    http://aquiles.codeplex.com/

    http://github.com/rantav/hector

    http://github.com/fauna/cassandra

    http://github.com/s7/scale7-pelops

    http://demoiselle.sf.net/component/demoiselle-cassandra/

    https://github.com/kallaspriit/Cassandra- PHP-Client-Library/

    ICTUNIFESP 43/43

    http://find/http://goback/