Persistindo arquivos no Cassandra

fonte:http://www.gerenciandoblog.com.br/2009/08/onde-hospedar-arquivos-para-seu-blog.html

    Nas aplicações empresariais além de persistir texto e número elas podem salvar arquivos ou documentos. Persistir esse tipo de informação é muito útil, por exemplo, um processo civil além de possuir informações ter o arquivo escaneado ou um twett com uma imagem. No cassandra se pode armazenar arquivos, no entanto, armazenar documentos muito grandes um banco do tipo documento seja mais indicado nessas ocasiões.
     Para demonstrar esse recurso será feita uma pequena aplicação, um álbum de fotografia, a foto será exibida a partir do nome dado a foto. No caso ao selecionar “Paris” será exibida a foto relacionada a esse nome. 
Ao usar a palavra chave “Paris” imagem como essa deveria aparecer
Será utilizado para esse programa a plataforma SE 7 com Swing com o Easy-Cassandra, para isso é necessário baixar a lib do Easy-Cassandra além de suas dependências aqui.
O objeto que representará a foto terá dois campos:
  • Como a foto será exibida a partir do nome, então terá de ser única assim nossa chave
  • O arquivo da foto
A tabela 1 mostra como o Objeto foi modelado:
@ColumnFamilyValue
public class Photo {
@KeyValue
private String name;
@ColumnValue
private File picture;
//getter and setter
}
tabela1: Representação da Foto no java
public class PhotoDao {
private Persistence persistence;
public PhotoDao() {
persistence = EasyCassandraManager.getPersistence(“exemplo”, “localhost”, 9160);
}
public void criar(Photo bean) {
persistence.insert(bean);
}
@SuppressWarnings(“unchecked”)
public List listarTodos() {
return persistence.findAll(Photo.class,ConsistencyLevelCQL.ALL);
}
}
tabela2:Dao para a Photo
 
    Tão Logo esteja rodando o Cassandra o objetivo agora será criar o KeySpace e a Família de Coluna, entre no modo cliente do Cassandra e execute o comando na tabela 3. É importante salientar que tanto a anotação ColumnValue e ColumnFamilyValue o valor padrão é o nome do campo e a classe respectivamente.
create keyspace exemplo;

use exemplo;

create column family Photo with

comparator = UTF8Type;
tabela3: criando o KeySpace e a Família de Coluna
Programa em execução

     Esse artigo apresentou a persistência de um arquivo demonstrando um exemplo prático com um álbum de fotografia, esse recurso é muito útil e seu uso é bastante simples. Além de suporte a classe java.io.File o Easy-Cassandra tem suporte as classes que implementam o java.nio.file.Path, assim se pode representar o arquivo desses dois modos.

Referência:
Easy-Cassandra: https://github.com/otaviojava/Easy-Cassandra/
 Exemplo do programa de Álbum  no Netbeans: https://github.com/otaviojava/Easy-Cassandra/downloads

Exemplo do programa Álbum  no Eclipse: https://github.com/otaviojava/Easy-Cassandra/downloads

Anúncios

Um comentário sobre “Persistindo arquivos no Cassandra

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s