SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
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.

Contenu connexe

Similaire à Comparativo Ferramentas DbaaS

Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de DadosDeep Tech Brasil
 
Data center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfData center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfssuser1198af
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAntony Barbosa
 
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...Fabrízio Mello
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dadosvaniakenob
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGustavo Concon
 
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload AnalíticoTDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analíticotdc-globalcode
 
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
Think Cloud!  - Hands On @ ESTCB 24 Mar 2012Think Cloud!  - Hands On @ ESTCB 24 Mar 2012
Think Cloud! - Hands On @ ESTCB 24 Mar 2012sandrobmartins
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLFernando Ike
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
Plataforma Windows Azure (Cloud Computing)
Plataforma Windows Azure (Cloud Computing)Plataforma Windows Azure (Cloud Computing)
Plataforma Windows Azure (Cloud Computing)Rodrigo Kono
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Raul Oliveira
 
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...
Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...Osvaldo Daibert
 

Similaire à Comparativo Ferramentas DbaaS (20)

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

Plus de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introductionelliando dias
 
FleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in ClojureFleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in Clojureelliando dias
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypseelliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
 
FleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in ClojureFleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in Clojure
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
 

Comparativo Ferramentas DbaaS

  • 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.