Hibernate e particionamento de tabelas

2 respostas
P

Pessoal, visando buscar otimizar o desempenho em consultas em uma aplicação, onde vamos salvar todo o logo de um sistema muito grande e precisaremos de consultas com resposta rápida, estive lendo e cheguei a duas abordagens: Banco de dados orientado a colunas (Apache Cassandra) e particionamento de tabelas com Postgresql.

Problema 1: Não achei quase nada sobre hibernate + apache cassandra.

Problema 2: Não achei muita coisa que ajudasse com as annotations e configurações do hibernate + particionamento de tabelas no postgresql.

logo, estou em dúvidas de qual abordagem seguir; Fica então minha pergunta, alguem ja trabalhou com alguma destas abordagens? Se sim, poderia me dar uma ajuda de como configurar/anotar minhas classes, com hibernate annotations?

Obrigado!

2 Respostas

rimolive

Para o particionamento no PostgreSQL, veja na documentação que há dois métodos de particionamento: Range e List.

http://www.postgresql.org/docs/8.3/interactive/ddl-partitioning.html

Uma forma mencionada na documentação que pode ser usada é criar uma tabela “master” sem dados e depois criar as partições herdando da tabela “master”.

Vantagem: o particionamento fica restrito ao Banco de Dados e assim evita qualquer complexidade na aplicação.

Outra coisa que você pode ver é o Hibernate shards:

http://www.hibernate.org/subprojects/shards.html

Espero que isso ajude.

P

Obrigado rimolive.

Você já trabalhou com alguma destas abordagens? (no caso o particionamento)

O hibernate shards funciona tanto para tabelas particionadas quanto para bancos distribuídos? Nunca utilizei este framework, apenas o core e annotations.

Agradeço as dicas, vou estudá-las!

Se alguem mais puder dar alguma ajuda, estou no aguardo!

Criado 17 de julho de 2011
Ultima resposta 18 de jul. de 2011
Respostas 2
Participantes 2