diogogama:
Prezados, gostaria de discutir uma assunto com vocês para que tenha um melhor esclarecimento.
Quando se tem um volume de dados muito grande, devemos abandonar o hibernate e/ou jpa? Isso influenciará muito na performace? Qual seria a melhor solução?
Eu não entendo muito bem porque dessa opção, poderiam me ajudar explicando os motivos?
Desde já agradeço a todos.
Depende do que você chama de “volume de dados muito grande” e “performance”.
É claro que incluir uma camada de abstração sempre adiciona um overhead de processamento e memória. Mas na maior parte do tempo esse overhead compensa. Havendo uma limitação nessa abordagem, você precisa entender onde exatamente está essa limitação: consumo de CPU ? consumo de memória ? concorrência nas transações ? dificuldade em escalar ?
A priori, eu diria que há duas fontes de problemas como JPA/Hibernate:
1 - a forma que é usado: por abstrair o banco de dados, acho que um efeito colateral é programadores menos experientes pararem de pensar no banco de dados. Assim, os programadores param de pensar em JOINs, número de consultas executadas, se o cache vai ser aproveitado, etc.
2 - limitações próprias do modelo relacional: muito da onda de NoSQL veio em razão da dificuldade em se escalar horizontalmente bancos relacionais, esparsidade dos dados etc.
Enfim, acho muito difícil obter uma resposta satisfatória para essa pergunta sem contextualizá-la melhor.