Explanação sobre o banco de dados DB4O, um banco de dados que lida diretamente com objetos, eliminando a necessidade de ferramentas de mapeamento objeto-relacional.
2. Sobre
DB4O, um banco de dados que lida diretamente com
objetos, eliminando a necessidade de ferramentas de
mapeamento objeto-relacional.
3. O Começo...
O projeto DB4O teve inicio em 2000.
Criado por Carl Rosenberger.
Testado por mais de 100 clientes e usuários da
comunidade.
Comprado pela Versant Corporation em 2008.
4. Suas evoluções...
Existem três versões:
Em desenvolvimento;
Produção;
Estável;
As melhorias foram muitas desde a primeira versão
até a atual, mas sempre visando o melhor
desempenho;
Licença GPL e Runtime;
Trajetória das Versões:
Primeira: 0.12;
Ultima: 8.1;
6. Modelo Físico e Lógico...
O db4o trata objetos nativamente como base de dados;
O db4o não usa SQL;
Native Query’s;
S.O.D.A;
Nada de modelo lógico e físico;
É nativo das plataformas Java e .Net.
Interação entre OO e Relacional;
7. Estágio Atual...
Atualmente o DB4O conta com essas tres versões
(desenvolvimento, produção e estável) :
Estável: 7.12.243.16079
Produção: 8.0.249.16098
Desenvolvimento: 8.1.249.16099
As seguintes questões foram abordadas:
CR-2291 - NQ tenta otimizar String métodos internos (com resultados errados)
COR-2290 - Consultas nativas retornarvam cegamente todos os objetos
(8.0,8.1)
CR-2289 - As chamadas para identidade pode remover acidentalmente se
juntas (7.12, 8.1, 8.0)
CR-2284 – Função salvar não está funcionando corretamente após a
8. Performance...
Altos níveis de performance;
Até 44x mais rápido que Hibernate em
combinação com MySQL;
Suporta Threads múltiplas;
Minimo de RAM utilizada: ~1MB;
Tamanho máximo de banco: 254 GB
10. Estudo de caso...
Indra Sistemas;
O sistema espanhol AVE de trens representa a modernização da
infra-estrutura ferroviária do país. O objetivo desta nova rede de
trens bala de alta velocidade é prover novas conexões para que
todas as cidades estejam a menos de quatro horas de Madri e
menos de 6 horas e meia de Barcelona.
A velocidade do db4o permite ao sistema processar mais de 200.000
objetos por segundo;
O db4o é otimizado para rodar com um tamanho reduzido e requer
zero de administração;
O uso do db4o permitiu a Indra focar seus esforços no projeto e
desenvolvimento de um complexo e inteligente modelo de sistema
de informação sem ter que se preocupar com as questões
tecnológicas de armazenamento de objetos.
11. Vantagens...
O banco de dados relacional se torna difícil de
manipular com dados complexos;
Banco de dados orientado a objetos;
Código aberto;
Tem fácil aprendizado;
Possui versões para Java e .Net.
44 vezes mais rápido que algumas combinações;
Utiliza pouco recurso computacional;
Acesso direto sem ORM;
Modelagem mais real:
Facilidade de instalação e utilização
Benefício do paradigma orientado a objetos
12. Desvantagens...
Falta de interoperabilidade com um grande número de
ferramentas;
Falta de fundação matemática formal, que leva a fraqueza na
sustentação da consulta;
A falta de indexação de texto completo, que leva ao mau
desempenho na pesquisa de texto completo;
O método mais comum de consultas (queries nativas) é
potencialmente lenta;
Não há nenhuma linguagem de consulta geral, como SQL , que
pode ser usado para analisar dados ou por outras aplicações.
Isso não permite db4o ser muito flexível em um ambiente
heterogêneo.
Stored procedures: Não existem stored procedures ou triggers
(gatilhos), sendo necessário programar na aplicação essas
funções, o que pode fazer cair o desempenho do sistema
O modelo relacional já está consolidado no mercado,
acumulando anos de estudo e aprimoramento, oferecendo bom
desempenho, mecanismos de otimização, tratamento de
concorrência.
Devemos criar as proteções sobre campos nulos e não nulos;
14. Distribuição
Fique a vontade para baixar e alterar esse
projeto de acordo com suas necessidades, além
de usa-lo como base para seus próprios projetos.
E-mail: wagner.bfm@gmail.com
Twitter: @wagner_bfm