NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a




                                              Paulo Vitor Mira Fonseca

                                        Unifesp - Universidade Federal de S˜o Paulo
                                                                           a
                                                   http://www.unifesp.br


                                                19 de outubro de 2011

ICT–UNIFESP —                                                                                           1/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Sum´rio I
   a

      1 NoSQL


      2 Cassandra


      3 Passo a Passo Para Instalar Cassandra


      4 Hector


      5 Projeto


      6 Problemas Encontrados


      7 Conclus˜o
               a


ICT–UNIFESP —                                                                                           2/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL




              Banco de dados n˜o-relacionais;
                              a
              Sem a preocupa¸˜o de fornecer garantias ACID (Atomicidade,
                               ca
              Consistˆncia, Isolamento e Durabilidade);
                     e
              N˜o exige esquema de tabela fixa;
               a
              Geralmente n˜o suporta instru¸˜es e opera¸˜es de jun¸˜o SQL.
                          a                co          co         ca




ICT–UNIFESP —                                                                                           3/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 Exemplos de Banco NoSQL




              CouchDB
              Redis
              MongoDB
              Riak
              Neo4j
              HBase
              Cassandra




ICT–UNIFESP —                                                                                           4/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 CouchDB




              Banco de dados orientado a documentos
              Escrito em Erlang
              Protocolo HTTP/REST
              Licen¸a: Apache
                   c
              Replica¸˜o Bi-direcional com detec¸˜o de conflitos
                     ca                         ca
              MVCC (Multiversion concurrency control) - Opera¸˜es de escrita
                                                             co
              n˜o bloqueiam leituras
               a
              Autentica¸˜o nativa
                       ca
              http://couchdb.apache.org/




ICT–UNIFESP —                                                                                           5/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 Redis




              Banco de dados chave/valor
              Escrito em C/C++
              Protocolo Telnet-like
              Licen¸a: BSD
                   c
              Banco de dados em mem´ria/disco
                                   o
              Possui os tipos conjunto, listas e hashes
              Valores podem expirar (como um cache)
              Opera¸˜es transacionadas
                   co
              http://redis.io/




ICT–UNIFESP —                                                                                           6/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 MongoDB



              Banco de dados orientado a documentos
              Escrito em C++
              Protocolo Bin´rio (BSON)
                           a
              Licen¸a: AGPL (Drivers: Apache)
                   c
              Replica¸˜o mestre/escravo
                     ca
              As consultas s˜o express˜es javascript
                            a         o
              Executa fun¸˜es arbitr´rias javascript do lado do servidor
                         co         a
              Journaling
              Em sistemas 32 bits ´ limitado a
                                  e                                    2.5Gb
              Um banco de dados vazio ocupa 192MB
              http://www.mongodb.org/



ICT–UNIFESP —                                                                                           7/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 Riak




              Banco de dados chave/valor
              Escrito em Erlang, C e javascript
              Protocolo HTTP/REST e bin´rio
                                       a
              Licen¸a: Apache
                   c
              Tolerˆncia a falhas
                   e
              Links link walking: Parecido com um banco de dados baseado em
              grafos.
              Monitoramento SNMP (Licenciado comercial)
              http://wiki.basho.com/




ICT–UNIFESP —                                                                                           8/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 Neo4j


              Banco de dados do tipo grafo.
              Escrito em Java
              Protocolo HTTP/REST
              Licen¸a: GPL, AGPL (algumas funcionalidades)
                   c
              Execu¸˜o embarcada em aplica¸˜es Java
                   ca                     co
              V´rtices e arestas podem ter metadados
               e
              Multiplos algorithms de busca (path-finding )
              Otimizado para leituras
              Opera¸˜es transacionadas
                   co
              Execu¸˜o de script Groovy
                   ca
              Backup on-line, monitoramento avan¸ado e de alta disponibilidade.
                                                c
              http://neo4j.org/


ICT–UNIFESP —                                                                                           9/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


NoSQL
 HBase




              Banco de dados do tipo BigTable
              Escrito em Java
              Protocolo HTTP/REST e Thrift
              Licen¸a: Apache
                   c
              Otimizado para consultas em tempo real
              Jruby-based (JIRB) shell
              Desempenho de acesso parecido com MySQL
              http://hbase.apache.org/




ICT–UNIFESP —                                                                                           10/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 O que ´?
       e




              Desenvolvido inicialmente pelo Facebook
              Liberado como open source em 2008 para ampliar sua instala¸˜o de
                                                                        ca
              MySQL
              Reposit´rio de dados leve feito em Java
                     o
              Dispensa a sobrecarga de recursos dos bancos de dados relacionais
              convencionais (NoSQL)
              Protocolo de acesso: Thrift
              Re´ne a arquitetura do Dynamo, da Amazon e modelo de dados
                u
              baseado no Bigtable, do Google
      Atualmente ´ mantido por desenvolvedores da funda¸˜o Apache e
                  e                                    ca
      colaboradores de muitas empresas.




ICT–UNIFESP —                                                                                           11/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Quem usa?



      Empresas que usam o banco de dados distribu´ Cassandra:
                                                 ıdo
              Digg
              Facebook
              Twitter
              Reddit
              Rackspace
              Cloudkick
              Cisco
              SimpleGeo
              Ooyala
              OpenX



ICT–UNIFESP —                                                                                           12/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Quem usa?




      O maior cluster em produ¸˜o tem aproximadamente 100TB de dados
                              ca
      rodando em 150 m´quinas.
                        a




ICT–UNIFESP —                                                                                           13/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Clusteriza¸˜o
           ca




      Quando um Cluster ´ criado, um ponto importante ´ selecionar o
                           e                          e
      particionador certo, existem dois:
              Random Partitioner (RP): Distribui aleat´riamente os pares
                                                       o
              chave-valor atrav´s da rede, resultando em um bom balanceamento
                               e
              de carga. Comparado a OPP, mais n´s tem que ser acessado para se
                                                   o
              obter um n´mero de chaves.
                         u
              Order Preserving Partitioner (OPP): Distribui os pares chave-valor
              de uma forma natural para que as chaves similares n˜o fiquem longe.
                                                                  a
              A vantagem ´ que menos n´s tem que ser acessado. A desvantagem
                            e             o
              ´ a distribui¸˜o desigual dos pares chave-valor.
              e            ca




ICT–UNIFESP —                                                                                           14/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Caracter´
         ıstica




              Descentralizada: Cada n´ do cluster tem o mesmo papel. Dados
                                        o
              s˜o distribu´
               a          ıdos em todo o cluster (ent˜o cada n´ cont´m diferentes
                                                     a        o     e
              tipos de dados), como n˜o h´ mestre cada n´ pode atender qualquer
                                      a a                 o
              pedido.




ICT–UNIFESP —                                                                                           15/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Caracter´
         ıstica




              Elasticidade: quando m´quinas s˜o adicionadas o tempo de escrita
                                      a        a
              e leitura se comportam de forma linear, evitando inatividade ou
              interrup¸˜o.
                       ca




ICT–UNIFESP —                                                                                           16/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Caracter´
         ıstica




              Tolerˆncia a Falhas: Os dados s˜o automaticamente replicados
                   a                           a
              para v´rios n´s.
                    a      o
              N´s falhos podem ser substitu´
               o                           ıdos sem inatividade do Cluster.




ICT–UNIFESP —                                                                                           17/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Hardware




      Mem´ria
         o
              Os dados recentemente salvos s˜o escritos em tabelas na mem´ria
                                            a                            o
              (aka memtables)
              Dados antigos s˜o salvos em disco, mas os mais acessados s˜o
                             a                                          a
              mantidos no cache do sistema arquivos (M´quina virtual Java).
                                                       a
              Quanto mais mem´ria melhor.
                             o
              Em ambientes virtualizados ´ recomendado no m´
                                         e                 ınimo 4GB.




ICT–UNIFESP —                                                                                           18/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Hardware




      CPU
              Cassandra tem uma arquitetura de alta concorrˆncia.
                                                           e
              Faz bom uso de m´ltiplos n´cleos.
                              u         u
              Se vocˆ estiver rodando em uma m´quina virtual, considere usar um
                    e                         a
              Rackspace Cloud Server.




ICT–UNIFESP —                                                                                           19/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Hardware




      Disco
              Ideal ter no m´
                            ınimo 2 discos.
                      CommitLogDirectory
                      DataFileDirectories
              Limita¸˜es do sistema de arquivos:
                    co
                      ext2/ext3 - 2TB
                      XFS - 16TB(32 bit) praticamente ilimitado(64 bit)




ICT–UNIFESP —                                                                                           20/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Hardware




      Nuvem (Cloud)
              A maioria das instala¸˜es do cassandra ´ feita em ambientes em
                                   co                e
              nuvem.
              Rackspace Cloud Server e Amazon EC2.




ICT–UNIFESP —                                                                                           21/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Linguagens suportadas




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




ICT–UNIFESP —                                                                                           22/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Limita¸oes
       c˜




              Todos os dados para uma unica linha deve caber (no disco) em uma
                                        ´
              unica m´quina no cluster.
              ´      a
              Uma coluna de valor (column value) n˜o pode ser maior que 2GB.
                                                  a
              Uma linha pode ter no m´ximo 2 bilh˜es de colunas.
                                     a           o
              Os campos chaves e os nomes da colunas podem ter no m´ximo
                                                                   a
              64K bytes.




ICT–UNIFESP —                                                                                           23/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Tuning




              Manter o diret´rio de commit log e dados em diferentes discos.
                            o
              Parˆmetros da m´quina virtual Java:
                 a             a
                      -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42
                      -Dcassandra.compaction.priority=1 - Diminui a prioridade da
                      compacta¸˜o.
                               ca
                      -XX:+UseCompressedOops - Habilita compress˜o de referˆncias,
                                                                   a          e
                      reduz overhead em JVMs 64bit.




ICT–UNIFESP —                                                                                           24/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Passo a Passo Para Instalar Cassandra




              Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java
                e            e       a                       a
              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
              J´ estamos com o servidor rodando em estˆncia unica
               a                                      a     ´




ICT–UNIFESP —                                                                                           25/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Passo a Passo Para Instalar Cassandra




              Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java
                e            e       a                       a
              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
              J´ estamos com o servidor rodando em estˆncia unica
               a                                      a     ´




ICT–UNIFESP —                                                                                           25/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Passo a Passo Para Instalar Cassandra




              Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java
                e            e       a                       a
              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
              J´ estamos com o servidor rodando em estˆncia unica
               a                                      a     ´




ICT–UNIFESP —                                                                                           25/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Passo a Passo Para Instalar Cassandra




              Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java
                e            e       a                       a
              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
              J´ estamos com o servidor rodando em estˆncia unica
               a                                      a     ´




ICT–UNIFESP —                                                                                           25/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Passo a Passo Para Instalar Cassandra




              Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java
                e            e       a                       a
              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
              J´ estamos com o servidor rodando em estˆncia unica
               a                                      a     ´




ICT–UNIFESP —                                                                                           25/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra




               ¸˜
      DEMONSTRACAO...




ICT–UNIFESP —                                                                                           26/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Script Inicial




      create keyspace u ni f e sp A p re s e nt a c ao ;
      use un if e s pA p r es e n ta c a o ;
      create column family User with
         comparator = UTF8Type and
         column_metadata =[
      { column_name : first , validation_class :
                UTF8Type , index_type : KEYS } ,
      { column_name : last ,
                validation_class : UTF8Type } ,
      { column_name : age , validation_class :
                UTF8Type , index_type : KEYS }];




ICT–UNIFESP —                                                                                           27/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Inser¸˜o
      ca




      connect localhost /9160;
      use un if e s pA p r es e n ta c a o ;

      # inserir

      set User [ ’ pfonseca ’ ][ ’ first ’] = ’ Paulo ’;
      set User [ ’ pfonseca ’ ][ ’ last ’] = ’ Fonseca ’;
      set User [ ’ pfonseca ’ ][ ’ age ’] = ’ 25 ’;

      get User [ ’ pfonseca ’ ];




ICT–UNIFESP —                                                                                           28/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Atualiza¸˜o
         ca




      connect localhost /9160;
      use un if e s pA p r es e n ta c a o ;

      # atualizar
      set User [ ’ pfonseca ’ ][ ’ age ’] = ’ 25 ’;
      set User [ ’ pfonseca ’ ][ ’ first ’] = ’ Paulo2 ’;




ICT–UNIFESP —                                                                                           29/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Cassandra
 Exclus˜o
       a




      connect localhost /9160;
      use un if e s pA p r es e n ta c a o ;

      # deletar uma coluna
      del User [ ’ pfonseca ’ ][ ’ last ’ ];

      # deletar uma linha
      del User [ ’ pfonseca ’ ];




ICT–UNIFESP —                                                                                           30/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Hector




              Cliente thrift de acesso para a linguagem Java.
              Licen¸a MIT.
                   c
              Interface orientada a objetos de acesso ao Cassandra.
              Suporte a falhas.
              Pool de conex˜o.
                           a
              Suporte a JMX (conex˜es dispon´
                                  o         ıveis, conex˜es ociosas, estat´
                                                        o                 ısticas
              de erro, etc.).




ICT–UNIFESP —                                                                                           31/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Hector
 Inser¸˜o
      ca




      public void insert ( final String key ,
              final String value ) throws Exception {
          execute ( new Command (){
            public Void execute ( final Keyspace ks )
                        throws Exception {
              ks . insert ( key , createColumnPath ( COLUMN_NAME ) ,
                        bytes ( value ));
              return null ;
            }
              });
      }




ICT–UNIFESP —                                                                                           32/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Hector
 Busca



      public String get ( final String key ) throws
                       Exception {
        return execute ( new Command (){
          public String execute ( final Keyspace ks )
                       throws Exception {
            try {
              return string ( ks . getColumn ( key ,
              createColumnPath ( COLUMN_NAME )). getValue ());
            } catch ( NotFo undExc eption e ) {
              return null ;
            }
          }
        });
      }



ICT–UNIFESP —                                                                                           33/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Hector
 Exclus˜o
       a



      /∗ ∗
        ∗ D e l e t e a key from c a s s a n d r a
        ∗/
      public void delete ( final String key ) throws
                    Exception {
         execute ( new Command (){
           public Void execute ( final Keyspace ks )
                    throws Exception {
               ks . remove ( key , createColumnPath ( COLUMN_NAME ));
                return null ;
           }
         });
      }




ICT–UNIFESP —                                                                                           34/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Objetivos


              Levantar um servidor de persistˆncia No-SQL;
                                             e
              Integrar com Tomcat;
              Servi¸o tem que formar um cluster e os dados sejam armazenados
                    c
              replicados;
              Se novo servidor ´ instanciado – deve haver balan¸o de carga
                               e                               c
              autom´tico na replica¸˜o dos dados;
                    a               ca
              Salva XML da pesquisa;
              Salva uma pesquisa, retorna uma chave;
              Recupera uma pesquisa baseada na chave;
              Recupera todas as chaves armazenadas.




ICT–UNIFESP —                                                                                           35/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Modelo




ICT–UNIFESP —                                                                                           36/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Projeto
 Configura¸˜o para criar cluster em Cassandra
         ca




      Configurar o arquivo cassandra/conf/cassandra.yaml
              Server:
              -Alterar os campos seeds e listen address para o ip de rede da
              m´quina
                a
              - Alterar o campo rpc address para 0.0.0.0




ICT–UNIFESP —                                                                                           37/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Projeto
 Configura¸˜o para criar cluster em Cassandra
         ca




      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 m´quina
                                                                     a
              - Alterar o campo rpc address para 0.0.0.0
              Ap´s realizar a configura¸˜o basta reiniciar o servidor e os clientes
                 o                     ca
              para que o cluster entre em funcionamento.




ICT–UNIFESP —                                                                                           38/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Problemas Encontrados




              Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector;
                                                   ca
              Melhoria no uso do Hector;
              Colocando o Cassandra como background ele p´ra de responder;
                                                         a
              Pouca documenta¸˜o sobre o Cassandra.
                             ca




ICT–UNIFESP —                                                                                           39/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Problemas Encontrados




              Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector;
                                                   ca
              Melhoria no uso do Hector;
              Colocando o Cassandra como background ele p´ra de responder;
                                                         a
              Pouca documenta¸˜o sobre o Cassandra.
                             ca




ICT–UNIFESP —                                                                                           39/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Problemas Encontrados




              Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector;
                                                   ca
              Melhoria no uso do Hector;
              Colocando o Cassandra como background ele p´ra de responder;
                                                         a
              Pouca documenta¸˜o sobre o Cassandra.
                             ca




ICT–UNIFESP —                                                                                           39/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Problemas Encontrados




              Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector;
                                                   ca
              Melhoria no uso do Hector;
              Colocando o Cassandra como background ele p´ra de responder;
                                                         a
              Pouca documenta¸˜o sobre o Cassandra.
                             ca




ICT–UNIFESP —                                                                                           39/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Problemas Encontrados




              Nenhuma instancia do cluster responde quando um dos clientes n˜o
                                                                            a
              est´ em execu¸˜o;
                 a         ca
              Melhorias no pool de conex˜o do hector.
                                        a




ICT–UNIFESP —                                                                                           40/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Problemas Encontrados




              Nenhuma instancia do cluster responde quando um dos clientes n˜o
                                                                            a
              est´ em execu¸˜o;
                 a         ca
              Melhorias no pool de conex˜o do hector.
                                        a




ICT–UNIFESP —                                                                                           40/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Conclus˜o
       a




      Banco de dados do tipo NoSQL ´ um assunto muito amplo e ainda h´
                                      e                                   a
      muito mais a ser explorado, os t´picos abordados nesta apresenta¸˜o s˜o
                                      o                               ca a
      uma pequena parte de uma diferente forma de se pensar na constru¸˜o
                                                                        ca
      de sistemas.




ICT–UNIFESP —                                                                                           41/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


D´vidas
 u




      ”No one gets fired for choosing Apache’s stuff.”




ICT–UNIFESP —                                                                                           42/43
NoSQL Cassandra Passo a Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o
                                                                                                   a


Referencias

              http://cassandra.apache.org/
              http://wiki.apache.org/cassandra/CassandraHardware
              http://wiki.apache.org/cassandra/ClientOptions
              http://wiki.apache.org/cassandra/CassandraLimitations
              http://wiki.apache.org/cassandra/PerformanceTuning
              http://github.com/pycassa/pycassa
              http://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/

ICT–UNIFESP —                                                                                           43/43

Apresentacao Cassandra

  • 1.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Paulo Vitor Mira Fonseca Unifesp - Universidade Federal de S˜o Paulo a http://www.unifesp.br 19 de outubro de 2011 ICT–UNIFESP — 1/43
  • 2.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Sum´rio I a 1 NoSQL 2 Cassandra 3 Passo a Passo Para Instalar Cassandra 4 Hector 5 Projeto 6 Problemas Encontrados 7 Conclus˜o a ICT–UNIFESP — 2/43
  • 3.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL Banco de dados n˜o-relacionais; a Sem a preocupa¸˜o de fornecer garantias ACID (Atomicidade, ca Consistˆncia, Isolamento e Durabilidade); e N˜o exige esquema de tabela fixa; a Geralmente n˜o suporta instru¸˜es e opera¸˜es de jun¸˜o SQL. a co co ca ICT–UNIFESP — 3/43
  • 4.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL Exemplos de Banco NoSQL CouchDB Redis MongoDB Riak Neo4j HBase Cassandra ICT–UNIFESP — 4/43
  • 5.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL CouchDB Banco de dados orientado a documentos Escrito em Erlang Protocolo HTTP/REST Licen¸a: Apache c Replica¸˜o Bi-direcional com detec¸˜o de conflitos ca ca MVCC (Multiversion concurrency control) - Opera¸˜es de escrita co n˜o bloqueiam leituras a Autentica¸˜o nativa ca http://couchdb.apache.org/ ICT–UNIFESP — 5/43
  • 6.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL Redis Banco de dados chave/valor Escrito em C/C++ Protocolo Telnet-like Licen¸a: BSD c Banco de dados em mem´ria/disco o Possui os tipos conjunto, listas e hashes Valores podem expirar (como um cache) Opera¸˜es transacionadas co http://redis.io/ ICT–UNIFESP — 6/43
  • 7.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL MongoDB Banco de dados orientado a documentos Escrito em C++ Protocolo Bin´rio (BSON) a Licen¸a: AGPL (Drivers: Apache) c Replica¸˜o mestre/escravo ca As consultas s˜o express˜es javascript a o Executa fun¸˜es arbitr´rias javascript do lado do servidor co a Journaling Em sistemas 32 bits ´ limitado a e 2.5Gb Um banco de dados vazio ocupa 192MB http://www.mongodb.org/ ICT–UNIFESP — 7/43
  • 8.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL Riak Banco de dados chave/valor Escrito em Erlang, C e javascript Protocolo HTTP/REST e bin´rio a Licen¸a: Apache c Tolerˆncia a falhas e Links link walking: Parecido com um banco de dados baseado em grafos. Monitoramento SNMP (Licenciado comercial) http://wiki.basho.com/ ICT–UNIFESP — 8/43
  • 9.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL Neo4j Banco de dados do tipo grafo. Escrito em Java Protocolo HTTP/REST Licen¸a: GPL, AGPL (algumas funcionalidades) c Execu¸˜o embarcada em aplica¸˜es Java ca co V´rtices e arestas podem ter metadados e Multiplos algorithms de busca (path-finding ) Otimizado para leituras Opera¸˜es transacionadas co Execu¸˜o de script Groovy ca Backup on-line, monitoramento avan¸ado e de alta disponibilidade. c http://neo4j.org/ ICT–UNIFESP — 9/43
  • 10.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a NoSQL HBase Banco de dados do tipo BigTable Escrito em Java Protocolo HTTP/REST e Thrift Licen¸a: Apache c Otimizado para consultas em tempo real Jruby-based (JIRB) shell Desempenho de acesso parecido com MySQL http://hbase.apache.org/ ICT–UNIFESP — 10/43
  • 11.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra O que ´? e Desenvolvido inicialmente pelo Facebook Liberado como open source em 2008 para ampliar sua instala¸˜o de ca MySQL Reposit´rio de dados leve feito em Java o Dispensa a sobrecarga de recursos dos bancos de dados relacionais convencionais (NoSQL) Protocolo de acesso: Thrift Re´ne a arquitetura do Dynamo, da Amazon e modelo de dados u baseado no Bigtable, do Google Atualmente ´ mantido por desenvolvedores da funda¸˜o Apache e e ca colaboradores de muitas empresas. ICT–UNIFESP — 11/43
  • 12.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Quem usa? Empresas que usam o banco de dados distribu´ Cassandra: ıdo Digg Facebook Twitter Reddit Rackspace Cloudkick Cisco SimpleGeo Ooyala OpenX ICT–UNIFESP — 12/43
  • 13.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Quem usa? O maior cluster em produ¸˜o tem aproximadamente 100TB de dados ca rodando em 150 m´quinas. a ICT–UNIFESP — 13/43
  • 14.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Clusteriza¸˜o ca Quando um Cluster ´ criado, um ponto importante ´ selecionar o e e particionador certo, existem dois: Random Partitioner (RP): Distribui aleat´riamente os pares o chave-valor atrav´s da rede, resultando em um bom balanceamento e de carga. Comparado a OPP, mais n´s tem que ser acessado para se o obter um n´mero de chaves. u Order Preserving Partitioner (OPP): Distribui os pares chave-valor de uma forma natural para que as chaves similares n˜o fiquem longe. a A vantagem ´ que menos n´s tem que ser acessado. A desvantagem e o ´ a distribui¸˜o desigual dos pares chave-valor. e ca ICT–UNIFESP — 14/43
  • 15.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Caracter´ ıstica Descentralizada: Cada n´ do cluster tem o mesmo papel. Dados o s˜o distribu´ a ıdos em todo o cluster (ent˜o cada n´ cont´m diferentes a o e tipos de dados), como n˜o h´ mestre cada n´ pode atender qualquer a a o pedido. ICT–UNIFESP — 15/43
  • 16.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Caracter´ ıstica Elasticidade: quando m´quinas s˜o adicionadas o tempo de escrita a a e leitura se comportam de forma linear, evitando inatividade ou interrup¸˜o. ca ICT–UNIFESP — 16/43
  • 17.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Caracter´ ıstica Tolerˆncia a Falhas: Os dados s˜o automaticamente replicados a a para v´rios n´s. a o N´s falhos podem ser substitu´ o ıdos sem inatividade do Cluster. ICT–UNIFESP — 17/43
  • 18.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Hardware Mem´ria o Os dados recentemente salvos s˜o escritos em tabelas na mem´ria a o (aka memtables) Dados antigos s˜o salvos em disco, mas os mais acessados s˜o a a mantidos no cache do sistema arquivos (M´quina virtual Java). a Quanto mais mem´ria melhor. o Em ambientes virtualizados ´ recomendado no m´ e ınimo 4GB. ICT–UNIFESP — 18/43
  • 19.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Hardware CPU Cassandra tem uma arquitetura de alta concorrˆncia. e Faz bom uso de m´ltiplos n´cleos. u u Se vocˆ estiver rodando em uma m´quina virtual, considere usar um e a Rackspace Cloud Server. ICT–UNIFESP — 19/43
  • 20.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Hardware Disco Ideal ter no m´ ınimo 2 discos. CommitLogDirectory DataFileDirectories Limita¸˜es do sistema de arquivos: co ext2/ext3 - 2TB XFS - 16TB(32 bit) praticamente ilimitado(64 bit) ICT–UNIFESP — 20/43
  • 21.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Hardware Nuvem (Cloud) A maioria das instala¸˜es do cassandra ´ feita em ambientes em co e nuvem. Rackspace Cloud Server e Amazon EC2. ICT–UNIFESP — 21/43
  • 22.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Linguagens suportadas Thrift API Linguagens: Python (Pycassa, Telephus) Java (Hector, Kundera, Pelops, Cassandrelle) .Net (Aquiles) Ruby (Cassandra) PHP (Cassandra PHP Client Library, phpcassa) ICT–UNIFESP — 22/43
  • 23.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Limita¸oes c˜ Todos os dados para uma unica linha deve caber (no disco) em uma ´ unica m´quina no cluster. ´ a Uma coluna de valor (column value) n˜o pode ser maior que 2GB. a Uma linha pode ter no m´ximo 2 bilh˜es de colunas. a o Os campos chaves e os nomes da colunas podem ter no m´ximo a 64K bytes. ICT–UNIFESP — 23/43
  • 24.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Tuning Manter o diret´rio de commit log e dados em diferentes discos. o Parˆmetros da m´quina virtual Java: a a -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Dcassandra.compaction.priority=1 - Diminui a prioridade da compacta¸˜o. ca -XX:+UseCompressedOops - Habilita compress˜o de referˆncias, a e reduz overhead em JVMs 64bit. ICT–UNIFESP — 24/43
  • 25.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Passo a Passo Para Instalar Cassandra Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java e e a a 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 J´ estamos com o servidor rodando em estˆncia unica a a ´ ICT–UNIFESP — 25/43
  • 26.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Passo a Passo Para Instalar Cassandra Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java e e a a 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 J´ estamos com o servidor rodando em estˆncia unica a a ´ ICT–UNIFESP — 25/43
  • 27.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Passo a Passo Para Instalar Cassandra Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java e e a a 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 J´ estamos com o servidor rodando em estˆncia unica a a ´ ICT–UNIFESP — 25/43
  • 28.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Passo a Passo Para Instalar Cassandra Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java e e a a 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 J´ estamos com o servidor rodando em estˆncia unica a a ´ ICT–UNIFESP — 25/43
  • 29.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Passo a Passo Para Instalar Cassandra Pr´ requisito: ´ necess´rio ter instalado uma m´quina virtual Java e e a a 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 J´ estamos com o servidor rodando em estˆncia unica a a ´ ICT–UNIFESP — 25/43
  • 30.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra ¸˜ DEMONSTRACAO... ICT–UNIFESP — 26/43
  • 31.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Script Inicial create keyspace u ni f e sp A p re s e nt a c ao ; use un if e s pA p r es e n ta c a o ; create column family User with comparator = UTF8Type and column_metadata =[ { column_name : first , validation_class : UTF8Type , index_type : KEYS } , { column_name : last , validation_class : UTF8Type } , { column_name : age , validation_class : UTF8Type , index_type : KEYS }]; ICT–UNIFESP — 27/43
  • 32.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Inser¸˜o ca connect localhost /9160; use un if e s pA p r es e n ta c a o ; # inserir set User [ ’ pfonseca ’ ][ ’ first ’] = ’ Paulo ’; set User [ ’ pfonseca ’ ][ ’ last ’] = ’ Fonseca ’; set User [ ’ pfonseca ’ ][ ’ age ’] = ’ 25 ’; get User [ ’ pfonseca ’ ]; ICT–UNIFESP — 28/43
  • 33.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Atualiza¸˜o ca connect localhost /9160; use un if e s pA p r es e n ta c a o ; # atualizar set User [ ’ pfonseca ’ ][ ’ age ’] = ’ 25 ’; set User [ ’ pfonseca ’ ][ ’ first ’] = ’ Paulo2 ’; ICT–UNIFESP — 29/43
  • 34.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Cassandra Exclus˜o a connect localhost /9160; use un if e s pA p r es e n ta c a o ; # deletar uma coluna del User [ ’ pfonseca ’ ][ ’ last ’ ]; # deletar uma linha del User [ ’ pfonseca ’ ]; ICT–UNIFESP — 30/43
  • 35.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Hector Cliente thrift de acesso para a linguagem Java. Licen¸a MIT. c Interface orientada a objetos de acesso ao Cassandra. Suporte a falhas. Pool de conex˜o. a Suporte a JMX (conex˜es dispon´ o ıveis, conex˜es ociosas, estat´ o ısticas de erro, etc.). ICT–UNIFESP — 31/43
  • 36.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Hector Inser¸˜o ca public void insert ( final String key , final String value ) throws Exception { execute ( new Command (){ public Void execute ( final Keyspace ks ) throws Exception { ks . insert ( key , createColumnPath ( COLUMN_NAME ) , bytes ( value )); return null ; } }); } ICT–UNIFESP — 32/43
  • 37.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Hector Busca public String get ( final String key ) throws Exception { return execute ( new Command (){ public String execute ( final Keyspace ks ) throws Exception { try { return string ( ks . getColumn ( key , createColumnPath ( COLUMN_NAME )). getValue ()); } catch ( NotFo undExc eption e ) { return null ; } } }); } ICT–UNIFESP — 33/43
  • 38.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Hector Exclus˜o a /∗ ∗ ∗ D e l e t e a key from c a s s a n d r a ∗/ public void delete ( final String key ) throws Exception { execute ( new Command (){ public Void execute ( final Keyspace ks ) throws Exception { ks . remove ( key , createColumnPath ( COLUMN_NAME )); return null ; } }); } ICT–UNIFESP — 34/43
  • 39.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Objetivos Levantar um servidor de persistˆncia No-SQL; e Integrar com Tomcat; Servi¸o tem que formar um cluster e os dados sejam armazenados c replicados; Se novo servidor ´ instanciado – deve haver balan¸o de carga e c autom´tico na replica¸˜o dos dados; a ca Salva XML da pesquisa; Salva uma pesquisa, retorna uma chave; Recupera uma pesquisa baseada na chave; Recupera todas as chaves armazenadas. ICT–UNIFESP — 35/43
  • 40.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Modelo ICT–UNIFESP — 36/43
  • 41.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Projeto Configura¸˜o para criar cluster em Cassandra ca Configurar o arquivo cassandra/conf/cassandra.yaml Server: -Alterar os campos seeds e listen address para o ip de rede da m´quina a - Alterar o campo rpc address para 0.0.0.0 ICT–UNIFESP — 37/43
  • 42.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Projeto Configura¸˜o para criar cluster em Cassandra ca 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 m´quina a - Alterar o campo rpc address para 0.0.0.0 Ap´s realizar a configura¸˜o basta reiniciar o servidor e os clientes o ca para que o cluster entre em funcionamento. ICT–UNIFESP — 38/43
  • 43.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Problemas Encontrados Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector; ca Melhoria no uso do Hector; Colocando o Cassandra como background ele p´ra de responder; a Pouca documenta¸˜o sobre o Cassandra. ca ICT–UNIFESP — 39/43
  • 44.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Problemas Encontrados Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector; ca Melhoria no uso do Hector; Colocando o Cassandra como background ele p´ra de responder; a Pouca documenta¸˜o sobre o Cassandra. ca ICT–UNIFESP — 39/43
  • 45.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Problemas Encontrados Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector; ca Melhoria no uso do Hector; Colocando o Cassandra como background ele p´ra de responder; a Pouca documenta¸˜o sobre o Cassandra. ca ICT–UNIFESP — 39/43
  • 46.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Problemas Encontrados Biblioteca para uso do Thrift -> Solu¸˜o: uso do Hector; ca Melhoria no uso do Hector; Colocando o Cassandra como background ele p´ra de responder; a Pouca documenta¸˜o sobre o Cassandra. ca ICT–UNIFESP — 39/43
  • 47.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Problemas Encontrados Nenhuma instancia do cluster responde quando um dos clientes n˜o a est´ em execu¸˜o; a ca Melhorias no pool de conex˜o do hector. a ICT–UNIFESP — 40/43
  • 48.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Problemas Encontrados Nenhuma instancia do cluster responde quando um dos clientes n˜o a est´ em execu¸˜o; a ca Melhorias no pool de conex˜o do hector. a ICT–UNIFESP — 40/43
  • 49.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Conclus˜o a Banco de dados do tipo NoSQL ´ um assunto muito amplo e ainda h´ e a muito mais a ser explorado, os t´picos abordados nesta apresenta¸˜o s˜o o ca a uma pequena parte de uma diferente forma de se pensar na constru¸˜o ca de sistemas. ICT–UNIFESP — 41/43
  • 50.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a D´vidas u ”No one gets fired for choosing Apache’s stuff.” ICT–UNIFESP — 42/43
  • 51.
    NoSQL Cassandra Passoa Passo Para Instalar Cassandra Hector Projeto Problemas Encontrados Conclus˜o a Referencias http://cassandra.apache.org/ http://wiki.apache.org/cassandra/CassandraHardware http://wiki.apache.org/cassandra/ClientOptions http://wiki.apache.org/cassandra/CassandraLimitations http://wiki.apache.org/cassandra/PerformanceTuning http://github.com/pycassa/pycassa http://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/ ICT–UNIFESP — 43/43