SlideShare uma empresa Scribd logo
1 de 14
Um banco de dados orientado a objetos...
Sobre
DB4O, um banco de dados que lida diretamente com
objetos, eliminando a necessidade de ferramentas de
mapeamento objeto-relacional.
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.
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;
Modelo Físico e Lógico...
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;
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
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
Performance...
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.
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
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;
Equipe...
 Joao Hosken;
 Wagner
Bonfim;
 Kelvin
Monteiro;
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

Mais conteúdo relacionado

Semelhante a Slide db4 o

Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasAécio Pires
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateAnálise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateRicardo Rinco
 
Perl e o Mercado de Trabalho
Perl e o Mercado de TrabalhoPerl e o Mercado de Trabalho
Perl e o Mercado de Trabalhoguestd8c9f1
 
Perl e o Mercado de Trabalho
Perl e o Mercado de TrabalhoPerl e o Mercado de Trabalho
Perl e o Mercado de TrabalhoEduardo Prillwitz
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedoresDrupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedoresPedro Rocha
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
Overview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalOverview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalJust Digital
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Sugizo Akino
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 

Semelhante a Slide db4 o (20)

Banco de dados dbo4
Banco de dados dbo4Banco de dados dbo4
Banco de dados dbo4
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateAnálise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
 
Perl e o Mercado de Trabalho
Perl e o Mercado de TrabalhoPerl e o Mercado de Trabalho
Perl e o Mercado de Trabalho
 
Perl e o Mercado de Trabalho
Perl e o Mercado de TrabalhoPerl e o Mercado de Trabalho
Perl e o Mercado de Trabalho
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedoresDrupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Overview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalOverview de Drupal pela Just Digital
Overview de Drupal pela Just Digital
 
Java com Excelência
Java com ExcelênciaJava com Excelência
Java com Excelência
 
ORM e EF
ORM e EFORM e EF
ORM e EF
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Banco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetosBanco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetos
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 

Mais de Wagner Bonfim

Objetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBAObjetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBAWagner Bonfim
 
O que é tecnologia da informação
O que é tecnologia da informaçãoO que é tecnologia da informação
O que é tecnologia da informaçãoWagner Bonfim
 
Francis bacon e o método empírico - Mini Seminário
Francis bacon e o método empírico -  Mini SeminárioFrancis bacon e o método empírico -  Mini Seminário
Francis bacon e o método empírico - Mini SeminárioWagner Bonfim
 
A transformação do trabalho e do mercado de trabalho
A transformação do trabalho e do mercado de trabalhoA transformação do trabalho e do mercado de trabalho
A transformação do trabalho e do mercado de trabalhoWagner Bonfim
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturadaWagner Bonfim
 

Mais de Wagner Bonfim (7)

Objetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBAObjetos distribuídos e invocação remota - CORBA
Objetos distribuídos e invocação remota - CORBA
 
O que é tecnologia da informação
O que é tecnologia da informaçãoO que é tecnologia da informação
O que é tecnologia da informação
 
Francis bacon e o método empírico - Mini Seminário
Francis bacon e o método empírico -  Mini SeminárioFrancis bacon e o método empírico -  Mini Seminário
Francis bacon e o método empírico - Mini Seminário
 
A transformação do trabalho e do mercado de trabalho
A transformação do trabalho e do mercado de trabalhoA transformação do trabalho e do mercado de trabalho
A transformação do trabalho e do mercado de trabalho
 
Memórias dram
Memórias dramMemórias dram
Memórias dram
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturada
 
Scrum
ScrumScrum
Scrum
 

Slide db4 o

  • 1. Um banco de dados orientado a objetos...
  • 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;
  • 5. Modelo Físico e Lógico...
  • 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;
  • 13. Equipe...  Joao Hosken;  Wagner Bonfim;  Kelvin Monteiro;
  • 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