Nesse meu primeiro post, quero falar um pouco de um assunto pouco discutido no mundo acadêmico. “Databases Orientados à Objetos”.
Enquanto está todo mundo preocupado com ferramentas de mapeamento objetos relacional. Padrões e frameworks tentam pegar seus dados que estão numa forma de objetos dentro de suas aplicações e armazená-los como dados relacionais em databases nao Orientados a Objetos.
Existe um vertente que pensa de uma forma diferente, que ao invés de nos preocuparmos em mapear o mundo dos objetos, com o mundo relacional. Porque não gravar os dados na forma de objetos?
A quantidade de ferramentas que temos a respeito desse assunto é surpreendente. Ao contrário do que muita gente acha, sobre a possibilidade de armazenar dados na forma de objetos esteja ainda muito longe, que isso é mais para o futuro. Estão enganados, existem muitas ferramentas para esse cenário.
Fiz uma pesquisa rápida na web, e encontrei essa lista de banco dados ou frameworks direcionadas para este objetivo, armazenar objetos de sua aplicação na forma nativa, sem a necessidade de transformá-los em dados relacionais.
DB4Objects – www.db4o.com
extremeDB – www.mcobject.com
Jade -        www.jadeworld.com/jade
ObjectDB – www.objectdb.com
Versant - www.versant.com

Um caso específico, e que me chamou atenção, foi o DB4Objects.
O DB4O é um banco de dados inteiramente orientado a objetos, projetado para aplicações cliente-servidor e desktop. A ferramenta permite armazenar classes Java diretamente no banco, sem precisar utilizar consultas SQL ou qualquer tipo de framework que faça o mapeamento objeto-relacional (Hibernate por exemplo).

São inúmeras as vantagens em relação ao banco de dados relacional: a ferramenta é nativa em Java (ou .Net), oferece rapidez de inserção e consulta (processamento de 200 mil objetos por segundo), utiliza pouco recurso computacional, tem fácil aprendizado, não possui nenhuma linha de código SQL para CRUD (Create, Read, Update e Delete), e disponibiliza acesso direto ao banco sem utilizar ORM (Mapeamento Objeto-Relacional).

DB4O originalmente foi desenvolvido para Java, mais ele conta também com uma versão para .net.
Se você acessar o site da comunidade: http://developer.db4o.com/
Você irá encontrar uma série de materiais e pessoas falando a respeito do DB4Objects.
Neste mesmo site você encontrará documentações, blog e um fórum para debater sobre essa tecnologia,você ainda poderá fazer download do DB4Objects para as plataformas Java ou .Net.
Desempenho
De acordo com o site do db4o (www.db4o.com), este banco roda até 44 vezes mais rápido que os B.Ds que já conhecemos (Hibernate com Mysql). Mais detalhes no site  (www.polepos.org).
Estudo de Caso
Aconteceu na Espanha: a Indra Sistemas, uma empresa de desenvolvimento de softwares, foi contratada para criar um centro de controle do sistema espanhol de trens bala AVE. Neste projeto, o db4o foi utilizado como a base de dados de tempo real para controlar o tráfego. A capacidade de processamento do sistema da Indra fica em torno de 200 mil objetos por segundo. Além disso, a administração do banco é zero, com um tamanho reduzido de utilização de memória.

De acordo com José Miguel Rubio Sánchez, gerente técnico da Indra Sistemas, “possivelmente o benefício mais importante é a habilidade de consultar diretamente os objetos, permitindo ter um projeto em Java muito complexo sem necessidade de transformar os  dados. Outro benefício chave é o ambiente de administração zero, o que é obrigatório em  sistemas de tempo real.
Fontes:
Bom galera, vou ficando por aqui.... 
Talvez no próximo post, eu consiga colocar algo na prática, mostrando como instalar e da os primeiros passos neste fantástico mundo dos bancos de dados orientados a objetos.
Edeleon Marcelo Nunes
" Não sei onde estou indo, mas sei que estou no caminho certo"
--------------------------------------------------------------------------------------------
Nina.Luv

0 comentários: