A versão 1.5.5 do banco de dados Objeto NeoDatis ODB foi liberada.
Esta versão traz grande melhora de desempenho : permite inserir 12000 objetos/segundo, atualizar 11000 objetos/segundo e recuperar mais de 110000 objetos/segundo.
ODB permite persistir e recuperar objetos Java de maneira totalmente transparente. ODB é Open Source LGPL.
Baixei agora e já estou conseguindo usar! Muito fáci lde aprender, estou gostando muito!
O
onolox
Também estou testando e estou achando muito bom, só os DBAs acham ruim, pq eles vão ter que aprender mais heheheheheeh
Só fico na dúvida de como modelar um banco OO.
K
Kknd
Poxa, já consegui ter uma boa idéia de como funciona. Fiz uma pequena classe pra fazer a interação com o BD. Agora to tentando melhorar minha aplicação pra ficar menos procedural.
A
asclows
Bem que alguns dos ‘Gurus’ deste portal poderiam mostrar seus conhecimentos nesta hora!
Gurus = Aqueles que ‘sempre gostam se mostrar’ poderiam trazer algo de valor para nós já que banco de dados OO ainda é um assunto desconhecido (praticado) pela maioria.
E
emoretto
pra quem gostou, tem um outro também bastante similar… o DB4O
Andei fazendo uns testes com esse db4o e gostei bastante.
P
plentz
O que você tentou dizer aqui?
O
Olivier
Kknd ,
A ideia do ODB, ou de outro banco de dados Objeto Nativo, é que você se preocupa com suas classes de negócio. O Modelo do seu banco acaba sendo o seu modelo de classes: Fica totalmente transparente.
Olivier.
S
Sombriks
Hahaaa, sou fã de carteirinha de bancos de objetos e modelar um banco de objetos se resume a criar seus Value Objects, importanto um pouco do que o pessoal de brinquedos poderosos como Hiberante e etc. já fazem por aí.
I
italomaia
Rapaz, achei esse dbatis interessante. Do Jeitinho que um dbOO deve ser. E o db4o eu já testei e aprovei, entretanto, o dbatis é gpl e talz hã? Uma comparação dos dois pode ser interessante.
D
Daniel_Quirino_Olive
Será?
S
Sombriks
Será?
Ah, tá bom, tá bom, tem mais caroço nesse angú,
mas me diz se vc sente tesão ao fazer um mapeamento hbm no hibernate, :twisted:
D
Daniel_Quirino_Olive
Será?
Ah, tá bom, tá bom, tem mais caroço nesse angú,
mas me diz se vc sente tesão ao fazer um mapeamento hbm no hibernate, :twisted:
Não não. O que queria dizer é: será que projetar um banco OO é apenas criar Value-Objects-que-não-são-Value-Objects-de-verdade como se faz com Hibernate ou os Value-Objects-que-não-são-Value-Objects-de-verdade que usamos no Hibernate são apenas quebra-galhos para fazer um ORM funcionar? Aliás, “objetos de persistência” fazem mesmo sentido neste caso?
D
danyelsanches
Pessoal, muito bom este banco, testei e gostei muito…
Mas alguém sabe como ele se comporta com um volume muito grande de dados? E qual o seu desempenho comparando com outros bancos mais usados?
J
jmarceno
danyelsanches:
Pessoal, muito bom este banco, testei e gostei muito…
Mas alguém sabe como ele se comporta com um volume muito grande de dados? E qual o seu desempenho comparando com outros bancos mais usados?
Quanto a este citado no tópico eu não sei dizer, mais quanto ao db4o ele tem vários comparativos no próprio site e parece ter um desempenho legal.
E já fiz alguns testes que me deixaram satisfeito, o problema é que ele tem um limite de 2GB para cada arquivo de dados :S .
O
Olivier
Pelos testes que eu fiz, o desempenho do ODB é equivalente ao do DB4O. No próprio site do ODB, citam alguns números interessantes :
ODB can store more than 12000 objects per second, update more than 11000 objects per seconds and select more than 110000 objects per second (On Intel Core 2 Duo with 2Gb of Memory).
Lembrando também que as licenças do DB4o e ODB são diferentes:
ODB é LGPL, DB4O é GPL (com licença comercial para uso comercial).
_
_fs
Não encontrei as métricas utilizadas para realizar o teste no site, alguém sabe?
C
chun
qual a REAL vantagem sobre o Hibernate ?
G
giulianocosta
Bah, vou dar uma testada nesses brinquedos. O fato de sair dos xmls de mapeamento deve ser algo…
Como eles devem se comportar em casa de mundança de estrutura dos objetos ja persistidos?
F
fmeyer
voce pode usar annotations
O
Olivier
Chun,
NeoDatis ODB ou Db4O não se comparam diretamente com Hibernate. Hibernate é uma camada de mapeamento entre Mundo OO e Mundo relacional. ODB e Db4O são banco de dados! não são camada de mapeamento. Hibernate ainda usa um banco de dados, os bancos OO ‘são o banco’.
Para responder ‘giulianocosta’, quando há mudança na estrutura de objetos já persistidos, ODB tem um mecanismo de refactorig automático que detecta as mudanças nos objetos e faz o refactoring no modelo do banco tb (quando possível).
G
Grinvon
Não posso baixar aqui do trampo, mas dei uma olhada no tutorial, parecel sim bem fácil e bastante útil para criação de arquivos de configuração (projetando um pequeno banco para configuração de uma aplicação) e também para sistemas pequenos possa cair como uma luva.
P
pcalcado
Se vocês querem realmente pensar num banco destes, dicas:
1 - Vejam a política de migration schema dele
2 - Vejam se existem ferramentas de gerenciamento
Se 1 e 2 forem ruins, ESQUEÇAM.
S
srolbh
pcalcado, voce esta dizendo entao que por essas razoes BDOO sao ruins???
Pq o db4o tem uma ferramenta básica de auxilio chamada ObjectManager.
o que nao da pra comparar com um Enterprise Manager naturalmente…
E migracao pra BDR?? Nao sei como…
O
Olivier
o NeoDatis ODB tem uma ferramenta ODBExplorer que permite:
Se conectar ao um banco local ou remoto
Consultar o meta modelo da bases (as classes)
Consultar os objetos (como hierarquia de objetos ou como tabela)
Criar query de maneira gráfica
Apagar objetos
Atualizar objetos
Criar novos objetos
Importar e Exportar de/para XML
R
rafaelsouzaf
Olá,
Pelo que estou vendo, esses bancos OO fazem o mesmo que o Prevayler, armazenar objetos em memória e persisti-los em arquivos serializaveis/xml. Está certo?
Obrigadão!
G
giulianocosta
voce pode usar annotations
Com cerveja fmeyer, o que quis dizer implicitamente é que sair desse arremedo que é OO mapeado para relacional é um grande salto. Quando pudermos fazer isso com toda segurança e tranquilidade sem sombra de dúvida será bem melhor do que ficar fazendo arremedo para amarrar relacional ao OO.
J
jmarceno
Olá,
Pelo que estou vendo, esses bancos OO fazem o mesmo que o Prevayler, armazenar objetos em memória e persisti-los em arquivos serializaveis/xml. Está certo?
Obrigadão!
Na verdade não…
Falo pelo db4o que conheço e já testei bastante, ele não usa XML, é um arquivo de dados em formato binário mesmo.
Na última versão dele implementarão isto com a ajuda de árvores B+, o que deve ter melhorado a performance (não tenho certeza pq não testei depois :P)
O que eles permitem é que você exporte tudos os dados para XML o que facilita na hora de uma migração, em bancos pequenos é claro…rs
abcs
O
Olivier
ODB e DB4o têm muitas diferenças com Prevayler. Seguem algumas:
Prevayler traz toda sua estrutura para memória. ODB e DB4O só trazem o que vc pediu.
ODB e Db4O têm linguagens de query.
Prevayler usa serialização de objetos o que traz problemas se seu modelo de classes muda…
e várias outras…
B
bzanchet
Por favor, não leve ao pé da letra :D. Chamemos de “Hibernate”, aqui, o uso conjunto do próprio Hibernate com o seu SGBD relacional favorito.
Agora podemos fazer uma comparação, não é? Deixo aqui algumas sugestões de aspectos a serem debatidos: curva de aprendizado, facilidade de configuração/uso, facilidade de manutenção e de migração.
Migração : Migração para outras versões do ODB,para outros Banco OO ou para outros bancos relacionais ? ODB tem mecanismo de importação e exportação para XML.
Com relação a manutenção, vou deixar em aberto.
G
Guilherme_Silveira
Tenho algumas duvidas:
Qual foi o objeto que foi persistido 12000 instancias por segundo.
O banco OO está rodando remotamente em outra máquina e se comunicando via tcp com o cliente java? Ou está rodando embedded e por isso não existe o principal delay de casos simples que é o envio de dados pela rede
As mais de 100 mil buscas por segundo envolvem o mesmo objeto que está em cache na memória (isto é, 99999 mil hits de cache) ou envolvem 100 mil buscas remotas de dados enviados via tcp?
Acho que a pergunta que fica é a qual foi a métrica utilizada no teste mesmo. Foi remoto? Foi local? Com cache local? Sem?
Se eu desejo fazer uma busca de todos os jogadores que tem data dentro de tal período fechado, que estrutura de dados ele utiliza para fazer essa busca? Tem como indexar por esse campo? Afinal, não quero uma busca linear e lenta.
G
giulianocosta
A real é que eu acho que esses benchmarks são meio marketeiros mesmo… Pq os caras nao postaram métricas…
G
glaucioguerra
Não conheço o ODB, mas o db4o é projetado para aplicações embeddable, mobile, desktop…
Segue um trecho do site:
“db4o is designed to provide a full-featured, embeddable database engine for equipment, mobile, desktop, and server platforms in
object-oriented environments. Where relational databases fall short
in providing zero-administration, small footprint, high performance, smooth synchronisation, and easy refactorability, db4o is the answer.”