SlideShare uma empresa Scribd logo
Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”


      Erik Williams Zirke Osta
       Rafael Brundo Uriarte
Agenda
●   Introdução;

●   Fundamentos;

●   Estudo comparativo das Ferramentas;

●   Conclusões e Trabalhos Futuros.
Agenda
●   Introdução;

●   Fundamentos;

●   Estudo comparativo das Ferramentas;

●   Conclusões e Trabalhos Futuros.
Motivação
●   Cloud Computing:
    ●   Mudança no modelo de fornecimento de serviços
        de TI;
    ●   Alvo de muitos estudos e pesquisas;
    ●   Oportunidade única de progredir e ajudar a quebrar
        alguns dos atuais paradigmas da computação;
    ●   Impacto no modo de desenvolver software e gerir
        recursos computacionais.
Breve Definição
● Cloud Computing é o fornecimento de recursos
computacionais para terceiros por fornecedores
independentes e distribuídos geograficamente. Um
cliente contrata recursos computacionais ao invés de
usar recursos locais e não precisa saber onde os
recursos estão instalados.
●   Podem ser fornecidos deste modo:
    ●   Infra-estrutura;
    ●   Software;
    ●   Plataformas de desenvolvimento;
    ●   Bancos de dados.
Historia de Cloud Computing
●   Origens do nome;

●   Utility Computing:
    ●   “As redes de computadores ainda estão na sua
        infância, mas, assim que estiverem crescendo e
        ficando mais sofisticadas, provavelmente
        veremos a expansão do utility computing, que
        como energia elétrica e telefone, serão serviços
        fornecidos nas casas e escritórios pelo país.”
                                       Leonard Kleinrock
Definição de Cloud Computing


●   “Cloud é um tipo de sistema paralelo e
    distribuídos que consiste de uma coleção de
    computadores inter-conectados e virtualizados
    que são dinamicamente “instanciados'' e são
    apresentados como um ou mais recursos
    computacionais baseados em acordos de nível
    de serviços pré-estabelecidos o provedor do
    serviço e o clientes.”
                                Rajkumar Buyya
Agenda
●   Introdução;

●   Fundamentos;

●   Estudo comparativo das Ferramentas;

●   Conclusões e Trabalhos Futuros.
Tendências


●   Buzzword;

●   Momento do Cloud Computing:
    – Barateamento do hardware;
    – Recursos Ociosos;
    – Amadurecimento das tecnologias base.
Tendências




                  Tendências
Google search trends para o termo Cloud Computing, de Janeiro de 2007 até Março de 2009.
Vantagens

●   Flexibilidade/Escalabilidade;

●   Tecnologia de Ponta;

●   Informação em qualquer lugar;


●   Custos!!!
Principais Problemas


●   Compatibilidade (Falta de Padronização);

●   Segurança;

●   Disponibilidade.
Outras Definições

●   SaaS(Software as a Service);

●   IaaS(Infrastructure as a Service);

●   PaaS(Platform as a Service);

●   DbaaS(Database as a Service).
Fundamentos do DbaaS

●   Database As a Service:
    ●   Informação de qualquer lugar;

    ●   Escalabilidade;

    ●   Performance;

    ●   Uso sob demanda.
Bases Relacionais
●   Funcionam bem em poucos nós;
●   Dificuldade de cuidar dos princípios básicos do
    ACID em bases distribuídas;
●   JOINS e outras operações são caras e não
    escaláveis;
●   É necessário uma solução para que a base de
    dados possua bom desempenho e seja
    altamente escalável.
Valor e chave( Key/Value Databases )
●   Sacrifica muitos recursos pela escalabilidade;
●   Não existe relações explicitas definidas entre
    domínios;
●   Domínios sem definir esquemas;
                                           Carro
                                    Key       Atributos
●   Orientada a atributos.           1     Fabricante: Ford
                                           Modelo: Ecosport
                                             Cor: Prata
                                             Ano: 2008

                                     2      Fabricante: Ford
                                           Modelo: Ecosport
                                              Cor: Amarelo
                                               Ano: 2009
                                           Transmissão: Auto
Key/Value Databases
●   Vantagens:
    ●   Foco na Escalabilidade;
    ●   Mais próxima do problema dos programadores ;
●   Desvantagens:
    ●   Integridade tem que ser
        garantida pela aplicação;
    ●   Domínios são atrelados as
        aplicações;
    ●   Compatibilidade;
Agenda
●   Introdução;

●   Fundamentos;

●   Estudo comparativo das Ferramentas;

●   Conclusões e Trabalhos Futuros.
Ferramentas Selecionadas
●   AmazonSimpleDB;

●   Drizzle;

●   FathomDB;

●   Google BigTable;

●   Vertica.
AmazonSimpleDB
●   SGBD Orientado a chave ( Key/Value ):
    ●   A query só pode ser executada em até 5 segundos;

    ●   Os atributos são todos Strings:
        –   Strings de até 1024 bytes;
        –   256 atributos por Domínio;

    ●   Não garante a consistência dos dados;

    ●   É fornecido através de serviços.
Drizzle
●   SGBD Semi-Relacional
    ●   Para melhorar a escalabilidade não possui:
        –  stored procedures
         – query cache
         – prepared statements
         – Views
         – Triggers
         – Grants
    ●   O fonte e instaláveis estão disponíveis.
FathomDB
●   SGBD Relacional:
    ●   Relacional;
    ●   Utiliza padrões do MySQL;
    ●   Grande preocupação com monitoramento e backup
        dos dados;
    ●   Usa o serviço de Cloud da Amazon(E2C);
    ●   É fornecido como serviço.
Google BigTable
●   SGBD Orientado a chave ( Key/Value ):
    ●   É utilizado no Youtube, Google Maps e outras apps;

    ●   500mb gratuitos para os primeiros 500 registros;

    ●   Custos até 10 vezes menores que da Amazon
        SimpleDB;

    ●   É fornecido como serviço.
Vertica
●   SGBD Analítico:
    ●   Grande preocupação com performance;
    ●   Pode ser usada na Cloud da Amazon(E2C);
    ●   É fornecido como serviço.
Forma de        Modelo de              Esquema
 Ferramenta                                                                       APIs          Administração
                  Distribuição      Dados                 Explicito


                                                                                                Replicação,Back
  FathomDB          Serviço         Relacional                SIM                  Java               up,
                                                                                                 Monitoramento




    Vertica         Serviço          Analítico                SIM                 ODBC           Compressão




                                     Estruturada       Esquema dinâmico
                                                                               Java, SOAP,
AmazonSimpleDB      Serviço      (Attribute-oriented   e flexivel, mas não
                                                                             REST,C#, Python           -
                                      key/value)            obrigatório



                                     Estruturado       Esquema dinâmico        SOAP, REST,       Compressão,
Google Bigtable     Serviço      (Attribute-oriented   e flexivel, mas não    Java, C#, Perl,      Caching,
                                      key/value)            obrigatório        PHP,VB.NET         Replicação



                                                                                                 Facilidade de
                                                                               JDBC,PHP,
    Drizzle        Instalável    Semi-Relacional              SIM                                instalação e
                                                                                Python,
                                                                                                gerenciamento
Análise das Ferramentas
●   Ferramentas analisadas ainda não estão
    maduras;

●   Novas ferramentas surgindo no mercado;

●   Banco de Dados Relacionais parece não ser
    tão adequado para Bases em uma Cloud.
Agenda
●   Introdução;

●   Fundamentos;

●   Estudo comparativo das Ferramentas;

●   Conclusões e Trabalhos Futuros.
Áreas de Pesquisa

●   Pesquisas privadas avançadas;

●   Pesquisas acadêmicas começam a dar sinais
    de melhora;

●   Laboratório LRG/UFSC.
Ferramentas para Cloud Computing
●   Eucalyptus;



●   CloudSim;



●   VCL.
Conclusão e Trabalhos Futuros

●   DBaaS ainda está em seus primeiros passos;
●   É um mercado que tende a crescer
    rapidamente;
●   Ferramentas ainda não estão maduras;
●   Falta compatibilidade entre as Clouds;
●   Se o projeto precisa de grande escalabilidade,
    DbaaS é ideal.
Bibliografia
●   Market-Oriented Cloud Computing: Vision,
    Hype, and Reality for Delivering IT Services as
    Computing Utilities. Rajkumar Buyya;
●   An Internet vision: the invisible global
    infrastructure. Leonard KleinRock;
●   Bigtable: a distributed storage system for
    structured data;
●   Websites das respectivas ferramentas;
●   Outros, ver artigos;
Dúvidas
Bancos de Dados em Clouds


     Erik Williams Zirke Osta
      Rafael Brundo Uriarte
Mais Sobre Key/Value DB
Mais Sobre Key/Value DB
Mais Sobre Key/Value DB
Mais Sobre Key/Value DB
Quando usar uma key/value Db:
●

● Quando os dados são orientados a documento;



    ●   Quando o ambiente de desenvolvimento é
        orientado a objeto este tipo de base pode
        reduzir o tempo de implementação e a
        necessidade de adaptar o código;

    ●   A aplicação é simples e pode ser usada com
        este tipo de base;

    ●   Quandos a principais preocupações são
        grande escalabilidade, uso sob-demanda ou
        custos.

Mais conteúdo relacionado

PDF
AAB305 - Service Oriented Architecture - wcamb
PDF
AAB306 - Wcf Services Best Practices - wcamb
PDF
Java EE no ambiente corporativo: primeiros passos WebLogic 12c
PDF
Planejamento de Capacidade Dirigido a Negócios para Aplicações SaaS de Comérc...
PDF
Luis Fernando Gomes Soares, da PUC/ RJ
PDF
Polyglot and Poly-paradigm Programming for Better Agility
PDF
Javascript Libraries
PDF
Geometria Projetiva
AAB305 - Service Oriented Architecture - wcamb
AAB306 - Wcf Services Best Practices - wcamb
Java EE no ambiente corporativo: primeiros passos WebLogic 12c
Planejamento de Capacidade Dirigido a Negócios para Aplicações SaaS de Comérc...
Luis Fernando Gomes Soares, da PUC/ RJ
Polyglot and Poly-paradigm Programming for Better Agility
Javascript Libraries
Geometria Projetiva

Semelhante a B Ds Clouds (20)

PDF
Pangea - Plataforma digital com Google Cloud Platform
PDF
[DTC21] André Marques - Jornada do Engenheiro de Dados
PDF
Data center MCSBRC2010-slides.pdf
PDF
Infraestrutura em nuvem com Amazon Web Services (AWS)
PPT
Tesi Dados Final
PDF
Front end architecture
PDF
Plataforma Android: Produtividade Além do SDK
PDF
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
PDF
PDF
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
PPT
Introducao banco de dados
PDF
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
PDF
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
PPTX
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
PPTX
Ruby on Rails for beginners 2.0
PDF
Escalabilidade, as modas, (No)SQL
PPTX
Introdução ao desenvolvimento web - 2 - iDez 2010
PPTX
Plataforma Windows Azure (Cloud Computing)
PPTX
Cenário das Plataformas de Dados 2017/2018
PPTX
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...
Pangea - Plataforma digital com Google Cloud Platform
[DTC21] André Marques - Jornada do Engenheiro de Dados
Data center MCSBRC2010-slides.pdf
Infraestrutura em nuvem com Amazon Web Services (AWS)
Tesi Dados Final
Front end architecture
Plataforma Android: Produtividade Além do SDK
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
Introducao banco de dados
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
Ruby on Rails for beginners 2.0
Escalabilidade, as modas, (No)SQL
Introdução ao desenvolvimento web - 2 - iDez 2010
Plataforma Windows Azure (Cloud Computing)
Cenário das Plataformas de Dados 2017/2018
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...
Anúncio

Mais de elliando dias (20)

PDF
Clojurescript slides
PDF
Why you should be excited about ClojureScript
PDF
Functional Programming with Immutable Data Structures
PPT
Nomenclatura e peças de container
PDF
How to Make an Eight Bit Computer and Save the World!
PDF
Ragel talk
PDF
A Practical Guide to Connecting Hardware to the Web
PDF
Introdução ao Arduino
PDF
Minicurso arduino
PDF
Incanter Data Sorcery
PDF
PDF
Fab.in.a.box - Fab Academy: Machine Design
PDF
The Digital Revolution: Machines that makes
PDF
Hadoop + Clojure
PDF
Hadoop - Simple. Scalable.
PDF
Hadoop and Hive Development at Facebook
PDF
Multi-core Parallelization in Clojure - a Case Study
PDF
From Lisp to Clojure/Incanter and RAn Introduction
PDF
FleetDB A Schema-Free Database in Clojure
PDF
Clojure and The Robot Apocalypse
Clojurescript slides
Why you should be excited about ClojureScript
Functional Programming with Immutable Data Structures
Nomenclatura e peças de container
How to Make an Eight Bit Computer and Save the World!
Ragel talk
A Practical Guide to Connecting Hardware to the Web
Introdução ao Arduino
Minicurso arduino
Incanter Data Sorcery
Fab.in.a.box - Fab Academy: Machine Design
The Digital Revolution: Machines that makes
Hadoop + Clojure
Hadoop - Simple. Scalable.
Hadoop and Hive Development at Facebook
Multi-core Parallelization in Clojure - a Case Study
From Lisp to Clojure/Incanter and RAn Introduction
FleetDB A Schema-Free Database in Clojure
Clojure and The Robot Apocalypse
Anúncio

Último (11)

PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Design - Introdução a Gestalt e teoria das formas
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Arquitetura de computadores - Memórias Secundárias
Design - Introdução a Gestalt e teoria das formas
Eng. Software - pontos essenciais para o início
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Tipos de servidor em redes de computador.pptx
Manejo integrado de pragas na cultura do algodão
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Utilizando code blockes por andre backes
Viasol Energia Solar -Soluções para geração e economia de energia

B Ds Clouds

  • 1. Bancos de Dados em “Clouds”
  • 2. Bancos de Dados em “Clouds” Erik Williams Zirke Osta Rafael Brundo Uriarte
  • 3. Agenda ● Introdução; ● Fundamentos; ● Estudo comparativo das Ferramentas; ● Conclusões e Trabalhos Futuros.
  • 4. Agenda ● Introdução; ● Fundamentos; ● Estudo comparativo das Ferramentas; ● Conclusões e Trabalhos Futuros.
  • 5. Motivação ● Cloud Computing: ● Mudança no modelo de fornecimento de serviços de TI; ● Alvo de muitos estudos e pesquisas; ● Oportunidade única de progredir e ajudar a quebrar alguns dos atuais paradigmas da computação; ● Impacto no modo de desenvolver software e gerir recursos computacionais.
  • 6. Breve Definição ● Cloud Computing é o fornecimento de recursos computacionais para terceiros por fornecedores independentes e distribuídos geograficamente. Um cliente contrata recursos computacionais ao invés de usar recursos locais e não precisa saber onde os recursos estão instalados. ● Podem ser fornecidos deste modo: ● Infra-estrutura; ● Software; ● Plataformas de desenvolvimento; ● Bancos de dados.
  • 7. Historia de Cloud Computing ● Origens do nome; ● Utility Computing: ● “As redes de computadores ainda estão na sua infância, mas, assim que estiverem crescendo e ficando mais sofisticadas, provavelmente veremos a expansão do utility computing, que como energia elétrica e telefone, serão serviços fornecidos nas casas e escritórios pelo país.” Leonard Kleinrock
  • 8. Definição de Cloud Computing ● “Cloud é um tipo de sistema paralelo e distribuídos que consiste de uma coleção de computadores inter-conectados e virtualizados que são dinamicamente “instanciados'' e são apresentados como um ou mais recursos computacionais baseados em acordos de nível de serviços pré-estabelecidos o provedor do serviço e o clientes.” Rajkumar Buyya
  • 9. Agenda ● Introdução; ● Fundamentos; ● Estudo comparativo das Ferramentas; ● Conclusões e Trabalhos Futuros.
  • 10. Tendências ● Buzzword; ● Momento do Cloud Computing: – Barateamento do hardware; – Recursos Ociosos; – Amadurecimento das tecnologias base.
  • 11. Tendências Tendências Google search trends para o termo Cloud Computing, de Janeiro de 2007 até Março de 2009.
  • 12. Vantagens ● Flexibilidade/Escalabilidade; ● Tecnologia de Ponta; ● Informação em qualquer lugar; ● Custos!!!
  • 13. Principais Problemas ● Compatibilidade (Falta de Padronização); ● Segurança; ● Disponibilidade.
  • 14. Outras Definições ● SaaS(Software as a Service); ● IaaS(Infrastructure as a Service); ● PaaS(Platform as a Service); ● DbaaS(Database as a Service).
  • 15. Fundamentos do DbaaS ● Database As a Service: ● Informação de qualquer lugar; ● Escalabilidade; ● Performance; ● Uso sob demanda.
  • 16. Bases Relacionais ● Funcionam bem em poucos nós; ● Dificuldade de cuidar dos princípios básicos do ACID em bases distribuídas; ● JOINS e outras operações são caras e não escaláveis; ● É necessário uma solução para que a base de dados possua bom desempenho e seja altamente escalável.
  • 17. Valor e chave( Key/Value Databases ) ● Sacrifica muitos recursos pela escalabilidade; ● Não existe relações explicitas definidas entre domínios; ● Domínios sem definir esquemas; Carro Key Atributos ● Orientada a atributos. 1 Fabricante: Ford Modelo: Ecosport Cor: Prata Ano: 2008 2 Fabricante: Ford Modelo: Ecosport Cor: Amarelo Ano: 2009 Transmissão: Auto
  • 18. Key/Value Databases ● Vantagens: ● Foco na Escalabilidade; ● Mais próxima do problema dos programadores ; ● Desvantagens: ● Integridade tem que ser garantida pela aplicação; ● Domínios são atrelados as aplicações; ● Compatibilidade;
  • 19. Agenda ● Introdução; ● Fundamentos; ● Estudo comparativo das Ferramentas; ● Conclusões e Trabalhos Futuros.
  • 20. Ferramentas Selecionadas ● AmazonSimpleDB; ● Drizzle; ● FathomDB; ● Google BigTable; ● Vertica.
  • 21. AmazonSimpleDB ● SGBD Orientado a chave ( Key/Value ): ● A query só pode ser executada em até 5 segundos; ● Os atributos são todos Strings: – Strings de até 1024 bytes; – 256 atributos por Domínio; ● Não garante a consistência dos dados; ● É fornecido através de serviços.
  • 22. Drizzle ● SGBD Semi-Relacional ● Para melhorar a escalabilidade não possui: – stored procedures – query cache – prepared statements – Views – Triggers – Grants ● O fonte e instaláveis estão disponíveis.
  • 23. FathomDB ● SGBD Relacional: ● Relacional; ● Utiliza padrões do MySQL; ● Grande preocupação com monitoramento e backup dos dados; ● Usa o serviço de Cloud da Amazon(E2C); ● É fornecido como serviço.
  • 24. Google BigTable ● SGBD Orientado a chave ( Key/Value ): ● É utilizado no Youtube, Google Maps e outras apps; ● 500mb gratuitos para os primeiros 500 registros; ● Custos até 10 vezes menores que da Amazon SimpleDB; ● É fornecido como serviço.
  • 25. Vertica ● SGBD Analítico: ● Grande preocupação com performance; ● Pode ser usada na Cloud da Amazon(E2C); ● É fornecido como serviço.
  • 26. Forma de Modelo de Esquema Ferramenta APIs Administração Distribuição Dados Explicito Replicação,Back FathomDB Serviço Relacional SIM Java up, Monitoramento Vertica Serviço Analítico SIM ODBC Compressão Estruturada Esquema dinâmico Java, SOAP, AmazonSimpleDB Serviço (Attribute-oriented e flexivel, mas não REST,C#, Python - key/value) obrigatório Estruturado Esquema dinâmico SOAP, REST, Compressão, Google Bigtable Serviço (Attribute-oriented e flexivel, mas não Java, C#, Perl, Caching, key/value) obrigatório PHP,VB.NET Replicação Facilidade de JDBC,PHP, Drizzle Instalável Semi-Relacional SIM instalação e Python, gerenciamento
  • 27. Análise das Ferramentas ● Ferramentas analisadas ainda não estão maduras; ● Novas ferramentas surgindo no mercado; ● Banco de Dados Relacionais parece não ser tão adequado para Bases em uma Cloud.
  • 28. Agenda ● Introdução; ● Fundamentos; ● Estudo comparativo das Ferramentas; ● Conclusões e Trabalhos Futuros.
  • 29. Áreas de Pesquisa ● Pesquisas privadas avançadas; ● Pesquisas acadêmicas começam a dar sinais de melhora; ● Laboratório LRG/UFSC.
  • 30. Ferramentas para Cloud Computing ● Eucalyptus; ● CloudSim; ● VCL.
  • 31. Conclusão e Trabalhos Futuros ● DBaaS ainda está em seus primeiros passos; ● É um mercado que tende a crescer rapidamente; ● Ferramentas ainda não estão maduras; ● Falta compatibilidade entre as Clouds; ● Se o projeto precisa de grande escalabilidade, DbaaS é ideal.
  • 32. Bibliografia ● Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities. Rajkumar Buyya; ● An Internet vision: the invisible global infrastructure. Leonard KleinRock; ● Bigtable: a distributed storage system for structured data; ● Websites das respectivas ferramentas; ● Outros, ver artigos;
  • 34. Bancos de Dados em Clouds Erik Williams Zirke Osta Rafael Brundo Uriarte
  • 38. Mais Sobre Key/Value DB Quando usar uma key/value Db: ● ● Quando os dados são orientados a documento; ● Quando o ambiente de desenvolvimento é orientado a objeto este tipo de base pode reduzir o tempo de implementação e a necessidade de adaptar o código; ● A aplicação é simples e pode ser usada com este tipo de base; ● Quandos a principais preocupações são grande escalabilidade, uso sob-demanda ou custos.