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

Post on 11-Nov-2014

891 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra sobre Big Data apresentada na Campus Party Brasil 2013, Parque Anhembi, São Paulo - 02/02/2013

TRANSCRIPT

THE GOOD,THE BAD,THE BIG... DATA

Processando Grandes Volumes de Dados

Rodrigo Camposrcampos@uolinc.com@xinu

Agenda

•Big what?•Tecnologias•Conclusões

IBM 350 - 1956Discos 24”1.200 RPM8.800 CPS3,75 MbUSD 53.400 / Mb

Kingston HyperXUSB 3.030.000.000 CPS1.000.000 MbUSD 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,8Zb foram criados ou replicados em 2011.

Fonte: IDC iView - Extracting Value from Chaos - http://bit.ly/YwR8nb

1.800.000.000 Tb

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_CallHandlerON vw_CallHandler.CallHandlerObjectId=vw_Subscriber.CallHandlerObjectIdINNER JOIN vw_ContactRuleON vw_ContactRule.ParentObjectId=vw_CallHandler.CallHandlerObjectIdWHERE vw_CallHandler.IsPrimary='1' AND vw_Subscriber.SubscriberType IN ('1','3') AND vw_ContactRule.Alias='alternate' AND vw_ContactRule.Action='1

Dados pouco uniformesExtensible Markup Language

Comma Separated Values

Spreadsheets

Text Files

SYSLOG

Document Oriented

Graph Databases

Hypermedia Databases

Spatial Databases

In-Memory Databases

Message Queues

Flat files

Hierarchical Model

Network Model Relational Model

Object-relational

Os dados tradicionalmente eram gerados por

computadores

0100100100101010010101010000101010110010100101011100101101010010010010010101001001010011101001001001010010010100101010001010101110010100101001010011111001010101010010010010010

Fontes de dados são diversificadas

O armazenamento e processamento dos dados

tradicionalmente era centralizado

0100100100101010010101010000101010110010100101011100101101010010010010010101001001010011101001001001010010010100101010001010101110010100101001010011111001010101010010010010010

Os volumes ultrapassam a capacidade individual dos

bancos de dados

Lead ION Collision - ALICE experiment at CERN25 Petabytes por anoLHC Computing Grid - 170 datacenters em 36 paíseshttp://wlcg.web.cern.ch/

Precisamos de soluções e ferramentas novas para:

ExtraçãoArmazenamentoProcessamento

Visualização

Extração Armazenamento

ProcessamentoVisualização

Big Data

Extração

Data ScrapingAPIs

Data Scraping

API

Armazenamento

Sistemas distribuídos

Sistemas distribuídos

Desafios para o design:Escala

GerenciamentoSeguranç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 1user1_FirstName Rodrigouser1_LastName Camposuser1_Twitter xinuuser1_CatCount 2user1_Cat1_Name Agathauser1_Cat1_Age 5user1_Cat2_Name Frankuser1_Cat2_Age 4

Grafo

Desenhados para estruturas baseadas em vértices e

arestas com propriedades

Grafo

Id: 1FirstName: RodrigoLastName: Campos

Twitter: xinuType: human

Id: 2Name: FrankEyes: Blue

Age: 4Type: cat

Id: 3Name: Agatha

Eyes: BlueAge: 5

Type: cat

Id: 100Label: master

Id: 101Label: servant

Id: 102Label: servant

Id: 103Label: master

Id: 105Label: friends

Id: 104Label: friends

ProcessamentoBancos de dados de

documentos Chave-Valor Grafo

•Cassandra•CouchDB•MongoDB•Couchbase•Lotus Notes

•Cassandra•Riak•Memcached•Redis•Kyoto Cabinet

•AllegroGraph•Neo4J•FlockDB•InfiniteGraph

MapReduce

Um modelo de programação distribuída para o

processamento de grandes conjuntos de dados

MapReduce

Problema:Contar os elementos separando pelas cores

MapReduce

Dados originais

Master Node

MAP

Node 1

Node 2

Node 3

Node 4

Node 5

REDUCEx2 x4

x1x3

x3

x2

x5

Resultado

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 PartitionTolerance

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

top related