Páginas

terça-feira, 24 de abril de 2012

BANCO DE DADOS ORIENTADOS A OBJETOS


INTRODUÇÃO

Banco de dados são softwares que tem como finalidade principal armazenar dados específicos onde serão obtidas informações para determinada ação. Hoje os bancos de dados mais utilizados são os relacionais, no qual todos os dados são armazenados em tabelas que se relacionam uma com as outras, porém, a necessidade de se trabalhar com aplicações mais complexas, levou a evolução dos BDOO´s (Banco de Dados Orientados a Objeto), onde os dados são armazenados na forma de objetos. Este trabalho pretende mostrar algumas das funcionalidades de um Banco de Dados Orientados a Objeto, suas principais características, a facilidade de se trabalhar com as LPOO’s (Linguagens de Programação Orientadas a Objetos), vantagens e desvantagens dessa nova tecnologia.

História
Os sistemas de gerenciamento de banco de dados orientado a objetos cresceram fora das pesquisas durante o começo da metade dos anos 80, buscando ter sustentação intrínseca da gerência da base de dados para objetos gráfico-estruturados. O termo “sistema de banco de dados orientado a objetos” surgiu originalmente por volta de 1985. Projetos de pesquisa notáveis incluem Encore-Ob/Server (Brown University), EXODUS (University of Wisconsin), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer Technology Corporation or MCC), Vodak (GMD-IPSI), e Zeitgeist (Texas Instruments). O projeto ORION teve mais artigos publicados do que qualquer outro. Won Kim, do MCC, compilou os melhores destes artigos num livro publicado pelo MIT Press.[1]
Surgiram produtos comerciais, como o GemStone (Servio Logic, alterado para GemStone Systems), Gbase (Graphael), e Vbase (Ontologic). No começo da metade dos anos 90 vimos novos produtos comerciais entrarem no mercado. Deste inclui-se ITASCA (Itasca Systems), Matisse (Matisse Software), Objectivity/DB (Objectivity, Inc.), ObjectStore (Progress Software, adquirido pela eXcelon, a qual era originalmente Object Design), ONTOS (Ontos, Inc., alterado para Ontologic), O2[2] (O2 Technology, surgiu de várias companhias, adquirido pela Informix, qual por sua vez foi adquirida pela IBM), POET (agora da FastObjects da Versant que adquiriu a Poet Systems), e Versant Object Database (Versant Corporation). Alguns destes produtos se mantem no mercado, tendo alguns se unido com novos produtos.
Os Sistema de Gerenciamento de Banco de Dados Orientados a Objetos adicionaram o conceito de persistência à programação orientada a objetos. No início os produtos comerciais eram integrados com várias linguagens GemStone (Smalltalk), Gbase (Lisp), e Vbase (COP). O COP era o C Object Processor, uma linguagem proprietária baseada no C ( COP é diferente de C++. Apesar de ambas terem C como base C++ também foi influenciada Pela Simula). Durante praticamente todos os anos 90, o C++ dominou o mercado comercial de Gerenciadores de Banco de Dados Orientados a Objetos. Os vendedores acrescentaram o Java no final dos anos 90 e mais recentemente o C#.
Adoção de Banco de Dados Orientados a Objetos
Banco de dados orientados a objetos baseados numa programação persistente adquiriram um nicho nas áreas como banco de dados espaciais, telecomunicações, e áreas científicas como física de alta energia e Biologia molecular. Eles tiveram pouco impacto nas principais aplicações comerciais de processamento de dados, embora sejam utilizados em algumas áreas especializadas em serviços financeiros. Há também que notar que estes bancos guardam a maior base de dados do mundo ( mais de 1000 Terabytes da Stanford Linear Accelerator Center) e tem a maior taxa de inserção atingida por um banco de dados comercial ( mais de um Terabyte por hora).
Iniciando em 2004, os bancos de dados orientados a objetos tiveram um segundo período de crescimento quando os projetos de banco de dados livres surgiram com diversos recursos e de fácil uso, porque eles eram totalmente escritos em linguagens orientada a objetos, como o Java, C++ ou C#.
  
Como surgiram os BDOO´s?

O desenvolvimento dos Sistemas de Gerenciamento de Banco de Dados Orientados a Objetos (SGBDOO) teve origem na combinação de idéias nos modelos de dados tradicionais e de linguagens de programação orientadas a objetos.
No SGBDOO, a noção de objeto é usado no nível lógico e possui características não encontradas nas linguagens de programação tradicionais, como operadores de manipulação de estruturas, gerenciamento de armazenamento, tratamento de integridade e persistência dos dados.

Os modelos de Dados Orientados a Objetos têm um papel importante nos SGBDs porque são mais adequados para o tratamento de objetos complexos (textos, gráficos, imagens) e dinâmicos (programas, simulações), por possuírem maior naturalidade conceitual e, finalmente, por estarem em harmonia com fortes tendências em linguagens de programação e engenharia de software. A junção entre as linguagens de programação e banco de dados é um dos problemas que estão sendo tratadas de forma mais adequada no contexto de orientação orientada a objetos.

Recursos Técnicos
Num banco de dados orientado a objetos puro, os dados são armazenados como objetos onde só podem ser manipulados pelos métodos definidos pela classe de que estes objetos pertencem. Os objetos são organizados numa hierarquia de tipos e subtipos que recebem as características de seus supertipos. Os objetos podem conter referências para outros objetos, e as aplicações podem conseqüentemente acessar os dados requeridos usando um estilo de navegação de programação.
A maioria dos banco de dados também oferecem algum tipo de linguagem de consulta, permitindo que os objetos sejam localizados por uma programação declarativa mais próxima. Isto é, na área das linguagens de consulta orientada a objetos. A integração da consulta com a interface de navegação faz a grande diferença entre os produtos que são encontrados. Uma tentativa de padronização foi feita pela ODMG (Object Data Management Group) com a OQL (Object Query Language).
O acesso aos dados pode ser rápido porque as junções são geralmente não necessárias (como numa implementação tabular de uma base de dados relacional), isto é, porque um objeto pode ser obtido diretamente sem busca, seguindo os ponteiros.
Outra área de variação entre os produtos é o modo que este schema do banco de dados é definido. Uma característica geral, entretanto, é que a linguagem de programação e o schema do banco de dados usam o mesmo modo de definição de tipos.
Aplicações multimídia são facilitadas porque os métodos de classe associados com os dados são responsáveis pela correta reprodução.
Muitos banco de dados orientados a objetos oferecem suporte a versões. Um objeto pode ser visto de todas as várias versões. Ainda, versões de objetos podem ser tratadas como objetos na versão correta. Alguns banco de dados orientados a objetos ainda provem um suporte sistemático a triggers e constraints que são as bases dos bancos ativos.
  
Em que são utilizados os BDOO´s

Objetos Complexos

Os objetos complexos são formados por construtores (conjuntos, listas, tuplas, registros, coleções, arrays) aplicados a objetos simples (inteiros, booleanos, strings). Nos modelos orientados a objetos, os construtores são em geral ortogonais, isto é, qualquer construtor pode ser aplicado a qualquer objeto. Em SGBDOO, também podemos utilizar estest tipos de dados estruturados, assim sendo, a consulta ao banco de dados precisa ser mais complexa, pois ao invés de acesso a tabelas e registros, é necessário o acesso a listas, truplas, arrays, entre outros.

Exemplos de aplicações complexas

- Projeto de engenharia e arquitetura.
- Experiências cientificas.
- Telecomunicações.
- Sistemas de informações geográficas.
- Multimídia...

Características das aplicações complexas

- Transações de duração mais longa.
- Novos tipos de dados para armazenar imagens ou grandes itens de texto;
- Necessidade de definir operações especifica de aplicações não padronizadas.

Características dos SGBDOO´s

Cada objeto possui um identificador de objeto ou OID (object identifer), que o torna único, não usa a linguagem SQL, por isso não há querys, na verdade você busca por seus objetos através de metodologias predefinidas. Chamamos estas metodologias de Native Query´s.

Na diferenciação do modelo relacional e do orientado a objeto, ficaria da seguinte maneira.

Modelo Relacional
Modelo OO
Tabelas (entidades)
Objetos
Linhas (Registros)
Tuplas
Query´s (Consultas, etc)
Native Query´s
Sql Ansci
Métodos, construtores

A forma de acesso aos dados no banco é remodelada porque os SGBDs orientados a objetos sugerem novos tipos de dados com sequencias de bits, ponteiros, linhas, números compelxos e elementos de dados do tipo array. Para acessar uma array, um modo especial de consulta teria que ser construído, por exemplo:
Select nome_moto
From registro_vendas
Where numero_vendidos (2) > 2;

A consulta acima relacionada retorna o nome das motos vendidas no mês de fevereiro, representado pela sentença (2) e com quantidade acima de 200 unidades, o mês de fevereiro faz parte de uma array de 12 elementos, representando os meses.

Exemplos de Sistemas de Gerência Banco de Dados Orientado a Objetos

O SGBD Órion

Existem vários tipos de SGBDOO, vários deles de suma importância para determinadas funções. Dentre eles existe o Órion que é muito utilizado em perícias. O Órion conta com 1103 veículos de carga e 4121 veículos de passeio e comerciais leves cadastrados em seu banco de dados, além de ser o mais barato do mercado. Presente em mais de 640 oficinas, o Órion possibilitou a realização de mais de 130 mil perícias, no ano de 2006, e mais de 58 mil, até maio de 2007, pelo processo de imagem.

            Com o objetivo de atuar cada vez mais na melhoria do software, foi oferecida uma nova versão do Órion. As oficinas e seguradoras contam com as seguintes novas funcionalidades:

- Comparativo de revisões: Possibilita a oficina a total gestão do processo de peritagem;

- Laudo em extensão XML : Possibilita a integração com o sistema de gestão interna da oficina;

- Novo layout da agenda de visitas: Possui todas as informações necessárias para o trâmite de realização de orçamento e comunicação direta com o perito da seguradora:

- Novo Layout de fotos : Possibilita a inserção de mais de 30 fotos por processo;

- Consulta eletrônica de peças : Permite a consulta eletrônica de peças, tanto por descrição como por partnumber.
  
DB4O

O DB2 é o Sistema Gerenciador de Banco de Dados Relacionais (SGDBR) produzido pela IBM. Existem diferentes versões do DB2 que rodam desde num simples PDA|computador de mão, até em potentes mainframes e funcionam em servidores baseados em sistemas Unix, Windows, ou Linux.

Existe também o DB4O, um poderoso SGBDOO para manipulação de objetos como base dados, fácil maneira de se armazenar objetos nativamente em JAVA ou .NET (Próxima Release da suporte a PHP), possui uma performance até 40X maior que qualquer banco de dados relacional, processa aproximadamente 200.000 objetos por segundo, seu código é aberto e seu custo é muito baixo (praticamente zero).


História

O nome DB2 foi dado para o Sistema de Gerenciamento de Banco de Dados que a IBM lançou em 1983 baseado em SQL/DS para seu mainframe. A principio o produto foi chamado System R que fora iniciado em 1978. O projeto DB2 começou no inicio dos anos 70 quando Edgar Frank Codd, trabalhando para IBM descreveu a teoria dos Banco de dados Relacionais e publicou sua teoria em Junho de 1970. Para aplicar o modelo, Codd criou uma linguagem de banco de dados relacionais que a chamou de Alpha. Entretanto, a IBM não acreditava no potencial das suas idéias, deixando-o fora da supervisão do grupo de programadores, que violaram diversas idéias fundamentais do modelo relacional de Codd. O resultado foi a linguagem SEQUEL, que depois foi mudado para seu acrônimo SQL porque SEQUEL já era uma marca registrada.

Por muitos anos, DB2 foi feito exclusivamente para rodar nos mainframes da IBM. Posteriormente a IBM introduziu o DB2 para outras plataformas de servidores, incluindo o Unix e o Windows, para então colocar no Linux e PDAs. Esse processo foi feito na década 90. A inspiração para os detalhes de implementação do DB2 vieram da linguagem DL/1 da IBM e do Sistema de Gerenciamento de Informações também dessa empresa. As novas versões já são avaliadas para OS/2 e é chamada DB2/2.

Na metade do ano de 2006, a IBM anunciou o “Viper”, o codinome do DB2 9 para computação distribuídas e para DB2 9 no z/OS. A empresa diz que o novo DB2 será o primeiro banco de dados relacional que armazena o XML nativo. Outros recursos incluem o desenvolvimento baseado em OLTP para computação distribuídas, o desenvolvimento baseado em Business intelligence e data warehousing para z\OS, mais recursos de auto configuração e auto gerenciamento, adição de recursos para a plataforma 64-bits (especialmente para z/OS), melhoria na performance do armazenamento estruturado para z/OS e a continuação da padronização do vocabulário da linguagem SQL entre z/OS e outras computação distribuídas.
[editar] Edições

DB2 é vendida em diversos tipos de “edições” ou licenças. Pela escolha de uma versão com menos recursos, a IBM evita que os consumidores paguem por coisas que não iriam usar. Alguns exemplos de edição são a Express, Workgroup e a Edição Enterprise. A edição mais sofisticada para Linux/UNIX/Windows é o DB2 Data Warehouse Entreprise Edition, ou DB2 DWE.

DB2 para Z/OS é vendido em sua própria licença. Começando com a versão 8, a IBM vendeu o DB2 para z/OS e outros sistemas com característica muito próximas.DB2 para esse sistema tem algumas característica exclusivas: Segurança Multi-Level, tabelas de tamanhos extremamente grandes e compressão a nível de hardware. DB2 para z/OS foi sempre conhecido pela sua liderança de performance OLTP e é usado para suportar missões críticas nas operações de negócios, mas agora a versão z/OS está começando a adquirir característica Business intelligence.

Em 30 de Janeiro de 2006, a IBM lançou uma versão do DB2 chamada DB2 9 Express-C. Essa foi a resposta para os recentes pronunciamentos de versões gratuitas do Oracle e da Microsoft SQL Server. Express-C não terá limite no número de usuários e do tamanho do banco de dados. Foi desenvolvido para máquinas com sistema Windows e Linux até 2 processadores e até 2GB de memória.
Historicamente, a primeira posição entre os SGDB do mercado foi marcado pela alternância entre DB2 e Oracle. Entretanto há outros SGDBs concorrentes como o Microsoft SQL (que é apenas disponível no Windows) além de sistemas de código aberto tais como o PostgreSQL, MySQL e Firebird. O DB2 para z/OS tem poucos concorrentes diretos, mas a Oracle tem atraindo consumidores para o Linux da zSerie, embora não as custas do DB2.

Em 2006 a IBM entrou na competição pelo emergente mercado de armazenamento warehouse aplicado ao mercado financeiro, com o lançamento de uma linha de produtos com sistemas de hardware/software pré-configurados. Essa família de “aplicações warehouse” foi nomeada como IBM Balanced Configuration Unit, ou BCU.
[editar] Informações Técnicas

DB2 pode ser administrado tanto em uma interface de comandos de linhas ou em um ambiente gráfico. A interface de comando de linha requer mais conhecimento do produto mas pode ser mais facilmente automatizado. O ambiente gráfico é uma multi-plataforma Java que contem uma grande variedade de wizards para usuários iniciantes.

DB2 tem APIs para .NET CLI, Java, Python, Perl, PHP, Ruby, C++, C, REXX, PL/I, COBOL, RPG, FORTRAN, e muitas outras linguagens de programação. DB2 também tem suporte de integração no Eclipse e no Visual Studio .NET

Firebird

Firebird (algumas vezes chamado de FirebirdSQL) é um sistema gerenciador de banco de dados. Roda em Linux, Windows, Mac OS e uma variedade de plataformas Unix. A Fundação FirebirdSQL coordena a manutenção e desenvolvimento do Firebird, sendo que os códigos fonte são disponibilizados sob o CVS da SourceForge.

Baseado no código do InterBase da Borland, quando da abertura de seu código na versão 6.0 (em 25 de Julho de 2000), alguns programadores em associação, assumiram o projecto de identificar e corrigir inúmeros defeitos da versão original, surgindo aí o Firebird 1.0, que se tornou um banco com características próprias, obtendo uma aceitação imediata no círculo de programadores. A versão mais recente estável é a 2.5. Ela tem uma nova arquitetura chamada SuperClassic, que fará a ponte para a versão 3.0, que sairá em breve e oferecerá suporte total a SMP. O Firebird é gratuito em todos os sentidos: não há limitações de uso, e seu suporte amplamente discutido em listas na Internet, o que facilita enormemente a obtenção de ajuda técnica. O Firebird receberá tambem uma versão mobile para Android o sistema operacional da Google para dispositivos móveis.

O produto é bastante seguro e confiável, suportando sistemas com centenas de usuários simultâneos e bases de dados com dezenas/centenas de gigabytes. Há suporte gratuito na Internet através de vários sítios.

Desde sua primeira versão, oferece recursos de um verdadeiro SGBD, como: compatibilidade ACID, transações MVCC, triggers, procedures, collations, UDFs, etc.

O Firebird é amplamente utilizado em todo o mundo, com a maior base de usuários no Brasil, Rússia e Europa.


MySQL

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL
(Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.[1]

Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia, Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems, Google e outros.

História

O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente 400 profissionais no mundo inteiro, e mais de mil contribuem testando o software, integrando-o a outros produtos, e escrevendo a respeito dele.

No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos, incluindo o MySQL. Após investigações da Comissão Europeia sobre a aquisição para evitar formação de monopólios no mercado a compra foi autorizada e hoje a Sun faz parte da Oracle.[3] [4]

O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica.[5] A Wikipédia é um exemplo de utilização do MySQL em sites de grande audiência.

O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros recursos.

Características

Portabilidade (suporta praticamente qualquer plataforma atual);
Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para diversas linguagens de programação, como Delphi, Java, C/C++, C#, Visual Basic, Python, Perl, PHP, ASP e Ruby)
Excelente desempenho e estabilidade;
Pouco exigente quanto a recursos de hardware;
Facilidade de uso;
É um Software Livre com base na GPL;
Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive, Federated, CSV, Solid…
Suporta controle transacional;
Suporta Triggers;
Suporta Cursors (Non-Scrollable e Non-Updatable);
Suporta Stored Procedures e Functions;
Replicação facilmente configurável;
Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.

PostgreSQL

PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto.

Histórico

O PostgreSQL é um dos resultados de uma ampla evolução que se iniciou com o projeto Ingres, desenvolvido na Universidade de Berkeley, Califórnia. O líder do projeto, Michael Stonebraker, um dos pioneiros dos bancos de dados relacionais, deixou a universidade em 1982 para comercializar o Ingres, porém retornou a ela logo em seguida. Após seu retorno a Berkeley, em 1985, Stonebraker começou um projeto pós-Ingres com o objetivo de resolver problemas com o modelo de banco de dados relacional. O principal problema era a incapacidade do modelo relacional compreender “tipos” (atualmente, chamados de objetos), ou seja, combinações de dados simples que formam uma única unidade.

O projeto resultante, chamado Postgres, era orientado a introduzir a menor quantidade possível de funcionalidades para completar o suporte a tipos. Estas funcionalidades incluíam a habilidade de definir tipos, mas também a habilidade de descrever relações - as quais até este momento eram amplamente utilizadas, mas completamente mantidas pelo usuário. No Postgres, o banco de dados "compreendia" as relações e podia obter informações de tabelas relacionadas utilizando regras.

Iniciando em 1986, a equipe divulgou uma série de documentos descrevendo a base do sistema e em 1988 o projeto possuía um protótipo funcional. A versão 1 foi liberada para um grupo pequeno de usuários em junho de 1989, seguida pela versão 2 com um sistema de regras reescrito em junho de 1990. Para a versão 3, liberada em 1991, o sistema de regras foi reescrito novamente, mas também foram adicionados suporte para múltiplos gerenciadores de armazenamento e um melhorado motor de consultas. Já em 1993, Postgres havia crescido imensamente em popularidade e possuía uma grande demanda por suporte e por novas funcionalidades. Após a liberação da versão 4, a qual era uma simples versão de limpeza, o projeto foi oficialmente abandonado pela Universidade de Berkeley.

Entretanto, devido ao fato do seu código fonte estar sob uma licença BSD, o seu desenvolvimento foi continuado. Em 1994, dois estudantes de Berkeley, Andrew Yu e Jolly Chen, adicionaram um interpretador SQL para substituir a linguagem QUEL (desenvolvida para o Ingres) e o projeto foi renomeado para Postgres95. Com a divulgação de seu código pela Internet, Postgres95 iniciou uma nova vida como software open source.

Em agosto de 1996, Marc Fournier, Bruce Momjian e Vadim B. Mikheev lançaram a primeira versão externa da Universidade de Berkeley e deram início à tarefa de estabilizar o código herdado. Também em 1996, o projeto foi renomeado para PostgreSQL a fim de refletir a nova linguagem de consulta ao banco de dados: SQL. A primeira versão de PostgreSQL, a 6.0, foi liberada em janeiro de 1997. Desde então, um grupo de desenvolvedores e de voluntários de todo o mundo, coordenados pela Internet, têm mantido o software e desenvolvido novas funcionalidades.

As principais características acrescentadas nas versões 6.x são o en:MVCC (Multiversion Concurrency Control – Controle de Concorrência Multiversões), melhorias no SQL e novos tipos de dados nativos (novos tipos de datas e hora e tipos geométricos).

Em maio de 2000 foi liberada a versão 7.0. As versões 7.x trouxeram as seguintes novas funcionalidades: Write-Ahead Log (WAL), esquemas SQL, outer joins, suporte a IPv6, indexação por texto, suporte melhorado a SSL e informações estatísticas do banco de dados.

A versão 8.0 foi lançada em janeiro de 2005 e entre outras novidades, foi a primeira a ter suporte nativo para Microsoft Windows (tradicionalmente, o PostgreSQL só rodava de forma nativa em sistemas Unix e, em sistemas Windows - através da biblioteca Cygwin). Dentre as muitas novidades da versão 8.x, pode-se destacar o suporte a tablespaces, savepoints, point-in-time recovery, roles e Two-Phase Commit (2PC). Em julho de 2009 foi lançada a versão mais recente: 8.4.

Característica

Hoje, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados, contando com recursos como:

Consultas complexas
chaves estrangeiras
Integridade transacional
Controle de concorrência multi-versão
Suporte ao modelo híbrido objeto-relacional
Gatilhos
Visões
Linguagem Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java, PL/Perl) para Procedimentos armazenados
Indexação por texto
Estrutura para guardar dados Georeferenciados PostGIS

Estruturas de Decisão

O Projeto PostgreSQL é desenvolvido e direcionado pela sua comunidade de desenvolvedores e de usuários. Para coordenar o projeto há uma equipe central (core team) composta por sete desenvolvedores e um grupo de committers CVS. O código fornecido por voluntários é avaliado e aceito ou rejeitado pelos committers.

Este modelo de desenvolvimento de software, baseado no modelo Bazar originalmente apresentado em A Catedral e o Bazar de Eric S. Raymond, possibilita o desenvolvimento de software com qualidade devido, principalmente, a permitir:

    Tratar usuários como parceiros e/ou desenvolvedores. Eles contribuem diretamente com o desenvolvimento do software apresentando os problemas enfrentados, suas necessidades, suas sugestões de solução e, até mesmo, seu próprio código fonte de solução. Assim, usuários auxiliam de forma pró-ativa nas melhorias e na depuração do software.
    Reutilizar código fonte.

    Lançar rapidamente e frequentemente novas versões. Com uma base ampla de usuários testadores do software, os eventuais problemas são rapidamente identificados e sugestões de solução também aparecem com rapidez.

Estado Atual

Além de doações, o projeto PostgreSQL se sustenta pelo patrocínio de diversas empresas, entre as quais se destacam: Fujitsu, Hub.Org, NTT Group, Red Hat, Skype, SRA e Sun Microsystems.

O software tem adquirido prestígio na comunidade Linux, tendo recebido diversas vezes o prêmio Linux Journal Editor's Choice de melhor sistema de gerenciamento de banco de dados (SGBD).

Uma diversidade de módulos adicionais está disponível através do pgfoundry.

A aceitação do PostgreSQL tem se ampliado para além da comunidade de código aberto. Há entre os seus usuários grandes empresas internacionais, órgãos governamentais de vários países e universidades de prestígio mundial. Existe uma lista dos principais usuários no Brasil e no mundo e, também, há alguns estudos de caso de aplicações que utilizam o PostgreSQL.


CACHÉ

            É um SGBDOO com toda a tecnologia em banco de dados orientados a objetos. O cachê é um banco de dados pósrelacional orientado a objetos, que vem conquistando espaço no mercado devido ao seu desempenho com as aplicações. Além de seu desempenho ele permite a integração entre a linguagem padrão de banco de dados, que é a SQL (Structured Query Language – Linguagem de Consultas Estruturadas), e objetos, assim trabalhando com SQL e OQL (Object Query Language – Linguagem de Consultas a Objetos). Devido a essa gama de possibilidades do Caché, as aplicações relacionais podem fazer uso dos componentes de negócios construídos em OO (Orientado a Objeto).

            A ferramenta Studio, nativa do Caché, é um grande facilitador na criação e manipulação das classes que constituem a base de dados.

Clientes

n  TJDF (Tribunal de Justiça do Distrito Federal)
n  Prefeitura de Diadema
n  Hospital Albert Einstein
n  Laboratórios Fleury
n  Departamento de defesa dos Estados Unidos
n  Dentre outros...

 Plataformas

Windows NT, Windows 2000, Windows XP, Windows Server 2003(Caché 5.0.2 ou melhor), Red Hat Linux, e SuSE Linux.


ORACLE 10g

Os SGBD´s mostrados anteriormente são puramente orientados a objeto, porém existe também os objeto relacionais que misturam banco de dados relacional com conceitos de orientação a objetos. Um exemplo é o Oracle 10g que usa SQL no sistema Objeto Relacional.

Como isso funciona?

Existe no Oracle o Object Type que é um tipo difinico pelo usuário na qual equivale ao de classe em POO (Programação Orientada a Objeto). O Object Type captura tanto a estrutura como o comportamento de um objeto. A sintaxe segue o exemplo abaixo.

CREATE TYPE
AS OBJECT ();

Exemplo:

CREATETYPE tipo_pessoa AS OBJECT(
Nome VARCHAR2(30),
Fone VARCHAR2(20));

Vantagens

            Entre as vantagens dos SGBD´s OO, podemos destacar:

- Capacidade de Armazenamento de Objetos;

- Podes de Processamento de Requisições;

- Não possuem Chaves Primarias nem Estrangeiras, aumentando o desempenho das consultas e processos;

- Os objetos se comunicam entre si através de mensagens.

Desvantagens

            Entre as desvantagens dos SGBD´s OO, podemos destacar:

- Falta de padronização das linguagens de manipulação dos dados;

- Alto custo de aquisição das novas tecnologias;

- Curva de aprendizagem e adaptação ao novo ambiente demorada.

Versant

É um SGBDOO, de ambiente distribuído e suporte multiusuário, fornecido pela empresa VERSANT Object Technology, disponibilizando um conjunto de produtos, como: SGBD, ferramentas para desenvolvimento de aplicações e administração do banco de dados, interface para as linguagens de programação C++ e Smalltalk, SQL baseado na integração de dados legados, entre outros serviços e produtos.

Caracteristicas

O foco principal para estas aplicações devem ser sobre o domínio e o domínio lógica, e complexos desenhos devem ser baseadas em um modelo de objeto. Arquiteturas que misturam necessidades técnicas, tais como persistência (e SQL), com o modelo de domínio são um convite ao desastre.

- Banco de Dados Comercial;

- Multi-Plataforma;

- Herança Múltipla;

- Ambiente Distribuído;

- Permite Redefinição de Classe.

 CONCLUSÃO

             Os bancos de dados são, sem duvida nenhuma, uma peça fundamental no mercado da informação. A evolução dos SGBDOO´s facilitará a forma de se trabalhar com dados mais complexos e com os objetos das LPOO´s. O uso da orientação a objetos em sistemas de banco de dados é cada vez mais crescente.

            É claro que isso não quer dizer que o modelo relacional será extinto, entretanto, daqui a alguns anos a tendência da tecnologia OO terá significativa superioridade com relação ao seu uso em aplicações corporativas.
   
REFERÊNCIAS BIBLIOGRÁFICAS

[Ramos 2007] – Ramos, Ricardo. Banco de Dados Orientado a Objeto

[Fontes 2005] – Fontes, Attila. Nova Geração, a tecnologia dos BDOO´s

Divino Gomes Miranda. Caché – 2009. Disponivel em: HTTP://www.LinhadeCódigo.com.br/cachê. Acesso em 24/10/2010.

Rational, Inc – 004. Disponivel em: HTTP://www.malima.com.br/article_read.asp?id=40 . Acesso em 24/10/2010.

Luiz dos Santos Souza – 2009 – Universidade Católica de Pelotas (UFPEL). Disponivel em: HTTP://souza_l.sites.uol.com.br/OO_Oracle.PDF.Acesso em 24/10/2010

Jackson Matias dos Santos, Artur Luiz Torres de Oliveira, Aislan Rafael Rodrigues de Souza – Instituto Federal de Educação, Ciências e Tecnologia do Piauí (IFPI). Disponivel em http://www.scribd.com/doc/15981350/Banco-de-Dados-Orientado-a-Objeto-um-Novo-Paradigma-. Acesso em 24/10/2010.

Kim, Won. Introduction to Object-Oriented Databases. The MIT Press, 1990. ISBN 0-262-11124-1
Bancilhon, Francois; Delobel,Claude; and Kanellakis, Paris. Building an Object-Oriented Database System: The Story of O2. Morgan Kaufmann Publishers, 1992. ISBN 1-55860-169-4.
 Barry, Douglas and Duhl, Joshua. Object Storage Fact Books: Object DBMSs and Object-Relational Mapping. Barry & Associates, Inc., 2001. A páginas exibe a conformidade da ODMG para a os banco de dados orientados a objetos e os produtos objeto-relacionais em 2001

Um comentário:

Gerson De Simone disse...

Boa tarde, Leandro.

Esta matéria, realmente me interessou, mas fiquei com uma duvida, o firebird é BDOO?
Pelo que entendi, seriam o DB4o, PostgreSQL e ORACLE 10g tem funções.
Estou certo?

Obrigado pela atenção.

Gerson De Simone.
Email: i.gds@hotmail.com