SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
THE GOOD,
           THE BAD,
           THE BIG... DATA
         Processando Grandes Volumes de Dados




Rodrigo Campos
rcampos@uolinc.com
@xinu
Agenda

•Big what?
•Tecnologias
•Conclusões
IBM 350 - 1956
Discos 24”
1.200 RPM
8.800 CPS
3,75 Mb
USD 53.400 / Mb
Kingston HyperX
USB 3.0
30.000.000 CPS
1.000.000 Mb
USD 0,0017 / Mb
Fonte: http://www.jcmit.com/disk2012.htm
90% dos dados atualmente
  no mundo foram criados nos
           últimos dois anos


Fonte: http://ibm.co/WDPldm
1.800.000.000 Tb

                    1,8Zb foram criados ou
                       replicados em 2011.



Fonte: IDC iView - Extracting Value from Chaos - http://bit.ly/YwR8nb
Não se trata apenas da
 quantidade de dados
Os dados tradicionalmente
      eram organizados em
     esquemas conhecidos,
      rígidos e controlados
SELECT vw_Subscriber.DisplayName,
vw_CallHandler.DTMFAccessId AS Extension,
vw_ContactRule.Extension AS 'Transfer String'
FROM vw_Subscriber INNER JOIN vw_CallHandler
ON
vw_CallHandler.CallHandlerObjectId=vw_Subscriber.CallHand
lerObjectId
INNER JOIN vw_ContactRule
ON
vw_ContactRule.ParentObjectId=vw_CallHandler.CallHandler
ObjectId
WHERE vw_CallHandler.IsPrimary='1' AND
vw_Subscriber.SubscriberType IN ('1','3') AND
vw_ContactRule.Alias='alternate' AND
vw_ContactRule.Action='1
Message Queues
 Extensible Markup Language
                                      Text Files
                                                    Flat files


         Dados pouco uniformes
                                  Document Oriented
           Spatial Databases
  Comma Separated Values          Hierarchical Model
                                               Graph Databases
               Spreadsheets

Object-relational
                         SYSLOG          Hypermedia Databases
In-Memory Databases
                         Network Model       Relational Model
Os dados tradicionalmente
         eram gerados por
            computadores
0100100100101010010101010
0001010101100101001010111
0010110101001001001001010
1001001010011101001001001
0100100101001010100010101
0111001010010100101001111
1001010101010010010010010
Fontes de dados são
     diversificadas
O armazenamento e
processamento dos dados
    tradicionalmente era
            centralizado
0100100100101010010101010
0001010101100101001010111
0010110101001001001001010
1001001010011101001001001
0100100101001010100010101
0111001010010100101001111
1001010101010010010010010
Os volumes ultrapassam a
capacidade individual dos
         bancos de dados
Lead ION Collision - ALICE experiment at CERN
25 Petabytes por ano
LHC Computing Grid - 170 datacenters em 36 países
http://wlcg.web.cern.ch/
Precisamos de soluções e
 ferramentas novas para:
               Extração
        Armazenamento
         Processamento
           Visualização
Extração       Armazenamento



     Big Data
Visualização   Processamento
Extração




           Data Scraping
                    APIs
Data Scraping
API
Armazenamento



       Sistemas distribuídos
Sistemas distribuídos
       Desafios para o design:
                       Escala
              Gerenciamento
                  Segurança
          Tolerância a falhas
Processamento



            A panacéia NoSQL
Processamento



   Não existe bala de prata...
Processamento



   Não existe bala de prata...
Processamento



Nunca existiu bala de prata...
      Existem soluções mais
            apropriadas para
    determinados problemas
Processamento



       O modelo relacional
 dominou os últimos 30 anos
Processamento



     Agora procuramos usar a
 solução mais adequada para
      o problema encontrado
Bancos de dados de documentos



         Desenhados para o
gerenciamento de informação
          semi-estruturada
Bancos de dados de documentos
      {
          "Cats": [
              {
                  "Age": 5,
                  "EyeColor": "Blue",
                  "Name": "Agatha"
              },
              {
                  "Age": 4,
                  "EyeColor": "Blue",
                  "Name": "Frank"
              }
          ],
          "FirstName": "Rodrigo",
          "LastName": "Campos",
          "TwitterScreenName": "xinu"
      }
Chave-valor



           Desenhados para
 armazenamento arbitrário de
      informações em pares
Chave-valor

         userCount         1
         user1_FirstName   Rodrigo
         user1_LastName    Campos
         user1_Twitter     xinu
         user1_CatCount    2
         user1_Cat1_Name   Agatha
         user1_Cat1_Age    5
         user1_Cat2_Name   Frank
         user1_Cat2_Age    4
Grafo



  Desenhados para estruturas
      baseadas em vértices e
   arestas com propriedades
Id: 2
                                 Name: Frank
                                  Eyes: Blue

Grafo                               Age: 4                                         Id: 105
                                   Type: cat                                    Label: friends



                                                                  Id: 104
                                                               Label: friends


           Id: 100
        Label: master
                                Id: 101
                             Label: servant
                                                                                       Id: 3
                                                                                   Name: Agatha
                                                                                    Eyes: Blue
                                                 Id: 102
                                                                                      Age: 5
                                              Label: servant
                                                                                     Type: cat



                                                    Id: 103
                                                 Label: master
                Id: 1
        FirstName: Rodrigo
        LastName: Campos
            Twitter: xinu
            Type: human
Processamento
 Bancos de dados de
                          Chave-Valor         Grafo
    documentos




•Cassandra            •Cassandra        •AllegroGraph
•CouchDB              •Riak             •Neo4J
•MongoDB              •Memcached        •FlockDB
•Couchbase            •Redis            •InfiniteGraph
•Lotus Notes          •Kyoto Cabinet
MapReduce


  Um modelo de programação
           distribuída para o
   processamento de grandes
          conjuntos de dados
MapReduce

Problema:
Contar os elementos
separando pelas cores
Dados originais




MapReduce
                                             Node 1




                                             Node 2


                                  MAP
              Resultado
                               Master Node   Node 3


              x2          x4
                                REDUCE
              x3          x1                 Node 4



              x3
                                             Node 5
              x2

              x5
Processamento


 Atomic: toda a transação deve ser bem sucedida
 Consistent: o banco de dados deve permanecer consistente
 Isolated: uma transação não deve interferir nas demais
 Durable: transações completadas devem persistir
Processamento

   Basic Availability: a camada de dados
   permanece (parcialmente) disponível mesmo que inconsistente

   Soft-state: os dados retornados para determinada
   transação podem ser aproximados ou estimados

   Eventual consistency: eventualmente os
   dados estarão homogêneos em todo o sistema




Mais informações em http://bit.ly/14Bg7GD
Teorema CAP - Escolha duas...
          Consistency




Availability            Partition
                        Tolerance
Visualização




Fonte: http://bit.ly/14BhZz8
Visualização




Fonte: http://inmaps.linkedinlabs.com
Visualização




Fonte: http://bit.ly/YoJrM2
Visualização




Fonte: http://bit.ly/UJZIeO
Conclusões


  O volume e diversidade dos
        dados exigem novas
    abordagens tecnológicas
Conclusões


      Novas ferramentas vem
     complementar soluções
    estabelecidas no mercado
Conclusões


  As ferramentas ainda estão
 evoluindo para atender essa
                nova realide
rcampos@uolinc.com
@xinu

Mais conteúdo relacionado

Semelhante a The good, the bad and the big... data

Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
digobfpc
 
Arp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de AtaquesArp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de Ataques
Andre Peres
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
Terra / Neo
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
Leandro Rezende
 

Semelhante a The good, the bad and the big... data (20)

Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
 
Nosql4java
Nosql4javaNosql4java
Nosql4java
 
DynamoDB: um banco NoSQL
DynamoDB: um banco NoSQLDynamoDB: um banco NoSQL
DynamoDB: um banco NoSQL
 
Arquitetura de Memoria do PostgreSQL
Arquitetura de Memoria do PostgreSQLArquitetura de Memoria do PostgreSQL
Arquitetura de Memoria do PostgreSQL
 
Devfest cerrado2017
Devfest cerrado2017Devfest cerrado2017
Devfest cerrado2017
 
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
 
Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
 
Apresentação Projeto Final Graduação UFF
Apresentação Projeto Final Graduação UFFApresentação Projeto Final Graduação UFF
Apresentação Projeto Final Graduação UFF
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
Arp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de AtaquesArp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de Ataques
 
Dismistificando deep learning v2.1
Dismistificando deep learning v2.1Dismistificando deep learning v2.1
Dismistificando deep learning v2.1
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
 
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
 
Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 

Mais de Rodrigo Campos

Desempenho e Escalabilidade de Banco de Dados em ambiente x86
Desempenho e Escalabilidade de Banco de Dados em ambiente x86Desempenho e Escalabilidade de Banco de Dados em ambiente x86
Desempenho e Escalabilidade de Banco de Dados em ambiente x86
Rodrigo Campos
 
Cloud Computing Oportunidades e Desafios
Cloud Computing Oportunidades e DesafiosCloud Computing Oportunidades e Desafios
Cloud Computing Oportunidades e Desafios
Rodrigo Campos
 
CMG 2012 - Tuning where it matters - Gerry Tuddenham
CMG 2012 - Tuning where it matters - Gerry TuddenhamCMG 2012 - Tuning where it matters - Gerry Tuddenham
CMG 2012 - Tuning where it matters - Gerry Tuddenham
Rodrigo Campos
 
Racionalização e Otimização de Energia em Computação na Nuvem
Racionalização e Otimização de Energia em Computação na NuvemRacionalização e Otimização de Energia em Computação na Nuvem
Racionalização e Otimização de Energia em Computação na Nuvem
Rodrigo Campos
 

Mais de Rodrigo Campos (20)

Velocity Conference NYC 2014 - Real World DevOps
Velocity Conference NYC 2014 - Real World DevOpsVelocity Conference NYC 2014 - Real World DevOps
Velocity Conference NYC 2014 - Real World DevOps
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014
 
7Masters Webops in the Cloud
7Masters Webops in the Cloud7Masters Webops in the Cloud
7Masters Webops in the Cloud
 
14 guendert pres
14 guendert pres14 guendert pres
14 guendert pres
 
Large and Giant Pages
Large and Giant PagesLarge and Giant Pages
Large and Giant Pages
 
Otimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalOtimização holistica de ambiente computacional
Otimização holistica de ambiente computacional
 
Desempenho e Escalabilidade de Banco de Dados em ambiente x86
Desempenho e Escalabilidade de Banco de Dados em ambiente x86Desempenho e Escalabilidade de Banco de Dados em ambiente x86
Desempenho e Escalabilidade de Banco de Dados em ambiente x86
 
13 coelho final-pres
13 coelho final-pres13 coelho final-pres
13 coelho final-pres
 
Mistério ou tecnologia? Paralelismo!
Mistério ou tecnologia? Paralelismo!Mistério ou tecnologia? Paralelismo!
Mistério ou tecnologia? Paralelismo!
 
z/VM Performance Analysis
z/VM Performance Analysisz/VM Performance Analysis
z/VM Performance Analysis
 
Sistemas de proteção de perímetro
Sistemas de proteção de perímetroSistemas de proteção de perímetro
Sistemas de proteção de perímetro
 
Devops at Walmart GeC Brazil
Devops at Walmart GeC BrazilDevops at Walmart GeC Brazil
Devops at Walmart GeC Brazil
 
Disk IO Benchmarking in shared multi-tenant environments
Disk IO Benchmarking in shared multi-tenant environmentsDisk IO Benchmarking in shared multi-tenant environments
Disk IO Benchmarking in shared multi-tenant environments
 
Cloud Computing Oportunidades e Desafios
Cloud Computing Oportunidades e DesafiosCloud Computing Oportunidades e Desafios
Cloud Computing Oportunidades e Desafios
 
CMG 2012 - Tuning where it matters - Gerry Tuddenham
CMG 2012 - Tuning where it matters - Gerry TuddenhamCMG 2012 - Tuning where it matters - Gerry Tuddenham
CMG 2012 - Tuning where it matters - Gerry Tuddenham
 
A Consumerização da TI e o Efeito BYOT
A Consumerização da TI e o Efeito BYOTA Consumerização da TI e o Efeito BYOT
A Consumerização da TI e o Efeito BYOT
 
CMG Brasil 2012 - Uso de Lines nos z196
CMG Brasil 2012 - Uso de Lines nos z196CMG Brasil 2012 - Uso de Lines nos z196
CMG Brasil 2012 - Uso de Lines nos z196
 
Racionalização e Otimização de Energia em Computação na Nuvem
Racionalização e Otimização de Energia em Computação na NuvemRacionalização e Otimização de Energia em Computação na Nuvem
Racionalização e Otimização de Energia em Computação na Nuvem
 
SDN - Openflow + OpenVSwitch + Quantum
SDN - Openflow + OpenVSwitch + QuantumSDN - Openflow + OpenVSwitch + Quantum
SDN - Openflow + OpenVSwitch + Quantum
 
AWS RDS Benchmark - CMG Brasil 2012
AWS RDS Benchmark - CMG Brasil 2012AWS RDS Benchmark - CMG Brasil 2012
AWS RDS Benchmark - CMG Brasil 2012
 

Último

Último (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

The good, the bad and the big... data