Escolar Documentos
Profissional Documentos
Cultura Documentos
1. 1.1 2. CASSANDRA ................................................................................................................................................... 1 POR QUE O NOME CASSANDRA?................................................................................................................ 1 ESTRUTURA DE DIRETRIOS DO CASSANDRA................................................................................................. 1 BIN...................................................................................................................................................................... 1 CONF .................................................................................................................................................................. 1 INTERFACE .......................................................................................................................................................... 2 JAVADOC ............................................................................................................................................................ 2 LIB ...................................................................................................................................................................... 2 3. 4. 5. QUAL A DIFERENA ENTRE OS BANCOS RELACIONAIS E O CASSANDRA?........................................................ 2 TUTORIAL DE INSTALAO CASSANDRA ........................................................................................................ 2 OBJETOS DO CASSANDRA............................................................................................................................... 8 5.1 KEYSPACES ................................................................................................................................................ 8 5.2 COLUMN FAMILIES ...................................................................................................................................... 9 5.2.1 Opes para Column Families ........................................................................................................... 10 5.3 SUPERCOLUMN ......................................................................................................................................... 10 5.4 COLUMNS ............................................................................................................................................... 10 5.4.1 Ordenao de colunas ...................................................................................................................... 10 6. 7. 8. 9. SEGURANA ................................................................................................................................................. 11 CLIENTS ........................................................................................................................................................ 11 PARTICULARIDADES ..................................................................................................................................... 11 BIBLIOGRAFIA............................................................................................................................................... 12
1. Cassandra
Primeiramente, antes de explicarmos o que o Cassandra, devemos explicar o que NoSQL,que nada mais que a abreviao de NotOnly SQL, movimento iniciado em 1998 . NoSQL so diferentes sistemas de armazenamento que vieram para suprir necessidades em demandas onde os bancos de dados tradicionais (relacionais) so ineficazes.Como exemplo deste movimentoo Cassandra um dos casos de sucesso deste novo conceito de banco de dados, implantado no Facebook em 2007 para solucionar o problema de pesquisa, no qual eles tiveram que lidar com uma grande quantidade de volume de dados de uma maneira que era difcil para escalar com mtodos tradicionais. Atualmente utilizado em larga escala por alguns dos maiores proprietrios na Web, incluindo Facebook, Twitter, Cisco, Rackspace, Digg, Cloudkick, Reddit. O Facebook, criador desse banco de dados, doou o cdigo do Cassandra para o Apache Foundation em 2009 que hoje a responsvel pelo banco. Considerado como um banco de dados orientado coluna.Sua caracterstica principal que ele um banco de dados n o relacional.O conceito Sparse , que significa que para qualquer linha pode possuir uma ou mais colunas, mas cada linha no precisa possuir as mesmas colunas de outra linha.Por este fato no errado falar que o Cassandra orientado coluna, isso pode ser mais til pensar como se fosse um ndex, base de linha orientada, como examinaremos mais no decorrer deste trabalho.
BIN - Este diretrio contm os executveis para rodar o Cassandra e a linha de comando
dele. Contm tambm scripts para rodar o NODETOOL, uma ferramenta para configurar um cluster.
Contm um arquivo chamado LOG4J que permite a voc mudar os nveis de login da aplicao para ajustar s suas necessidades. INTERFACE - Para verses 0.6 ou anteriores, este diretrio contm um nico arquivo, chamado CASSANDRA.THRIFT. Este arquivo representa o RPC(Remote Procedure Call) Cliente API qu e o Cassandra disponibiliza. JAVADOC - Este diretrio contm uma documentao gerada para Website usando a ferramenta JavaDocdo Java. y
LIB- Este diretrio contm todas as bibliotecas externas que o Cassandra necessita para
rodar.
Apresentao Cassandra Fatec Zona Sul Segundo Passo: Clique no botoNew para adicionar as variveis.
Diretrio BIN
Diretrio CONF
Diretrio JAVADOC
Diretrio LIB
Agora que j estamos familiarizados com os diretrios do Cassandra, vamos ao quarto Passo!
Cassandra FATEC ZONA SUL - 2011
Quarto Passo: Rodar o Cassandra, para isso clique em start e em executar e digite cmd e em seguida pressione enter. Localize o diretrio onde esta os arquivos Bin do Cassandra e execute o arquivo Cassandra.bat Este arquivo o nosso servidor, toda vez que for executar o Cassandra necessrio execut-lo antes de conectar-se algum client do Cassandra .
Figura 13 Executando o Servidor do Cassandra
Sexto Passo: Rodando o Cassandra...... para isso, devemos localizar os arquivos da pasta bin e executar o Cassandra-cli.bat O Client do Cassandra padro No esquea de conectar ao localhost e a porta de entrada do Cassandra que 9160.
Agora com o Cassandra configurado vamos conhecer como funciona um banco de dados no relacional e sua estrutura de dados. Embora usarmos algumas analogias ao banco de dados relacional, no se engane, usaremos como base para insero no mundo de dados no relacional para facilitar esta aprendizagem.
5. Objetos do Cassandra
5.1 Keyspaces
Um cluster um container para Keyspaces. Uma keyspace o container mais alto para dados no Cassandra. A keyspace corresponde a um banco de dados no mundo relacional, e assim como no mundo relacional as Keyspaces possuem nomes e atributos que define seu comportamento. Observao: O Cassandra permite a criao de vrias Keyspaces por aplicao, mas lembrando que esta pratica no muito recomendada.
No Cassandra, voc pode atribuir atributos bsicos por keyspace: y Replication factor OReplicationfactorrefere-se ao numero de ns que iro agir como cpias de cada registro inserido. Isso permite a voc decidir quanto voc quer pagar em performance para ganhar mais consistncia. Replica placement strategy O Replica placement se refere a como as replicas vo ser copiadas no anel (Conjunto de Clusters). Existem diferentes estratgias para determinar quais os ns vo receber as cpias de cada Key, elas podem ser: o SimpleStrategy Usada por padro. Esta estratgia copia Replicas em um nico data Center, de uma forma que ele no tem no o da sua colocao no rack de dados. o OldNetworkTopologyStrategy Utilizado para distribuir dados em diferentes racks no mesmo data Center. Utilize esta estratgia quando usar o ReplicationFactor3 e quando quiser assegurar alta disponibilidade no acesso dos seus dados. o NetworkTopologyStrategy Possibilita especificar eventualmente como as replicas devem ser colocadas nos Data Centers. Columns families Uma column family anloga a uma tabela no modelo relacional e um container para uma coleo de tuplas, ela representa a estrutura dos seus dados.
As configuraes de ReplicationFactor e Replica PlacementStrategy so configuradas por Keyspace, entretanto, eles no influenciam em nada no seu modelo de dados, apenas so modos de segurana e confiabilidade de dados utilizados por ele.
5.2
Column Families
Na mesma maneira que um banco de dados um container para tabelas, uma keyspace um container para lista de uma ou mais column families.So containers para uma coleo de linhas, no qual esto em uma coluna ordenada. Column Families possuem duas caractersticas, name e comparator. o Name Nome da ColumnFamily o Comparator Indica como as colunas vo ser organizadas quando retornadas em uma query se de acordo com long, byte, UTF8 ou outro tipo de organizao.
5.2.1 Opes para Column Families Existem vrias opes de parmetros que voc pode atribuir uma Column family, entre os quais esto: keys_Cached Numero de locaes para manter em cach por SSTable. Esta opo no se refere as colunas name/values, mas sim ao numero de Keys, como locaes por column family. rows_cached Numero de linhas cujo o contedo ser armazenado na memria.
comment Esta opo apenas um comentrio padro que auxilia relembrar as definies das sua column family. read_repair_chance Valor entre 0 e 1 que representa a probabilidade da operao de leitura ir desempenhar quando uma query executada sem a specificaoquorum, e retorna a mesma linha das duas ou mais replicas e pelo menos uma das replicas aparece desatualizado. Preload_row_cache Especifica como voc quer popular as linhas em cach ou na hora em que startar o Server.
5.3
Supercolumn
O beneficio de usar uma Supercolumn per mitir o agrupamento das columns. Por padro columnFamilies so configuradas com o tipo Standard, para uma Super Column Family voc configura seu padro para o tipo Super.O Cassandra quando armazena suas informaes armazena em arquivos fragmentados, para otimizar a performance de queries importante manter estas informaes juntas, para isso se faz necessrio o uso de Supercolumns.
5.4
Columns
Situadas dentro de column families ou super column families. 5.4.1 Ordenao de colunas No Cassandra voc especifica como os nomes das colunas vo ser comparadas quando organizadas no momento da consulta pelo usurio. Columns so organizadas pelo Compare With tipo definido quando criada a column family e voc pode escolher uma das seguintes opes:
y y y y y y y y
Observao: Pelo fato de no possuir a clausula Order By os dados que so inseridos no Cassandra devem ser gravados de forma j ordenada.
6. Segurana
Por default, o Cassandra permite qualquer cliente na sua rede a conectar-se com sua instancia. Se voc quiser fornecer credenciais para conexo no seu banco de dados, voc deve mudar o mtodo de autenticao do Cassandra de AllowAllAuthenticatorpara SimpleAuthenticator. y AllowAuthenticator - Standard y SimpleAuthenticator Opo para configurar os usurios e autenticaes para sua instncia
Arquivos- Access.properties e passwd.properties Alterando as permisses do usurio Editar o arquivo cassandra.xml Trocar org.apache.cassandra.auth.AllowAllAuthenticatorpara org.apache.cassandra.auth.SimpleAuthenticator
7. Clients
Assim como vrios banco de dados, o Cassandra tem opes para vrios clientes. - Thrift - Avro - Cassandra Web Console - Hector (Java) - Chiton (Pyton) - Pelops
8. Particularidades
Como funciona a proteo de dados com o uso de Views no Cassandra? Como tudo no Cassandra completamente diferente do estamos acostumados, o uso de Views no podia ser diferente. Para o uso de proteo de dados temos que trabalhar com a criao de outras column families (tabelas). Como exemplo vamos supor que temos uma tabela chamado Usurio e voc gostaria de saber encontrar um usurio em uma cidade especifica, voc deve criar uma segunda column family chamada UsuarioCidade que armazene os dados do usurio com a cidade como key, assim quando a query for realizada voc deve especificar a tabela recm criada UsuarioCidade.
Cassandra FATEC ZONA SUL - 2011
9. Bibliografia
Eben Hewitt. Cassandra: The Definitive Guide . 1 Edio.United States of America. Editoria: OReilly, 2010.330p.
http://abel-perez.com/cassandra-insert-column-example http://www.dicasl.com.br/arquivo/apache_cassandra_nosql_uma_tecnologia_emergente.php http://www.softwareprojects.com/resources/programming/t-how-to-install-cassandra-+thrift-and-why-you-shou-1956.html http://dustyreagan.com/installing-cassandra-on-ubuntu-linux/ http://www.sodeso.nl/?p=108 http://abel-perez.com/cassandra-insert-column-example http://abel-perez.com/apache-cassandra-simplified-client-api http://wiki.apache.org/cassandra/ThriftExamples#Java http://code.google.com/p/cassandra-java-client/ http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=cassandra http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=cassandra http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA