Oi pessoal,
estou fazendo uma pequena aplicação, uma agenda, não gostaria de usar access por ser padrão aqui na empresa o OpenOffice, havia pensado em usar o base então, mas cansei de procurar o driver para conectar o programa no arquivo, pensei então em usar o H2 e no meio do caminho encontrei o hsqldb que também é bem pequeno(o jar do hsqldb com serviço e driver é menor) mas a diferença não é nada de mais.
O que gostaria de saber é, o que me recomendam? os dois me parecem bons e como é pequena a aplicação(essa será, outras não serão tão pequenas) não usarei grandes recursos.
cheguei a procurar sites com “AQUIVO x ISSO” mas não tem nada de mais e o que vejo individualmente é tutos de cada um.
Os três são bons. No caso do db4o se utilizado comercialmente deve ser paga uma taxa. Não sei afirmar se são melhores que o hsqldb e o h2, pois ainda não utilizei estes dois.
Sobre o derby, na verdade ele vem por padrão junto com o Netbeans, mas com o jre ou o jdk não.
[quote=Adelar]Os três são bons. No caso do db4o se utilizado comercialmente deve ser paga uma taxa. Não sei afirmar se são melhores que o hsqldb e o h2, pois ainda não utilizei estes dois.
Sobre o derby, na verdade ele vem por padrão junto com o Netbeans, mas com o jre ou o jdk não.
Att.
[/quote]
O JavaDB (Apache Derby) vem por padrão no JDK sim, só não sei a partir de qual release do Java 6.
[quote=davidbuzatto][quote=Adelar]Os três são bons. No caso do db4o se utilizado comercialmente deve ser paga uma taxa. Não sei afirmar se são melhores que o hsqldb e o h2, pois ainda não utilizei estes dois.
Sobre o derby, na verdade ele vem por padrão junto com o Netbeans, mas com o jre ou o jdk não.
Att.
[/quote]
O JavaDB (Apache Derby) vem por padrão no JDK sim, só não sei a partir de qual release do Java 6.
[]´s[/quote]
Na versão que possuo, 1.6.0_10, ainda não tem. Pelo que vi na versão 1.6.0_17 foi colocado ele.
[quote=Adelar]Na versão que possuo, 1.6.0_10, ainda não tem. Pelo que vi na versão 1.6.0_17 foi colocado ele.
Att.[/quote]
Adelar, atualize seu JDK então, pq até a versão 1.6.0_19 (não tenho certeza, acho que corrigiram na 1.6.0_20) existe um problema de segurança, que por sinal, já foi bastante discutido há alguns meses atrás.
[quote=davidbuzatto][quote=Adelar]Na versão que possuo, 1.6.0_10, ainda não tem. Pelo que vi na versão 1.6.0_17 foi colocado ele.
Att.[/quote]
Adelar, atualize seu JDK então, pq até a versão 1.6.0_19 (não tenho certeza, acho que corrigiram na 1.6.0_20) existe um problema de segurança, que por sinal, já foi bastante discutido há alguns meses atrás.
po… para o derby eu vou nosite da sun ou do apache? legal que ele tem um bom doc em ptb.
ajuda.(claro que não li o suficiente, o tempo foi curto mas já me deu uma idéia):
-lá no guia rápido, tem referência a software de um único usuário e a multiusuário como um servidor.
dá para colocar a aplicação+banco num HD público e executar em mais de um PC? pq quando diz multiusuário o banco tem que estar num servidor com java? como o tomcat?
pois é apenas uma agenda, mas com a possibilidade de mais de uma pessoa usar simultaneamente.
quando existe referência a banco embebido, se refere que ele está num pacotão jar que é a aplicação? ou que apenas ele faz parte de uma aplicação e deve acompanha-la para funcionar?
[quote=daquinho]po… para o derby eu vou nosite da sun ou do apache? legal que ele tem um bom doc em ptb.
ajuda.(claro que não li o suficiente, o tempo foi curto mas já me deu uma idéia):
-lá no guia rápido, tem referência a software de um único usuário e a multiusuário como um servidor.
dá para colocar a aplicação+banco num HD público e executar em mais de um PC? pq quando diz multiusuário o banco tem que estar num servidor com java? como o tomcat?
pois é apenas uma agenda, mas com a possibilidade de mais de uma pessoa usar simultaneamente.
quando existe referência a banco embebido, se refere que ele está num pacotão jar que é a aplicação? ou que apenas ele faz parte de uma aplicação e deve acompanha-la para funcionar?[/quote]
1 - Dá p/ rodar o servidor como um servidor de rede sim. Ele mesmo já é o servidor. É só passar uns parâmetros para o .jar. Ele tem todo o controle de um SGBD tradicional, como controle de transações, várias conexões, etc.
2 - Embebido não, embarcado! hehehe que engraçado. Isso, quando diz que ta embarcado, quer dizer que o banco vai junto com a aplicação, mas nesse modo de execução ele não vai ser executado como um servidor de rede. Só vai ser “visível” para a aplicação que o está utilizando.
[quote]Conexão embarcada: realiza uma conexão diretamente no arquivo da base de dados, por esse motivo não é possível criar mais de uma conexão simultaneamente para a mesma base de dados. Conexão via serviço de rede: mesmo utilizando o SGBD derby como um banco portável é possível inicializar o serviço de rede sem realizar uma instalação, isso pode ser feito diretamente pelo código, ou pela linha de comando de um terminal, seja (L)unix ou windows.[/quote]
como devo tratar o banco? pois quero disponibilizar a aplicação para que mais de uma pessoa abra o mesmo programa ao mesmo tempo, como deve ficar? uso o driver de serviço de rede ou o de conexão embarcada?
a intenção é deixar o banco junto da aplicação, numa pasta qualquer e criando atalho nos desktops para quem quiser.
desculpem se estou sendo redundante, isso é novidade para mim(e bem estranho). queria usar um “arquivo access”, mas se tem um sgdb para fazer isso, como certeza é bem melhor, sem pensar que deve ter bem mais capacidade em tudo(ou quase).
como devo tratar o banco? pois quero disponibilizar a aplicação para que mais de uma pessoa abra o mesmo programa ao mesmo tempo, como deve ficar? uso o driver de serviço de rede ou o de conexão embarcada?
a intenção é deixar o banco junto da aplicação, numa pasta qualquer e criando atalho nos desktops para quem quiser.
desculpem se estou sendo redundante, isso é novidade para mim(e bem estranho). queria usar um “arquivo access”, mas se tem um sgdb para fazer isso, como certeza é bem melhor, sem pensar que deve ter bem mais capacidade em tudo(ou quase).[/quote]
Se a aplicação for stand-alone vc pode usar o derby embedded, caso contrário use a opção network que funciona como um sgbd comum.