SlideShare uma empresa Scribd logo
1 de 51
Banco de Dados II

Seminário: Banco de Dados
   Orientado a Objeto

    Guilherme Gomes
    Renzo Petri
Roteiro
    Introdução
    •   Histórico
    •   Características/Áreas de aplicação
    •   Exemplos de BDOO
    Motivação
    Características essenciais a Banco de dados OO
    Características opcionais a Banco de dados OO
    Padronização - Padrão ODMG
    •   ODL
    •   OQL
    Um exemplo de SGBDOO: Caché um SGBD Pós-Relacional
    •   Plataformas, Linguagens, Características, Vantagens, Caché &
        Java.
    Exemplo Prático
    •   Curiosidades
    •   Conclusão
Introdução
  Histórico
  • Difusão da tecnologia e utilização do computador em diversas
   áreas.
  • Necessidade de representação de tipos complexos de dados:
      • Listas ordenadas, conjuntos, dados multimídia, imagem, som,
      texto, etc.
  • Anos 80 – Uso Crescente de Linguagens de Programação OO:
      • Reutilização e manutenção de software.
  • Bancos de Dados OO
      • Acompanhando as tendências do momento e suprindo as
      carências dos Bancos de Dados Relacionais.
Introdução

  Características Importantes:

  • Permitem que o projetista especifique tanto a
  estrutura de objetos complexos como as operações
  que podem ser aplicadas a esses objetos.

  •   BDOO foram projetados para que sejam integrados a
  softwares desenvolvidos com linguagens OO.
Introdução
  Áreas de Aplicação:

  • Bancos de dados para projetos de engenharia e
  Arquitetura
  • Experiências Científicas
  • Telecomunicações
  • Sistemas de Informações Geográficas
  • Sistemas multimídia
  • Sistemas de escritório
  • Banco de dados hipertexto (links)
Introdução
   Exemplos de BDOO
   • Protótipos experimentais

     •   ORION (Microeletronics Corporation)
     •   OPENOODB(Texas Instruments)
     •   Sistema IRIS (Hewlett-Packard)
     •   ODE (AT&T BELL Labs – agora Lucent
         Technologies)
     •   Projeto ENCORE/ObServer (Brown University)
Introdução
 Exemplos de BDOO
 • Comerciais

   •   GEMSTONE/OPAL (Gemstone System)
   •   ONTOS (Ontos)
   •   Objectivity (Objectivity Inc.)
   •   Versant (Versant Object Technology)
   •   ObjectStore (Object Design)
   •   ARDENT (ARDENT Software)
   •   POET (POET Software)
   •   Caché (InterSystems)
Motivação

      Banco de Dados Relacionais X Banco de Dados OO

•     Atualmente, os bancos de dados são predominantemente
      relacionais, mas uma aplicação orientada a objeto precisa
      armazenar objetos.

    Como armazenar objetos em um banco de dados relacional?

       Os bancos de dados orientados a objeto são viáveis?

       É neste contexto que se insere a figura do SGBDOO.
Motivação
Porque adotar o modelo lógico de
dados OO?

  Modelagem e programação OO cada vez mais utilizadas
na prática.
    • Padrão UML.
  Naturalidade do modelo OO para persistência.
  Requisitos de novas aplicações:
    • Restrições complexas
    • Estruturas de dados complexas
    • Identidade de objetos e referências diretas
    • Código de aplicação interno ao banco de dados
Características essenciais
a Bancos de dados OO

   Identificação de objetos
   Objetos complexos
   Encapsulamento
   Tipos ou classes
   Herança
   Redefinição
   Completeza computacional
Características opcionais
a Bancos de dados OO


 Herança múltipla
 Verificação e inferência de tipos
 Distribuição
 Transações de projeto
 Versões
Padronização

  Padronização

  • ODMG (Object Database Management Group) –
  consórcio de vendedores e usuários de SGBDs
  Orientados a Objetos – definiu um modelo e uma
  linguagem padrão.
     •   ODMG 93
     •   ODMG 2.0
Padrão ODMG
  Object Data Management Group –consórcio de
  vendedores e usuários de SGBDs.
     Define um padrão para sistema gerenciador de
    banco de dados orientado a objetos.
     Banco de dados convencional que integra as
    características de linguagens de programação
    orientadas a objetos.
       Objetos persistentes
       Controle de concorrência
       Consultas associativas
       Recuperação de dados
Padrão ODMG

  A definição de um padrão assegura:

     Portabilidade - capacidade de executar um
     determinado programa de aplicação em diferentes
     sistemas, com o mínimo de modificações no
     programa.
     Interoperabilidade – o mesmo programa de
     aplicação pode acessar dados armazenados em
     pacotes diferentes que podem ser um mesmo banco
     de dados ou em bancos de dados diferentes.

  Escolha do produto comercial a partir do
  conhecimento do padrão que é implementado por
  cada produto.
Padrão ODMG
 Dividido em:

    Modelo de Objetos
    Linguagem de definição de objetos (ODL- Object
    Definition Language)
    Linguagem de consulta de objetos (OQL – Object
    Query Language)
    Bindings de linguagens de programação OO:
    • Smaltalk
    • C++
    • Java
Padrão ODMG – ODL
  ODL -    linguagem de especificação usada para definir a
  especificação de tipos objeto. Alguns aspectos devem ser
  considerados:

     Deve suportar todas as construções semânticas do Modelo
     de Objetos ODMG.
     Não é uma linguagem de programação completa, mas uma
     linguagem de definição para especificação de objetos.
     Deve ser independente de linguagem de programação.
     Deve ser extensível.
Padrão ODMG – ODL - Exemplo
Padrão ODMG – ODL - Exemplo
  Especificação ODL

  class Pessoa
  ( extent pessoas key nss)
  {
      attribute struct Nomep{string sobrenome, string
  primeiro_nome}
      attribute string         nome;
      attribute string         nss;
      attribute date           data_nascimento;
      attribute enum Genero{M,F}        sexo;
      attribute struct Endereço {short num, string logradouro,
               sort numapto, string cidade, string estado, short
  cpe}
       attribute string                 endereço;
      short idade();
  };
Padrão ODMG – ODL - Exemplo
  Especificação ODL

  class Professor extends Pessoa
  ( extent professores )
  {
      attribute string                            classificação;
      attribute float                             salário;
      attribute string                            escritório;
      attribute string                            telefone;
      relationship Departamento trabalha_em inverse
                Departamento::possui_professor;
      relationship set<aluno_grad> dá_assistência inverse
                AlunoGrad::assistente;
      relationship set<aluno_grad> no_comitê_de inverse
                AlunoGrad::comitê;
      void dar_aumento(in float aumento);
      void promove(in string nova_classificação);
  };
Padrão ODMG – ODL - Exemplo
 Especificação ODL

 class Aluno extends Pessoa
 ( extent alunos)
 {
      attribute string classe;
      attribute Departamento cursa_eletiva_em;
      relationship Departamento especializa_em inverse
                Departamento::possui_especializações;
      relationship set <DisciplinaCorrente> registrado_em inverse
                DisciplinaCorrente::alunos_registrados;
      void alterar_especialização (in string nomed) raises disciplina_inválida);
      float mg();
      void registrado(in short nomseção; in ValorGrau grau)
      raise (disciplina_inválida,grau_invalido);
 };
Padrão ODMG – OQL
  OQL – É uma linguagem declarativa para consultar os
  objetos do BD.

  Pode ser usada dentro de uma linguagem de programação.
  Sintaxe baseada no SQL.
  Não fornece operadores para atualização, devendo
  esta ser feita através dos métodos definidos para os
  objetos.
  Suporta todas as potencialidades da cláusula Select-
  From-Where.
  Possui algumas características mais poderosas, tal
  como, chamar métodos dos tipos envolvidos na
  consulta.
OQL, O-R SQL :
Definição de Consultas
OQL , O-R SQL : Sintaxe
OQL, O-R SQL : Consultas



•   resultado representa uma das variáveis (ou combinação)
    presentes em operando e identifica a origem da lista de
    objetos/valores que será fornecida como resultado da consulta.

•   operando da consulta consiste de expressões do tipo
    coleção v ,onde v representa os objetos em coleção.

•   predicado é o conjunto de cláusulas que representam
    as condições que devem ser satisfeitas pelas variáveis
    de lista de variáveis.
Padrão ODMG – OQL - Exemplos
 Class Departamento (extent departamentos key nomed)
 {   attribute string nomed;
     attribute string telefoned;
     attribute string escritóriod;
     attribute string faculdade;
     attribute Professor presidente;
     relationship set <Professor> possui_professor inverse
              Professor::trabalha_em;
     relationship set <Aluno> possui_especializações inverse
              Aluno::especializa_em;
     relationship set <Curso> oferece inverse
              Curso::oferecido_por; };

 C1: Select d.nomed
 From d in departamentos
 Where d.faculdade=‘Engenharia’
Padrão ODMG – OQL - Exemplos

 C2: departamentoCC.presidente;

 C3: departamentocc.presidente.classificação;

 C4: departamentocc.tem_professor;

 C5: select f.classificação
 From f in departamentocc.tem_professor;

 C6: select distinct f.classificação
 From f in departamentocc.tem_professor;
Padrão ODMG – OQL - Exemplos
 C7: select struct (sobrenome:
     s.nome.sobrenome,primeiro_nome: s.nome.primeiro_nome)
 from s in departamentocc.possui_especializações
 where s.classe = ‘Superior’
 order by sobrenome asc;

 C8: select struct (sobrenome:
     s.nome.sobrenome,primeiro_nome: s.nome.primeiro_nome)
 from s in alunos
 where s.especializa_em.nomed = ‘Ciência da Computação’
 order by sobrenome asc;
Caché - Um SGBD Pós Relacional

   Uma das características importantes do Caché
é permitir uma integração entre dois mundos:
   • SQL e Objetos.

   •   A sua arquitetura unificada de dados constrói uma
       camada de descrição para objetos e tabelas relacionais
       que são mapeadas diretamente em sua estrutura
       ultidimensional.

   •   Assim, aplicações relacionais podem coexistir como
       novos componentes de negócio construídos com a
       tecnologia OO.
Plataformas de Desenvolvimento
•   Caché Web
    Quando se trata de desenvolvimento de complexas aplicações web de alta
    performance, o Caché se torna único.
    A tecnologia Caché para a web leva todas as capacidades do Caché para o
    exigente ambiente Internet, onde o rápido desenvolvimento e a
    conectividade são      tão importantes quanto a velocidade do banco de
    dados e a escalabilidade.

•   Servidor de Dados Caché
    Quando se trata do processamento de transações, a performance é crítica.
    A tecnologia do servidor de dados do Caché permite levar suas aplicações
    até dezenas de milhares de usuários sem comprometer o desempenho.

•   Servidor de Aplicações Caché
    Quando se trata de desenvolvimento rápido e conectividade, as
    características do servidor de aplicações do Caché dão aos
    desenvolvedores toda a flexibilidade e todo o poder de que necessitam.
Linguagens de Programação do
Caché

 Caché ObjectScript e o Caché Basic

 •   Ambas foram projetadas para bases de dados e
     lógica de negócios de alta performance e ambas
     suportam objetos, SQL e acesso multidimensional
     aos dados Caché.
Linguagens de Programação do
Caché
Caché ObjectScript

   Caché ObjectScript é uma linguagem
  orientada a objeto.

  •   Poderosa e muito fácil de aprender.
  •   Uma característica interessante do Caché
      ObjectScript é que ele permite a mistura de métodos
      de acesso aos dados – os desenvolvedores podem
      ver os dados como objetos, como tabelas relacionais
      (usando SQL), ou como arrays multidimensionais.
  •   Também, diferentemente de outras linguagens de
      objetos, o Caché ObjectScript permite rotinas stand-
      alone. Ele não requer que todo o código faça parte do
      método de uma classe de objetos.
Caché Basic
       O Caché Basic foi adicionado como linguagem de
programação a fim de fornecer uma maneira fácil para
os programadores de Visual Basic começarem a usar
o Caché.

       Similar ao VBScript, o Caché Basic inclui extensões
que permitem que ele rode na Caché Virtual Machine.
Assim, o Caché Basic é interoperável com o Caché
ObjectScript e usufrui as mesmas características
especiais. Assim como o Caché ObjectScript, ele suporta
objetos, SQL e acesso multidimensional aos dados Caché.
O Caché Basic também permite rotinas stand-alone.
Características
  Data Engine Multidimensional:
  Todos os dados são armazenados em arrays multidimensionais
  esparsos que eliminam a sobrecarga do processamento relacionado à
  “ligação” de dados que comumente ocorre nos bancos de dados
  relacionais.

  Acesso a Dados Objetos:
  Os dados podem ser modelados como objetos.
  O Caché suporta encapsulamento, heranças múltiplas, polimorfismo,
  objetos embutidos, referências, coleções, relações e BLOBs.

  Acesso a Dados SQL:
  Permite acesso relacional à base de dados Caché. Suporta tanto ODBC
  como JDBC.
Características
  Acesso a Dados Multidimensionais:
  Fornece controle direto de estruturas multidimensionais no Banco de
  Dados Caché.

  Arquitetura Unificada de Dados:
  Classes de objetos e tabelas relacionais são automaticamente geradas
  a partir de uma única definição de dados.

  Indexação Bit-Map Transacional:
  Os índices bit-map do Caché podem ser atualizados de forma
  extremamente rápida, tornando-os adequados para
  uso com dados “em tempo real”.

  API para Monitoramento da Performance:
  Conecta-se com ferramentas de monitoramento de mercado como o
  Patrol da BMC e o Sightline da Fortel.
Vantagens Caché

  Alta Performance
  Desenvolvimento Ágil
  Confiabilidade Robusta
  Operação Econômica
  Crescimento Irrestrito
  Distribuição Flexível
Alta Performance

•   As aplicações baseadas em Caché geralmente operam 5
    vezes mais rápido do que as aplicações
    comparáveis,baseadas em tecnologia relacional.


•   O Caché tem um mecanismo de dados multidimensional
    e ultra-eficiente, especialmente quando lida com
    informações ricas e complexas usadas pelas soluções
    sofisticadas de software de hoje em dia.
Desenvolvimento Ágil
•   Com o Caché o desenvolvimento de novos produtos e
    melhorias em antigas soluções são distribuídos no tempo mais
    curto possível.

•   O Caché tem um ambiente rápido de desenvolvimento, que faz
    uso intenso da tecnologia avançada de objetos, da geração
    automática de códigos e de wizards, permitindo a criação e
    adaptação rápida das aplicações.

•   Os objetos Caché também são compatíveis com uma variedade
    ampla de tecnologias de desenvolvimento, incluindo Java,
    J2EE, .NET, COM, C++, XML, e Web Services.

•   Assim, os desenvolvedores podem usar o Caché com quaisquer
    ferramentas ou tecnologias que sejam mais produtivas para
    eles.
Confiabilidade Robusta
•   O Caché é tão confiável que ele potencia mais aplicações na
    indústria de saúde do que qualquer outra tecnologia de
    banco de dados.

•   Ele inclui uma série de funcionalidades rápidas de
    recuperação, tal como espelhamento e clusters, que
    permitem a operação contínua de aplicações de missão-
    crítica.

•   Além de impulsionar a escalabilidade, o Enterprise Cache
    Protocol do Caché proporciona uma distribuição contínua
    entre os servidores de aplicação nos sistemas distribuídos.
Operação Econômica
•   Na maioria dos casos, as instalações de aplicações
    baseadas no Caché não requerem os serviços de um
    administrador de banco de dados.

•   Seu mecanismo multidimensional usa “sparse arrays “
    (matrizes escassas), assim, as aplicações baseadas no
    Caché geralmente requerem menos hardware do que os
    produtos dos competidores embutidos nos bancos de dados
    relacionais.

•   Além disso, o banco de dados Caché nunca precisa ser
    “regulado”, as tarefas administrativas de rotina podem ser
    facilmente realizadas sem reiniciar, e todo o sistema de
    administração pode ser feito remotamente através do fácil
    portal de administração do Caché.
Crescimento Irrestrito

• As aplicações baseadas em Caché podem
  ser escaladas proporcionalmente sem
  sacrificar a performance, e podem manter o
  ritmo até mesmo com a organização
  crescendo rapidamente em número de
  usuários finais.

•   O Caché potencia o sistema de informática
    mais distribuído do mundo, o qual serve
    mais de 50.000 usuários.
Distribuição Flexível
•   Com o Caché, as organizações de usuários finais
    nunca ficam obrigadas a usar um sistema operacional
    específico.

•   O Caché roda em Unix, Linux, Windows, Mac OS X e
    OpenVMS.

•   Ele suporta uma grande variedade de linguagens,
    padrões e protocolos, assim as aplicações baseadas
    em Caché podem funcionar continuamente com
    outras aplicações em quase todas as arquiteturas de
    sistemas.
Caché & JAVA

   Caché é o banco de dados de alta performance ideal
   para aplicações Java, pois oferece três diferentes
   modos de conexão dados do Caché podem ser
   acessados:
   •   Com SQL via JDBC;
   •   Classes Caché podem ser projetadas como classes Java
   •   ou ainda como Enterprise Java Beans.

As projeções são automatizadas de forma que os
desenvolvedores Java possam ganhar persistência de
dados sem a necessidade de tediosas codificações.
Prática



          Mãos á obra!!!
Modelo UML - Prática
E o melhor é FREE!!!
  O download é gratuito. Disponível na versão 5.2
  monousuário, completa e funcional, sem data de
  expiração do Caché .

  Se você preferir, pode receber uma cópia do software
  em CD.

  As Documentações e Atualizações de Caché atuais e
  anteriores estão disponíveis on-line, ou fazendo o
  download para impressão.
Curiosidades
  Guia:
  http://www.intersystems.com.br/isc/cache/guiatecnolog.csp


  Download:
  http://www.intersystems.com.br/isc/cache/downloads.csp


  Material/Tutorial - Pdf’s:
  http://www.intersystems.com.br/isc/cache/brochuras.csp


  Demosntração On-line:
  http://www.intersystems.com.br/isc/cache/demonstracoes.csp
Empresas que usam o Caché
Conclusão
•   As aplicações cliente/servidor, desenvolvidas em bancos de
    dados relacionais, não se adaptam à nova realidade imposta
    pela Internet, naturalmente heterogênea e distribuída.

•   Novas aplicações são construídas com arquitetura de três
    camadas, utilizando as vantagens tecnológicas da orientação a
    objeto.

•   Armazenar objetos em um banco de dados relacional é uma
    tarefa difícil. O modelo relacional não possui os mecanismos
    necessários para representar características básicas do modelo
    OO.

•    Nesse cenário, um banco de dados relacional não traz
    nenhuma vantagem. A escolha de um banco de dados OO é a
    evolução natural.
Conclusão

•   Hoje, bancos de dados OO são produtos estáveis,
    oferecem segurança, performance e escalabilidade.

•    Armazenar e recuperar objetos de um banco de dados
    OO é efetivamente mais rápido do que pulverizar seus
    atributos em tabelas de duas dimensões. Mas a
    performance do seu banco de dados OO é apenas uma
    parte.

•    Definir corretamente a arquitetura de sua aplicação é
    fundamental e requer experiência.

Mais conteúdo relacionado

Mais procurados

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_erWalter Alves Pereira
 
Matéria de apoio (Base de dados)
Matéria de apoio  (Base de dados)Matéria de apoio  (Base de dados)
Matéria de apoio (Base de dados)André Silva
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Leinylson Fontinele
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Apostila de Banco de Dados
Apostila de Banco de Dados Apostila de Banco de Dados
Apostila de Banco de Dados info_cimol
 

Mais procurados (20)

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er
 
Aula 1
Aula 1Aula 1
Aula 1
 
Matéria de apoio (Base de dados)
Matéria de apoio  (Base de dados)Matéria de apoio  (Base de dados)
Matéria de apoio (Base de dados)
 
NoSql
NoSqlNoSql
NoSql
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
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
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Apostila de Banco de Dados
Apostila de Banco de Dados Apostila de Banco de Dados
Apostila de Banco de Dados
 

Destaque

Livro estatística básica
Livro estatística básicaLivro estatística básica
Livro estatística básicaJorge Jeane
 
Rede de Computadores - Conceito
Rede de Computadores - ConceitoRede de Computadores - Conceito
Rede de Computadores - ConceitoGiulliana Marialva
 
Legalização de documentos belo horizonte
Legalização de documentos  belo horizonteLegalização de documentos  belo horizonte
Legalização de documentos belo horizontejuramentado02
 
Livro Ecologia de Campo 2010
Livro Ecologia de Campo 2010Livro Ecologia de Campo 2010
Livro Ecologia de Campo 2010Limnos Ufsc
 
Clastres arqueologia violencia
Clastres arqueologia violenciaClastres arqueologia violencia
Clastres arqueologia violenciatextosantropologia
 
Sistemas para Internet FMU
Sistemas para Internet FMUSistemas para Internet FMU
Sistemas para Internet FMUFMU - Oficial
 
O teoria de vitória sobre comunismo
O teoria de vitória sobre comunismoO teoria de vitória sobre comunismo
O teoria de vitória sobre comunismoHideumi Sekiguchi
 
Acervo dvd mec
Acervo dvd   mecAcervo dvd   mec
Acervo dvd mecTV Escola
 
Programa de Pós-Graduação em Economia Doméstica
Programa de Pós-Graduação em Economia DomésticaPrograma de Pós-Graduação em Economia Doméstica
Programa de Pós-Graduação em Economia DomésticaFórum Pesquisa CCH
 
Politicasparaasartes completo web-2
Politicasparaasartes completo web-2Politicasparaasartes completo web-2
Politicasparaasartes completo web-2Pedro da Silva
 
Edital - Concurso museologia ufg
Edital - Concurso museologia   ufgEdital - Concurso museologia   ufg
Edital - Concurso museologia ufgarqmuseus
 
Atelier de escrita de Natal
Atelier de escrita de Natal Atelier de escrita de Natal
Atelier de escrita de Natal Ana Paula Santos
 
Delação completa do Delcídio - 15/03/2016
Delação completa do Delcídio - 15/03/2016Delação completa do Delcídio - 15/03/2016
Delação completa do Delcídio - 15/03/2016Miguel Rosario
 
Hino De Santa Catarina
Hino De Santa CatarinaHino De Santa Catarina
Hino De Santa Catarinabiadimon
 

Destaque (20)

Livro estatística básica
Livro estatística básicaLivro estatística básica
Livro estatística básica
 
Robótica y nanotecnología natalia
Robótica y nanotecnología  nataliaRobótica y nanotecnología  natalia
Robótica y nanotecnología natalia
 
Rede de Computadores - Conceito
Rede de Computadores - ConceitoRede de Computadores - Conceito
Rede de Computadores - Conceito
 
Legalização de documentos belo horizonte
Legalização de documentos  belo horizonteLegalização de documentos  belo horizonte
Legalização de documentos belo horizonte
 
Livro Ecologia de Campo 2010
Livro Ecologia de Campo 2010Livro Ecologia de Campo 2010
Livro Ecologia de Campo 2010
 
Clastres arqueologia violencia
Clastres arqueologia violenciaClastres arqueologia violencia
Clastres arqueologia violencia
 
O natal musica
O natal musicaO natal musica
O natal musica
 
Super agosto 2012
Super agosto 2012Super agosto 2012
Super agosto 2012
 
Parsne
ParsneParsne
Parsne
 
Sistemas para Internet FMU
Sistemas para Internet FMUSistemas para Internet FMU
Sistemas para Internet FMU
 
O teoria de vitória sobre comunismo
O teoria de vitória sobre comunismoO teoria de vitória sobre comunismo
O teoria de vitória sobre comunismo
 
Comercio exterior
Comercio exteriorComercio exterior
Comercio exterior
 
Edital proupe
Edital proupeEdital proupe
Edital proupe
 
Acervo dvd mec
Acervo dvd   mecAcervo dvd   mec
Acervo dvd mec
 
Programa de Pós-Graduação em Economia Doméstica
Programa de Pós-Graduação em Economia DomésticaPrograma de Pós-Graduação em Economia Doméstica
Programa de Pós-Graduação em Economia Doméstica
 
Politicasparaasartes completo web-2
Politicasparaasartes completo web-2Politicasparaasartes completo web-2
Politicasparaasartes completo web-2
 
Edital - Concurso museologia ufg
Edital - Concurso museologia   ufgEdital - Concurso museologia   ufg
Edital - Concurso museologia ufg
 
Atelier de escrita de Natal
Atelier de escrita de Natal Atelier de escrita de Natal
Atelier de escrita de Natal
 
Delação completa do Delcídio - 15/03/2016
Delação completa do Delcídio - 15/03/2016Delação completa do Delcídio - 15/03/2016
Delação completa do Delcídio - 15/03/2016
 
Hino De Santa Catarina
Hino De Santa CatarinaHino De Santa Catarina
Hino De Santa Catarina
 

Semelhante a Apresentação Banco de Dados - Caché

Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosGlaucio Scheibel
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaEder Magalhães
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a AspectosRicardo Terra
 
Orientação a objetos da teoria a prática em java
Orientação a objetos   da teoria a prática em java Orientação a objetos   da teoria a prática em java
Orientação a objetos da teoria a prática em java Fabiano Lima
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosRafael Chaves
 

Semelhante a Apresentação Banco de Dados - Caché (20)

5 bdoo+bdor
5 bdoo+bdor5 bdoo+bdor
5 bdoo+bdor
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a Objetos
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistência
 
Artigo oo em bd
Artigo   oo em bdArtigo   oo em bd
Artigo oo em bd
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
Orientação a objetos da teoria a prática em java
Orientação a objetos   da teoria a prática em java Orientação a objetos   da teoria a prática em java
Orientação a objetos da teoria a prática em java
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
BDOO
BDOOBDOO
BDOO
 
Apresentação mapeamento objeto relacional
Apresentação mapeamento objeto relacionalApresentação mapeamento objeto relacional
Apresentação mapeamento objeto relacional
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Desenvolvimento baseado em componentes
Desenvolvimento baseado em componentesDesenvolvimento baseado em componentes
Desenvolvimento baseado em componentes
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
 
Cp25540549
Cp25540549Cp25540549
Cp25540549
 

Apresentação Banco de Dados - Caché

  • 1. Banco de Dados II Seminário: Banco de Dados Orientado a Objeto Guilherme Gomes Renzo Petri
  • 2. Roteiro Introdução • Histórico • Características/Áreas de aplicação • Exemplos de BDOO Motivação Características essenciais a Banco de dados OO Características opcionais a Banco de dados OO Padronização - Padrão ODMG • ODL • OQL Um exemplo de SGBDOO: Caché um SGBD Pós-Relacional • Plataformas, Linguagens, Características, Vantagens, Caché & Java. Exemplo Prático • Curiosidades • Conclusão
  • 3. Introdução Histórico • Difusão da tecnologia e utilização do computador em diversas áreas. • Necessidade de representação de tipos complexos de dados: • Listas ordenadas, conjuntos, dados multimídia, imagem, som, texto, etc. • Anos 80 – Uso Crescente de Linguagens de Programação OO: • Reutilização e manutenção de software. • Bancos de Dados OO • Acompanhando as tendências do momento e suprindo as carências dos Bancos de Dados Relacionais.
  • 4. Introdução Características Importantes: • Permitem que o projetista especifique tanto a estrutura de objetos complexos como as operações que podem ser aplicadas a esses objetos. • BDOO foram projetados para que sejam integrados a softwares desenvolvidos com linguagens OO.
  • 5. Introdução Áreas de Aplicação: • Bancos de dados para projetos de engenharia e Arquitetura • Experiências Científicas • Telecomunicações • Sistemas de Informações Geográficas • Sistemas multimídia • Sistemas de escritório • Banco de dados hipertexto (links)
  • 6. Introdução Exemplos de BDOO • Protótipos experimentais • ORION (Microeletronics Corporation) • OPENOODB(Texas Instruments) • Sistema IRIS (Hewlett-Packard) • ODE (AT&T BELL Labs – agora Lucent Technologies) • Projeto ENCORE/ObServer (Brown University)
  • 7. Introdução Exemplos de BDOO • Comerciais • GEMSTONE/OPAL (Gemstone System) • ONTOS (Ontos) • Objectivity (Objectivity Inc.) • Versant (Versant Object Technology) • ObjectStore (Object Design) • ARDENT (ARDENT Software) • POET (POET Software) • Caché (InterSystems)
  • 8. Motivação Banco de Dados Relacionais X Banco de Dados OO • Atualmente, os bancos de dados são predominantemente relacionais, mas uma aplicação orientada a objeto precisa armazenar objetos. Como armazenar objetos em um banco de dados relacional? Os bancos de dados orientados a objeto são viáveis? É neste contexto que se insere a figura do SGBDOO.
  • 10. Porque adotar o modelo lógico de dados OO? Modelagem e programação OO cada vez mais utilizadas na prática. • Padrão UML. Naturalidade do modelo OO para persistência. Requisitos de novas aplicações: • Restrições complexas • Estruturas de dados complexas • Identidade de objetos e referências diretas • Código de aplicação interno ao banco de dados
  • 11. Características essenciais a Bancos de dados OO Identificação de objetos Objetos complexos Encapsulamento Tipos ou classes Herança Redefinição Completeza computacional
  • 12. Características opcionais a Bancos de dados OO Herança múltipla Verificação e inferência de tipos Distribuição Transações de projeto Versões
  • 13. Padronização Padronização • ODMG (Object Database Management Group) – consórcio de vendedores e usuários de SGBDs Orientados a Objetos – definiu um modelo e uma linguagem padrão. • ODMG 93 • ODMG 2.0
  • 14. Padrão ODMG Object Data Management Group –consórcio de vendedores e usuários de SGBDs. Define um padrão para sistema gerenciador de banco de dados orientado a objetos. Banco de dados convencional que integra as características de linguagens de programação orientadas a objetos. Objetos persistentes Controle de concorrência Consultas associativas Recuperação de dados
  • 15. Padrão ODMG A definição de um padrão assegura: Portabilidade - capacidade de executar um determinado programa de aplicação em diferentes sistemas, com o mínimo de modificações no programa. Interoperabilidade – o mesmo programa de aplicação pode acessar dados armazenados em pacotes diferentes que podem ser um mesmo banco de dados ou em bancos de dados diferentes. Escolha do produto comercial a partir do conhecimento do padrão que é implementado por cada produto.
  • 16. Padrão ODMG Dividido em: Modelo de Objetos Linguagem de definição de objetos (ODL- Object Definition Language) Linguagem de consulta de objetos (OQL – Object Query Language) Bindings de linguagens de programação OO: • Smaltalk • C++ • Java
  • 17. Padrão ODMG – ODL ODL - linguagem de especificação usada para definir a especificação de tipos objeto. Alguns aspectos devem ser considerados: Deve suportar todas as construções semânticas do Modelo de Objetos ODMG. Não é uma linguagem de programação completa, mas uma linguagem de definição para especificação de objetos. Deve ser independente de linguagem de programação. Deve ser extensível.
  • 18. Padrão ODMG – ODL - Exemplo
  • 19. Padrão ODMG – ODL - Exemplo Especificação ODL class Pessoa ( extent pessoas key nss) { attribute struct Nomep{string sobrenome, string primeiro_nome} attribute string nome; attribute string nss; attribute date data_nascimento; attribute enum Genero{M,F} sexo; attribute struct Endereço {short num, string logradouro, sort numapto, string cidade, string estado, short cpe} attribute string endereço; short idade(); };
  • 20. Padrão ODMG – ODL - Exemplo Especificação ODL class Professor extends Pessoa ( extent professores ) { attribute string classificação; attribute float salário; attribute string escritório; attribute string telefone; relationship Departamento trabalha_em inverse Departamento::possui_professor; relationship set<aluno_grad> dá_assistência inverse AlunoGrad::assistente; relationship set<aluno_grad> no_comitê_de inverse AlunoGrad::comitê; void dar_aumento(in float aumento); void promove(in string nova_classificação); };
  • 21. Padrão ODMG – ODL - Exemplo Especificação ODL class Aluno extends Pessoa ( extent alunos) { attribute string classe; attribute Departamento cursa_eletiva_em; relationship Departamento especializa_em inverse Departamento::possui_especializações; relationship set <DisciplinaCorrente> registrado_em inverse DisciplinaCorrente::alunos_registrados; void alterar_especialização (in string nomed) raises disciplina_inválida); float mg(); void registrado(in short nomseção; in ValorGrau grau) raise (disciplina_inválida,grau_invalido); };
  • 22. Padrão ODMG – OQL OQL – É uma linguagem declarativa para consultar os objetos do BD. Pode ser usada dentro de uma linguagem de programação. Sintaxe baseada no SQL. Não fornece operadores para atualização, devendo esta ser feita através dos métodos definidos para os objetos. Suporta todas as potencialidades da cláusula Select- From-Where. Possui algumas características mais poderosas, tal como, chamar métodos dos tipos envolvidos na consulta.
  • 23. OQL, O-R SQL : Definição de Consultas
  • 24. OQL , O-R SQL : Sintaxe
  • 25. OQL, O-R SQL : Consultas • resultado representa uma das variáveis (ou combinação) presentes em operando e identifica a origem da lista de objetos/valores que será fornecida como resultado da consulta. • operando da consulta consiste de expressões do tipo coleção v ,onde v representa os objetos em coleção. • predicado é o conjunto de cláusulas que representam as condições que devem ser satisfeitas pelas variáveis de lista de variáveis.
  • 26. Padrão ODMG – OQL - Exemplos Class Departamento (extent departamentos key nomed) { attribute string nomed; attribute string telefoned; attribute string escritóriod; attribute string faculdade; attribute Professor presidente; relationship set <Professor> possui_professor inverse Professor::trabalha_em; relationship set <Aluno> possui_especializações inverse Aluno::especializa_em; relationship set <Curso> oferece inverse Curso::oferecido_por; }; C1: Select d.nomed From d in departamentos Where d.faculdade=‘Engenharia’
  • 27. Padrão ODMG – OQL - Exemplos C2: departamentoCC.presidente; C3: departamentocc.presidente.classificação; C4: departamentocc.tem_professor; C5: select f.classificação From f in departamentocc.tem_professor; C6: select distinct f.classificação From f in departamentocc.tem_professor;
  • 28. Padrão ODMG – OQL - Exemplos C7: select struct (sobrenome: s.nome.sobrenome,primeiro_nome: s.nome.primeiro_nome) from s in departamentocc.possui_especializações where s.classe = ‘Superior’ order by sobrenome asc; C8: select struct (sobrenome: s.nome.sobrenome,primeiro_nome: s.nome.primeiro_nome) from s in alunos where s.especializa_em.nomed = ‘Ciência da Computação’ order by sobrenome asc;
  • 29. Caché - Um SGBD Pós Relacional Uma das características importantes do Caché é permitir uma integração entre dois mundos: • SQL e Objetos. • A sua arquitetura unificada de dados constrói uma camada de descrição para objetos e tabelas relacionais que são mapeadas diretamente em sua estrutura ultidimensional. • Assim, aplicações relacionais podem coexistir como novos componentes de negócio construídos com a tecnologia OO.
  • 30. Plataformas de Desenvolvimento • Caché Web Quando se trata de desenvolvimento de complexas aplicações web de alta performance, o Caché se torna único. A tecnologia Caché para a web leva todas as capacidades do Caché para o exigente ambiente Internet, onde o rápido desenvolvimento e a conectividade são tão importantes quanto a velocidade do banco de dados e a escalabilidade. • Servidor de Dados Caché Quando se trata do processamento de transações, a performance é crítica. A tecnologia do servidor de dados do Caché permite levar suas aplicações até dezenas de milhares de usuários sem comprometer o desempenho. • Servidor de Aplicações Caché Quando se trata de desenvolvimento rápido e conectividade, as características do servidor de aplicações do Caché dão aos desenvolvedores toda a flexibilidade e todo o poder de que necessitam.
  • 31. Linguagens de Programação do Caché Caché ObjectScript e o Caché Basic • Ambas foram projetadas para bases de dados e lógica de negócios de alta performance e ambas suportam objetos, SQL e acesso multidimensional aos dados Caché.
  • 33. Caché ObjectScript Caché ObjectScript é uma linguagem orientada a objeto. • Poderosa e muito fácil de aprender. • Uma característica interessante do Caché ObjectScript é que ele permite a mistura de métodos de acesso aos dados – os desenvolvedores podem ver os dados como objetos, como tabelas relacionais (usando SQL), ou como arrays multidimensionais. • Também, diferentemente de outras linguagens de objetos, o Caché ObjectScript permite rotinas stand- alone. Ele não requer que todo o código faça parte do método de uma classe de objetos.
  • 34. Caché Basic O Caché Basic foi adicionado como linguagem de programação a fim de fornecer uma maneira fácil para os programadores de Visual Basic começarem a usar o Caché. Similar ao VBScript, o Caché Basic inclui extensões que permitem que ele rode na Caché Virtual Machine. Assim, o Caché Basic é interoperável com o Caché ObjectScript e usufrui as mesmas características especiais. Assim como o Caché ObjectScript, ele suporta objetos, SQL e acesso multidimensional aos dados Caché. O Caché Basic também permite rotinas stand-alone.
  • 35. Características Data Engine Multidimensional: Todos os dados são armazenados em arrays multidimensionais esparsos que eliminam a sobrecarga do processamento relacionado à “ligação” de dados que comumente ocorre nos bancos de dados relacionais. Acesso a Dados Objetos: Os dados podem ser modelados como objetos. O Caché suporta encapsulamento, heranças múltiplas, polimorfismo, objetos embutidos, referências, coleções, relações e BLOBs. Acesso a Dados SQL: Permite acesso relacional à base de dados Caché. Suporta tanto ODBC como JDBC.
  • 36. Características Acesso a Dados Multidimensionais: Fornece controle direto de estruturas multidimensionais no Banco de Dados Caché. Arquitetura Unificada de Dados: Classes de objetos e tabelas relacionais são automaticamente geradas a partir de uma única definição de dados. Indexação Bit-Map Transacional: Os índices bit-map do Caché podem ser atualizados de forma extremamente rápida, tornando-os adequados para uso com dados “em tempo real”. API para Monitoramento da Performance: Conecta-se com ferramentas de monitoramento de mercado como o Patrol da BMC e o Sightline da Fortel.
  • 37. Vantagens Caché Alta Performance Desenvolvimento Ágil Confiabilidade Robusta Operação Econômica Crescimento Irrestrito Distribuição Flexível
  • 38. Alta Performance • As aplicações baseadas em Caché geralmente operam 5 vezes mais rápido do que as aplicações comparáveis,baseadas em tecnologia relacional. • O Caché tem um mecanismo de dados multidimensional e ultra-eficiente, especialmente quando lida com informações ricas e complexas usadas pelas soluções sofisticadas de software de hoje em dia.
  • 39. Desenvolvimento Ágil • Com o Caché o desenvolvimento de novos produtos e melhorias em antigas soluções são distribuídos no tempo mais curto possível. • O Caché tem um ambiente rápido de desenvolvimento, que faz uso intenso da tecnologia avançada de objetos, da geração automática de códigos e de wizards, permitindo a criação e adaptação rápida das aplicações. • Os objetos Caché também são compatíveis com uma variedade ampla de tecnologias de desenvolvimento, incluindo Java, J2EE, .NET, COM, C++, XML, e Web Services. • Assim, os desenvolvedores podem usar o Caché com quaisquer ferramentas ou tecnologias que sejam mais produtivas para eles.
  • 40. Confiabilidade Robusta • O Caché é tão confiável que ele potencia mais aplicações na indústria de saúde do que qualquer outra tecnologia de banco de dados. • Ele inclui uma série de funcionalidades rápidas de recuperação, tal como espelhamento e clusters, que permitem a operação contínua de aplicações de missão- crítica. • Além de impulsionar a escalabilidade, o Enterprise Cache Protocol do Caché proporciona uma distribuição contínua entre os servidores de aplicação nos sistemas distribuídos.
  • 41. Operação Econômica • Na maioria dos casos, as instalações de aplicações baseadas no Caché não requerem os serviços de um administrador de banco de dados. • Seu mecanismo multidimensional usa “sparse arrays “ (matrizes escassas), assim, as aplicações baseadas no Caché geralmente requerem menos hardware do que os produtos dos competidores embutidos nos bancos de dados relacionais. • Além disso, o banco de dados Caché nunca precisa ser “regulado”, as tarefas administrativas de rotina podem ser facilmente realizadas sem reiniciar, e todo o sistema de administração pode ser feito remotamente através do fácil portal de administração do Caché.
  • 42. Crescimento Irrestrito • As aplicações baseadas em Caché podem ser escaladas proporcionalmente sem sacrificar a performance, e podem manter o ritmo até mesmo com a organização crescendo rapidamente em número de usuários finais. • O Caché potencia o sistema de informática mais distribuído do mundo, o qual serve mais de 50.000 usuários.
  • 43. Distribuição Flexível • Com o Caché, as organizações de usuários finais nunca ficam obrigadas a usar um sistema operacional específico. • O Caché roda em Unix, Linux, Windows, Mac OS X e OpenVMS. • Ele suporta uma grande variedade de linguagens, padrões e protocolos, assim as aplicações baseadas em Caché podem funcionar continuamente com outras aplicações em quase todas as arquiteturas de sistemas.
  • 44. Caché & JAVA Caché é o banco de dados de alta performance ideal para aplicações Java, pois oferece três diferentes modos de conexão dados do Caché podem ser acessados: • Com SQL via JDBC; • Classes Caché podem ser projetadas como classes Java • ou ainda como Enterprise Java Beans. As projeções são automatizadas de forma que os desenvolvedores Java possam ganhar persistência de dados sem a necessidade de tediosas codificações.
  • 45. Prática Mãos á obra!!!
  • 46. Modelo UML - Prática
  • 47. E o melhor é FREE!!! O download é gratuito. Disponível na versão 5.2 monousuário, completa e funcional, sem data de expiração do Caché . Se você preferir, pode receber uma cópia do software em CD. As Documentações e Atualizações de Caché atuais e anteriores estão disponíveis on-line, ou fazendo o download para impressão.
  • 48. Curiosidades Guia: http://www.intersystems.com.br/isc/cache/guiatecnolog.csp Download: http://www.intersystems.com.br/isc/cache/downloads.csp Material/Tutorial - Pdf’s: http://www.intersystems.com.br/isc/cache/brochuras.csp Demosntração On-line: http://www.intersystems.com.br/isc/cache/demonstracoes.csp
  • 49. Empresas que usam o Caché
  • 50. Conclusão • As aplicações cliente/servidor, desenvolvidas em bancos de dados relacionais, não se adaptam à nova realidade imposta pela Internet, naturalmente heterogênea e distribuída. • Novas aplicações são construídas com arquitetura de três camadas, utilizando as vantagens tecnológicas da orientação a objeto. • Armazenar objetos em um banco de dados relacional é uma tarefa difícil. O modelo relacional não possui os mecanismos necessários para representar características básicas do modelo OO. • Nesse cenário, um banco de dados relacional não traz nenhuma vantagem. A escolha de um banco de dados OO é a evolução natural.
  • 51. Conclusão • Hoje, bancos de dados OO são produtos estáveis, oferecem segurança, performance e escalabilidade. • Armazenar e recuperar objetos de um banco de dados OO é efetivamente mais rápido do que pulverizar seus atributos em tabelas de duas dimensões. Mas a performance do seu banco de dados OO é apenas uma parte. • Definir corretamente a arquitetura de sua aplicação é fundamental e requer experiência.