Senhores,
Estou escrevendo um trabalho que será uma extensão a um banco de dados, precisarei incluir funções, tipos de dados e duas estruturas em particular (complementares a tabelas). Os outros elementos necessários são facilmente encontrados nos banco de dados, como funções matemáticas, visões, logs, transações, concorrência etc.
Em função deste trabalho já realizei uma pesquisa em vários bancos open-source, estudando sua arquitetura e código fonte para avaliar qual melhor, ou melhor dizendo, qual obtenho melhores resultados.
Nesta linha, tenho um arsenal de informações sobre os bancos MySQL, PostgreSQL, BDB, Oracle e os escritos em java (Derby, HSQL, BDB).
Mas ainda estou colhendo opniões e gostaria de saber de quem já utilizou na prática um desses bancos escrito em java, comparado com os em código nativos ou comparados entre eles. Vale qualquer experiência que possa nos ajudar a realizar a escolha.
Principalmente as dificuldades.
Por exemplo, perda de informação, crash, compatibilidade com RAID, SO, consumo de memória, rede, número de usuários concorrentes, tamanho da base de dados armazenada, se usa ou não blobs.
Até o momento eu não entendi porque a SUN optou pelo Derby para ser o JavaDB e não uma implementação do BDB como o SleepyCat (atualmente mantido pela Oracle, mas ainda com a licença do tipo BSD).
Em termos de parse, o derby utiliza o conhecido javacc, o SleepyCat e o HSQL possui parses próprios, alias o do HSQL acaba sendo dividido em várias parte do código (um dos pontos negativos para o meu trabalho).
- quais bancos de dados puro java vocês já utilizaram?
- Vocês conhecem alguma coisa sobre a arquitetura desses bancos?
- Qual tecnologia que utilizam para o parse?
- Tipo de índices suportados?
- estruturas de blob?
- Recursos de backup/recuperação?
- failover? arquived logs?
Vamos lá pessoal, qualquer comentário eu agradeço, pode me indicar algo que eu ainda não li ou preciso aprofundar.
Referência para os interessados:
http://www.oracle.com/database/berkeley-db/index.html
http://hsqldb.org/
http://db.apache.org/derby/
Artigos interessantes:
http://weblogs.java.net/blog/davidvc/archive/2006/11/oracle_benchmar_1.html
http://dev.mysql.com/tech-resources/crash-me.php - benchmark da mysql
http://www.oracle.com/database/docs/Berkeley-DB-v-Relational.pdf
Comparação entre os bancos, feito pelo PolePosition:
http://polepos.sourceforge.net/results/PolePosition.pdf
vw
8)