1 / 37

Prevalência de Dados

Prevalência de Dados. Um alternativa para o armazenamento. Weyler N M Lopes. O que é prevalência?. Mecanismo de armazenamento onde os dados (objetos do negócio) são persistidos em memória principal.

Download Presentation

Prevalência de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prevalência de Dados Um alternativa para o armazenamento Weyler N M Lopes

  2. O que é prevalência? • Mecanismo de armazenamento onde os dados (objetos do negócio) são persistidos em memória principal. • A prevalência, consiste sobre tudo de mecanismo de serialização de objetos em memória, de forma transparente para o usuário. • Muitos afirmam que a prevalência é um banco de dados. Não é bem assim. • Banco de Dados em memória principal (MMDB – Main Memory Database) e prevalência são conceitos associados, mas diferentes. Weyler N M Lopes

  3. Processo 1 musica(1,”Outra vez”, 215) Repositório Armazena Processo 2 musica(1,”Outra vez”, 215) Recupera O que é persistência? • Capacidade de um objeto “sobreviver” (manter seu estado) ao ciclo de vida do processo que está contextualizado. • Objetos que não têm esta capacidade “morrem” com o fim do processo. Estes objetos são chamados de transientes. Weyler N M Lopes

  4. BD em memória (MMDB – Main Memory Database)

  5. O que são MMDB? • Banco de dados onde os dados estão sempre na memória principal. • Backup realizado em disco. • Conceito não tão recente. • Compatíveis com algumas aplicações. • Proposta de prover as principais funcionalidades providas por um BD em disco, o que inclui todas as propriedades ACID. Weyler N M Lopes

  6. Breve evolução dos meios de armazenamento Fita Magnética Disco Memória semicondutora Weyler N M Lopes

  7. Diferenças entre propriedades da memória e do disco • Possui estrutura mais complexa. Muitos componentes mecânicos. • Preço mais acessível. • Maior capacidade. • Acesso proporcionalmente mais rápido que a capacidade de armazenamento dos discos. • Memórias são normalmente voláteis, enquanto discos não são. Weyler N M Lopes

  8. Questões sobre BD em memória • É sensato pensar que um banco de dados completo pode estar na memória principal? • O que diferencia um BD em memória de um BD em disco com uma cache muito grande? Weyler N M Lopes

  9. Questões sobre BD em memória • É sensato pensar que um banco de dados completo pode estar na memória principal? Sim, para algumas aplicações • O que diferencia um BD em memória de um BD em disco com uma memória cache muito grande? Embora todos os dados de um BD em disco possa caber na cache, as estruturas e os algoritmos são definidos para o acesso em disco. Weyler N M Lopes

  10. Alguns pontos importantes paraBD em memória • Controle de concorrência. • Efetivação de transações. • Métodos de acesso. • Representação de dados. • Processamento de consultas. • Recuperação. • Performance. Weyler N M Lopes

  11. Controle de concorrência • Como a memória principal é bem mais rápida que o disco, transações são completadas em um menor tempo. • A contenção de um lock não passa a ser algo tão importante como ocorre para os discos. Weyler N M Lopes

  12. Efetivação de transações • Como proteção contra falhas de mídia, é necessário que se tenha cópia de backup e que seja mantido um log de transações. • Um sistema de log estável é um dos desafios para os BD em memória. Algumas aplicações têm mostrado eficiência nesse sentido. Weyler N M Lopes

  13. Métodos de Acesso e representação de dados • Os custos de processamento em diferentes estruturas são não são os mesmos para os BD em disco e em memória. • Um BD em memória leva vantagem no manuseio de ponteiros nas principais representações de dados. Weyler N M Lopes

  14. Soluções para BD em memória principal Weyler N M Lopes

  15. Componentes do Oracle TimesTen Fonte: htttp://www.oracle.com/technology/products/timesten/index.html Weyler N M Lopes

  16. Oracle TimesTen comparado com SGBDR Convencional Fonte: htttp://www.oracle.com/technology/products/timesten/index.html Weyler N M Lopes

  17. Prevalência

  18. O que é prevalência? • Mecanismo de armazenamento onde os dados (objetos do negócio) são persistidos em memória principal. • A prevalência, consiste sobre tudo de mecanismo de serialização de objetos em memória, de forma transparente para o usuário. • Conceito intimamente associado ao Prevayler, mecanismo de persistência desenvolvido por Klaus Wuestefeld. Weyler N M Lopes

  19. Vantagens da prevalência? • Enorme ganho em performance. • Redução de custo para uma solução. • Desenvolvimento totalmente OO. • Maior legibilidade de código. • Diminuição do tempo de desenvolvimento. • Transparência de armazenamento. • Com a redução de preço de memória, torna-se viável. Weyler N M Lopes

  20. Por que a prevalência ainda não largamente utilizada? • Forte hegemonia dos bancos relacionais. • Grande ceticismo da comunidade. • Não é um padrão de fato. • Custo de memória semicondutora ainda é alto. • Criticidade das aplicações que usam BD relacionais. • Forte acoplamento das aplicações com o BD. • Ainda há muita coisa para se discutir. Weyler N M Lopes

  21. Algumas soluções para prevalência Weyler N M Lopes

  22. O Prevayler • Implementação do conceito de Prevalência em linguagem Java. • Primeira versão foi disponibilizada em novembro de 2001. • Em intervalos regulares os objetos são seriados para o disco; • Desenvolvido pelo brasileiro Klaus Wuestefeld. • Não há um padrão predefinido de prevalência a ser seguido. Cada linguagem implementa o seu mecanismo. Weyler N M Lopes

  23. Conceitos Chave • PrevalenceEngine - classe interna de prevalência, que é responsável por todo o processo de execução, registro e recuperação das alterações realizadas no PrevalentSystem. • PrevalentSystem - Uma classe definida pelo usuário que deve referenciar todos os objetos de negócios da aplicação, ou seja, os objetos que serão persistidos. • Snapshot - É o processo no qual o PrevalenceEngine serializa todo o PrevalentSystem. • Operation - Toda alteração a ser realizada nos objetos mantidos por um PrevalentSystem deve ser feita através de objetos de classes que implementam a interface Transaction. Weyler N M Lopes

  24. Como funciona • Quando a aplicação é iniciada, todos os objetos serializados em disco vão para a memória. • Todos os objetos em memória são serializadospara o disco em intervalos regulares e no momento de fechar a aplicação. • O arquivo de log é atualizada a cada transação efetivada. Weyler N M Lopes

  25. Serialização de Objetos Processo de escrever o estado de um objeto para uma seqüência de bytes. Fonte: http://www.javacaps.com/java_serial.html Weyler N M Lopes

  26. Desserialização de Objetos Processo inverso da serialização. Fonte: http://www.javacaps.com/java_serial.html Weyler N M Lopes

  27. Snapshot É a cópia em disco dos objetos seriados. Fonte: http://www.javacaps.com/java_serial.html Weyler N M Lopes

  28. Transações serializadas Operações realizadas nos objetos em memória e que são armazenadas em arquivos log assim que a operação for executada. Fonte: http://www.javacaps.com/java_serial.html Weyler N M Lopes

  29. Transações serializadas E se algo de errado ocorrer durante a execução da aplicação? Fonte: http://cogitando.blogs.sapo.pt/arquivo/bg_doubt.jpg Weyler N M Lopes

  30. Transações serializadas No momento em que a aplicação é reiniciada usando o Prevayler, os objetos voltam para a memória em seu estado original: Fonte: http://www.javacaps.com/java_serial.html Weyler N M Lopes

  31. Uma pequena aplicação com Prevayler

  32. O que foi utilizado Weyler N M Lopes

  33. Aplicação de um cadastro de alunos As classes do negócio de uma agenda de amigos, sem utilizar algum mecanismo de persistência, seriam: Weyler N M Lopes

  34. Estrutura de pacotes da aplicação Pacotes e diretórios criados pelo plug-in preclipse: Weyler N M Lopes

  35. Funcionalidades do plug-in Principais funcionalidades do plug-in preclipse Weyler N M Lopes

  36. Frases de Klaus Wuestefeld sobre o Prevayler O Prevayler é a cura para um câncer que as pessoas nem sabem que têm. Somos como os bebês nascidos dentro da Matrix: brutalmente atrofiados pelo uso de banco de dados. ...quero aproveitar o máximo da OO que Java me oferece, sem ficar restrito a registros burros em tabelas. Não considero a prevalência uma "invenção" minha, mas apenas uma visão de um futuro inevitável. Weyler N M Lopes

  37. Contatos weylerl@hotmail.com http://del.icio.us/weyler/prevalencia/ Weyler N M Lopes

More Related