Recentemente enfrentei alguns problemas ao tentar instalar o Apache Cassandra. Como o getting started do projeto não me ajudou muito, aqui segue um guia rápido sobre como instalar o bichinho no seu computador/servidor.
1. Faça o download da última versão no site oficial: http://incubator.apache.org/cassandra/
2. Verifique os seus requisitos de sistema.
Como o Cassandra é feito em Java, o ideal é que você tenha a última versão do JRE instalado na sua máquina. No meu caso, usei o JDK 1.6.0_18. Caso você tenha no seu computador tanto o JDK quanto o JRE convencional instalado, recomendo que você defina a sua variável JAVA_HOME apontando para o diretório do JDK – ainda não está claro na documentação do Cassandra se o JDK é obrigatório.
3. Descompacte o conteúdo do arquivo baixado em um diretório de sua escolha
4. Crie uma variável de ambiente chamada CASSANDRA_HOME que aponte para o seu diretório de instalação do Cassandra
5. Edite o arquivo storage-conf.xml, que se encontra em CASSANDRA_HOME/conf
Neste arquivo encontram-se pré-configurados os diretórios nos quais o Cassandra irá armazenar os seus dados. O problema é que muito provávelmente estes diretórios não existem ainda no seu computador. Procure pelas tags CommitLogDirectory (que armazena o log de commits do Cassandra), DataFileDirectories (aonde seus dados serão armazenados), CalloutLocation e StagingFileDirectory
Como você verá, eles estão configurados para diretórios do tipo /var/cassandra, ou seja, já vieram pré-configurados para Linux. Se você está usando Windows, com certeza o Cassandra não irá funcionar de cara.
Há dois caminhos para solucionar o problema: Você pode criar a estrutura de diretórios exposta por estas tags ou simplesmente editá-las definindo aonde suas informações deverão ser armazenadas.
Feito isto o Cassandra executará perfeitamente no seu computador.
PS: bem que podia haver um instalador hein? Hmm…. (estalo na cabeça) :)
Você viu isso: http://br-linux.org/2010/crescimento-faz-twitter-trocar-o-mysql-pelo-cassandra/ ?
Sim, nestes dias estou pesquisando alternativas não relacionais para aplicar em um projeto e foi com esta notícia que fiquei conhecendo o Cassandra.
Até então só conhecia o mongoDB (http://www.mongodb.org) e o CouchDB (http://couchdb.apache.org).
O grande problema que estou vendo no Cassandra agora é a documentação, que é práticamente inexistente. Uma pena.
Interessante !
Banco de Dados em Java melhor que SQL ?!
Fiquei curioso. Dig, Facebook e Twitter adotando ?
Comecei a procurar material sobre o assunto.
Alguém já utiliza ?
Oi Francisco,
na realidade, não é melhor, apenas diferente. O que ocorre é que com o passar do tempo ficou nítido que não podemos contar com o modelo relacional para tudo. Nestes casos, adota-se as soluções NoSQL (Not Only SQL), que costumam resolver este tipo de situação específica.
Na maioria dos casos, inclusive, eu diria que não são a melhor solução, pois a maior parte dos problemas ainda é melhor resolvida com a abordagem relacional.
Tb tem um outro banco nos moldes do cassandra, so que é voltado mais para grafos,http://neo4j.org/
Andei brincando com o neo4j há algum tempo atrás. É muito interessante!