WorkshopMaxtera_RevDados_11mar15
-
Upload
adriano-amaral -
Category
Documents
-
view
35 -
download
0
Transcript of WorkshopMaxtera_RevDados_11mar15
Revolução dos DadosAdriano Amaral Diretor Tecnologia e Soluções about.me/adriano_amaral
Labs
Espaço…
Objetivos
Teste
Prototipagem IdéiasTendências
Aprofundamento TecnológicoNovas Tecnologias
Inovação
• Explanações com intervenções…tipo bate-papo;
• Não tem como objetivo ser o "dono da verdade";
• Dinâmica de Design Thinking, para solução de problemas;
• Definir temas e prioridades futuras;
Dinâmica
Os alquimistas estão chegando….
Teradata Unified Data Architecture™
AUDIO & VIDEO images text Web & social Machine logs crm scm erp
Dual systems
Data marts
Test/ dev
ANALYTICAL ARCHIVE
Languages Math & stats Data Mining BUSINESS INTELLIGENCE ApplicationsVIEWPOINT SUPPORT
INDEPENDENT DATA MART
Discovery platform
INTEGRATED DATA WAREHOUSE
Data lab
Capture | Store | Refine
Engineers
Data Scientists Business Analysts Marketing Front-Line Workers
Operational SystemsCustomers / Partners Executives
Como transformar dados em ouro?
Liberte os dados…
Dados Informação
Inteligência
Imperativo
Decisões Resultados
Conhecimento
Necessidade Utilidade
Realizando Valor Maxtera
ParceirosStream Data
Fast Data
Big Data
Tempo Real
Apps Data
Sensores (IoT)
Não Estruturados
Estruturados
ENGINE DE DADOS
Open Data
Decisões Análises
Previsões Fraudes
Valor
DataScientist Consulting Team
Nos primórdios...
Como armazenar os dados?How do we store data?
5/11/13 Bill Howe, UW 2
Como armazenar os dados?How do we store data?
5/11/13 Bill Howe, UW 3
###query length COG hit #1 e-value #1 identity #1 score #1 hit length #1 description #1
chr_4[480001-580000].287 4500
chr_4[560001-660000].1 3556
chr_9[400001-500000].503 4211 COG4547 2.00E-04 19 44.6 620 Cobalamin biosynthesis protein CobT (nicotinate-mononucleotide:5, 6-dimethylbenzimidazole phosphoribosyltransferase)
chr_9[320001-420000].548 2833 COG5406 2.00E-04 38 43.9 1001 Nucleosome binding factor SPN, SPT16 subunit
chr_27[320001-404298].20 3991 COG4547 5.00E-05 18 46.2 620 Cobalamin biosynthesis protein CobT (nicotinate-mononucleotide:5, 6-dimethylbenzimidazole phosphoribosyltransferase)
chr_26[320001-420000].378 3963 COG5099 5.00E-05 17 46.2 777 RNA-binding protein of the Puf family, translational repressor
chr_26[400001-441226].196 2949 COG5099 2.00E-04 17 43.9 777 RNA-binding protein of the Puf family, translational repressor
chr_24[160001-260000].65 3542
chr_5[720001-820000].339 3141 COG5099 4.00E-09 20 59.3 777 RNA-binding protein of the Puf family, translational repressor
chr_9[160001-260000].243 3002 COG5077 1.00E-25 26 114 1089 Ubiquitin carboxyl-terminal hydrolase
chr_12[720001-820000].86 2895 COG5032 2.00E-09 30 60.5 2105 Phosphatidylinositol kinase and protein kinases of the PI-3 kinase family
chr_12[800001-900000].109 1463 COG5032 1.00E-09 30 60.1 2105 Phosphatidylinositol kinase and protein kinases of the PI-3 kinase family
chr_11[1-100000].70 2886
chr_11[80001-180000].100 1523
ANNOTATIONSUMMARY-COMBINEDORFANNOTATION16_Phaeo_genome
What is the data model?
How do we store data?
5/11/13 Bill Howe, UW 3
###query length COG hit #1 e-value #1 identity #1 score #1 hit length #1 description #1
chr_4[480001-580000].287 4500
chr_4[560001-660000].1 3556
chr_9[400001-500000].503 4211 COG4547 2.00E-04 19 44.6 620 Cobalamin biosynthesis protein CobT (nicotinate-mononucleotide:5, 6-dimethylbenzimidazole phosphoribosyltransferase)
chr_9[320001-420000].548 2833 COG5406 2.00E-04 38 43.9 1001 Nucleosome binding factor SPN, SPT16 subunit
chr_27[320001-404298].20 3991 COG4547 5.00E-05 18 46.2 620 Cobalamin biosynthesis protein CobT (nicotinate-mononucleotide:5, 6-dimethylbenzimidazole phosphoribosyltransferase)
chr_26[320001-420000].378 3963 COG5099 5.00E-05 17 46.2 777 RNA-binding protein of the Puf family, translational repressor
chr_26[400001-441226].196 2949 COG5099 2.00E-04 17 43.9 777 RNA-binding protein of the Puf family, translational repressor
chr_24[160001-260000].65 3542
chr_5[720001-820000].339 3141 COG5099 4.00E-09 20 59.3 777 RNA-binding protein of the Puf family, translational repressor
chr_9[160001-260000].243 3002 COG5077 1.00E-25 26 114 1089 Ubiquitin carboxyl-terminal hydrolase
chr_12[720001-820000].86 2895 COG5032 2.00E-09 30 60.5 2105 Phosphatidylinositol kinase and protein kinases of the PI-3 kinase family
chr_12[800001-900000].109 1463 COG5032 1.00E-09 30 60.1 2105 Phosphatidylinositol kinase and protein kinases of the PI-3 kinase family
chr_11[1-100000].70 2886
chr_11[80001-180000].100 1523
ANNOTATIONSUMMARY-COMBINEDORFANNOTATION16_Phaeo_genome
What is the data model?
How do we store data?
5/11/13 Bill Howe, UW 3
###query length COG hit #1 e-value #1 identity #1 score #1 hit length #1 description #1
chr_4[480001-580000].287 4500
chr_4[560001-660000].1 3556
chr_9[400001-500000].503 4211 COG4547 2.00E-04 19 44.6 620 Cobalamin biosynthesis protein CobT (nicotinate-mononucleotide:5, 6-dimethylbenzimidazole phosphoribosyltransferase)
chr_9[320001-420000].548 2833 COG5406 2.00E-04 38 43.9 1001 Nucleosome binding factor SPN, SPT16 subunit
chr_27[320001-404298].20 3991 COG4547 5.00E-05 18 46.2 620 Cobalamin biosynthesis protein CobT (nicotinate-mononucleotide:5, 6-dimethylbenzimidazole phosphoribosyltransferase)
chr_26[320001-420000].378 3963 COG5099 5.00E-05 17 46.2 777 RNA-binding protein of the Puf family, translational repressor
chr_26[400001-441226].196 2949 COG5099 2.00E-04 17 43.9 777 RNA-binding protein of the Puf family, translational repressor
chr_24[160001-260000].65 3542
chr_5[720001-820000].339 3141 COG5099 4.00E-09 20 59.3 777 RNA-binding protein of the Puf family, translational repressor
chr_9[160001-260000].243 3002 COG5077 1.00E-25 26 114 1089 Ubiquitin carboxyl-terminal hydrolase
chr_12[720001-820000].86 2895 COG5032 2.00E-09 30 60.5 2105 Phosphatidylinositol kinase and protein kinases of the PI-3 kinase family
chr_12[800001-900000].109 1463 COG5032 1.00E-09 30 60.1 2105 Phosphatidylinositol kinase and protein kinases of the PI-3 kinase family
chr_11[1-100000].70 2886
chr_11[80001-180000].100 1523
ANNOTATIONSUMMARY-COMBINEDORFANNOTATION16_Phaeo_genome
What is the data model?
• Simplificar a realidade;
• Definir espaço da amostra;
• Traduzir de forma ao entendimento da máquina;
• Possibilitar a manipulação;
Modelagem!
• 3 Componentes
1.Estruturas;
2.Constrições;
3.Operações;
O que é um modelo de dados?
1.Estruturas;
• Linhas ou colunas?
• nós ou elementos?
• valores chaves?
• sequência de Bytes?
2.Constrições;
• todas as linhas tem o mesmo número de colunas?
• os valores da cada coluna devem ter o mesmo valor?
• um filho não pode ter 2 pais?
3.Operações;
• Ache o valor da váriavel X
• Ache a linha onde a coluna “sobrenome” tem o valor “Oliveira"
• Pegue os próximos N bytes
O que é um modelo de dados?
"Uma coleção de informações organizadas para facilitar a
recuperação da mesma"
O que é um banco de dados?
http://www.usg.edu/galileo/skills/unit04/primer04_01.phtml
• Que problemas o Banco de Dados resolve? • Compartilhamento
• Permite o acesso de vários leitores e escritores simultaneamente;
• Forçar a modelagem de dados • Garante que todas as aplicações acessem mesmo formato e
organização de dados; • Escala
• Trabalha com datasets muito grandes para caber na memória;
• Flexibilidade • Usar os dados de um jeito novo, e não imaginados ainda!!!
O que esperar do banco de dados?
• Como esse dado é organizado fisicamente no disco?
• Que tipos de consulta são eficientemente suportadas por esse modelo e quais não?
• Quão complexo é adicionar um dado ou atualizá-lo?
• O que acontece quando surgem novas consultas que não havia previsto? Preciso reorganizar os dados? Quão complicado é isso?
Questões importantes!!
• Bando de Dados em Rede:
Historico dos Bancos de Dados
Historical Example: Network Databases
5/11/13 Bill Howe, UW 2
Database: A collection of information organized to afford efficient retrieval
Orderer%Customer%
Screw%
Nut%
Washer%
Contact%Rep%
• Banco de Dados Hierárquico
Historico dos Bancos de Dados
Historical Example: Hierarchical Databases
5/11/13 Bill Howe, UW 3
Orderer%
Customer%
Screw%
Nut%
Nail%
Contact%Rep%Orderer% Screw%
Nut%
Washer%master
detail
detail
Works great if you want to find all orders for a particular customer. But what if you want to find all Customers who ordered a Nail?
"RDBMS - Sistemas Gerenciamento de Banco de Dados relacionais, foram inventados para permitir que
você use o dado de múltiplas formas, incluindo caminhos que não haviam sido determinados quando o banco foi criado e sua primeira aplicação desenhada”
Banco de Dados Relacionais
Codd, 1970
Promover independencia física dos dados…
5/11/13 Bill Howe, eScience Institute 2
Key Idea: “Physical Data Independence”
physical data independence
files and pointers
relations
SELECT seq FROM ncbi_sequences WHERE seq = �GATTACGATATTA�;
f = fopen(�table_file�); fseek(10030440); while (True) { fread(&buf, 1, 8192, f); if (buf == GATTACGATATTA) { . . .
Promover uma álgebra dos registros
5/11/13 Bill Howe, eScience Institute 3
Key Idea: An Algebra of Tables
select
project
join join
Other operators: aggregate, union, difference, cross product
Relacional X Analítico
Relacional X Analitico
Equivalent logical expressions; different costs
1
σp=knows(R) o=s (σp=holdsAccount(R) o=s σp=accountHomepage(R))
(σp=knows(R) o=s σp=holdsAccount(R)) o=s σp=accountHomepage(R)
σp1=knows & p2=holdsAccount & p3=accountHomepage (R x R x R)
right associative
left associative
cross product
Mesma operação, custos diferentes!
Com
ple
xid
ade
Sofisticação do Dado
Atualização Contínua & Sensível ao tempo,
consultas mais importantes
OPERACIONALIZANDO O QUE está
acontecendo?
Comandos baseado em eventos assumem
o ambiente
ATIVANDO FAZENDO acontecer!
Atualização Continua e Consultas Rápidas
Ações baseada em eventos
Cresce os modelos analíticos
PREVENDO O QUE IRÁ acontecer?
Batch
Ad Hoc
Analytics
Aumento de análisesAd Hoc
ANALISANDO PORQUE isso aconteceu?
Batches & Relatórios Ad Hoc
REPORTANDO O QUE
aconteceu?
Evolução de uso Ambiente Analítico
“Big Data é qualquer dado que é caro demais para gerenciar e
extrair valor”
Bigdata: Definição…
Michael Franklin Thomas M. Siebel Professor of Computer Science Director of the Algorithms, Machines and People Lab University of Berkeley
• Velocidade • latência do dado mediante diversidade de
demandas e o crescimento da interatividade;
• Variedade • diversidade de formatos, qualidade, fontes e
estruturas; • Volume
• Tamanho dos dados;
Bigdata: Desafios…
Cadê a pedra filosofal então?
Cidadãos/Consumidores Demanda de novos serviços
Governos/Empresas Adaptação para atender as necessidades
Slide, Arturo Muente-Kunigami @n0wh3r3m4n
http://www.clickestudante.com/resultado-dos-protestos-pelo-brasil.html
1.Governo/Empresas como Plataforma
2.Cidadãos sabem mais e melhor que o governo
(sensores)
3.Sistemas pequenos, baixos acoplamentos
4.Para ganhar a confiança, entregue!
5.Reutilize sistemas e políticas, agregue com inovação
6.Tecnologia como facilitador
Proposta…
govLab1.Design 2.Construção 3.Libere 4.Revise
Fonte: Adaptado Modelo Ágil
OpenLinked Data
J U N E 2 0 1 4
Open for Business:How Open Data Can Help Achieve the G20 Growth Target
A Lateral Economics report commissioned by Omidyar Network
DadosAbertos e o desenvolvimento
13 trilhões de dólares nos próximos 5 anos
Crescimento de 1.1% do PIB do G20, dentre os
2% previstos nos 5 anos
U$14,5 Billhões por ano, e provavelmente esse valor
esta subestimado…(caso australiano)
• Reduz o custos dos serviços do Governo e da
Iniciativa Privada;
• Possibilidade de novos serviços e aumento da
qualidade dos serviços existentes;
• Aumento da confiança no Governo devido o
aumento da governança, transparência e
engajamento dos cidadãos;
Valor dos dados abertos…
Dados que geram mais valor…
Educação
Fazenda
Transporte
Varejo
Energia
Saúde
Agricultura
Emprego
Fonte: Open for Business
Iniciativa Privada
Empresas como Catalizadores!!!
Governo
Sociedade Civil
Sociedade Civil
Sociedade Civil
Sociedade Civil
Sociedade Civil
$$$
200M libras em
prescrições no SUS
Britânico (NHS)
http://www.economist.com/news/britain/21567980-how-scrutiny-freely-available-data-might-save-nhs-money-beggar-thy-neighbour
WhereDoesMyMoneyGo.org
Open data index
@shevski okfn.org
@shevski okfn.org
OpenCorporates.com
http://opencorporates.com/viz/financial/index.html
Resolvendo problemas públicos com Tecnologia
CDO (Chief Data Officer)
Como fazer então?
• Operacionalmente • No Passado: Funcionava, mesmo se o dado não coubesse na
memória; • Agora: Posso utilizar vários pequenos computadores (barato)
• "Algoritmamente" • No Passado: Para uma determinada quantidade de dados (N), tenho
finitas operações; (Nm) - Polinomial • Agora: Para um montante crescente de dados, preciso realizar um
volume maior de operações (Nm/k) - Polinomial Paralelizado • Em breve: Dados fluem em um fluxo contínuo de diversa fontes,
consultas realizadas continuamente (N*log(N)) - (StreamData) • Ex: Telescópios de Varredura (30TB/noite)
Escalando…
• Imagine procurar uma seqüência de DNA • Todas as seqüências iguais a:
• GATTACGATATTA
Explorando possibilidades
GATTACGATATTATACCTGCCGTAA
GATTACGATATTA
TACCTGCCGTAA = GATTACGATATTA ?
Ciclo = 0
GATTACGATATTA
CCCCCAATGAC = GATTACGATATTA ?
Ciclo = 1
GATTACGATATTA
GATTACGATATTA = GATTACGATATTA ?
Ciclo = 40
GATTACGATATTA
40 Registros = 40 Comparações
Ordenar a Seqüência?AAAATCCTGCA
AAACGCCTGCA
GATTACGATATTA
TTTTCGTAATT
TTTACGTCAA
GATTACGATATTA
CTGTACACAACCT
CTGTACACAACCT < GATTACGATATTA ?
0% 100%
Começamos dividindo ao meio!
GATTACGATATTA
GGATACACATTTA
GGATACACATTTA > GATTACGATATTA
0% 100%
GATTACGATATTA0% 100%
40 Registros = 4 Comparações N registros = log (N) Comparações
Cortar o dado?
…….
40 Registros / 6 Trabalhadores (N/k)
Cortando, Transformando e Simplificando?
f f f f f f
Vários Dados…
map map map map map map
reduce reduce reduce reduce
3 5 4
MapReduce (2004)
5/15/13 Bill Howe, eScience Institute 21
Hadoop in One Slide
src: Huy Vo, NYU Poly
• Nigredo: ou Operação Negra, é o estágio em que a matéria é dissolvida e putrefacta (associada ao calor e ao fogo);
• Albedo: ou Operação Branca, é o estágio em que a substância é purificada (associada à ablução com Aquae Vitae, à luz da lua, feminina e à prata);
• Citrinitas: ou Operação Amarela, é o estágio em que se opera a transmutação dos metais, da prata em ouro, ou da luz da lua, passiva, em luz solar, ativa;
Processo Alquimico
http://pt.wikipedia.org/wiki/Alquimia
Map • Input = (inputkey, value) • Output = (intermediatekey, value) - distribuidos
Reduce • Input = (intermediatekey, value) • Output = (outputkey, value) - reagrupados
Simplificação do Modelo de Dados
Dados = Arquivo = saco de pares (key, value)
Simplificação do Modelo de Dados…outro….
RDF Resource Description Framework
Implementação de Joins usando Map-Reduce
Nome ID
Adriano 11111
José Rodrigo 22222
Empregados
EmpID Setor11111 Tecnologia2222 Vendas2222 Marketing
Setor Associado
Empregados ⋈ SetorAssociado
Nome ID EmpID SetorAdriano 11111 11111 TecnologiaJosé Rodrigo 22222 2222 VendasJosé Rodrigo 22222 2222 Marketing
Joins: Antes do Mapeamento
Nome ID
Adriano 11111
José Rodrigo 22222
Empregados
EmpID Setor11111 Tecnologia2222 Vendas2222 Marketing
Setor Associado
Empregado, Adriano, 11111 Empregado, José Rodrigo, 22222 Setor, 11111, Tecnologia Setor, 22222, Vendas Setor, 22222, Marketing
Juntar os dados
em um grande
bloco de dados
Joins: Função de Mapeamento…
Empregado, Adriano, 11111 Empregado, José Rodrigo, 22222 Setor, 11111, Tecnologia Setor, 22222, Vendas Setor, 22222, Marketing
Pares:
(chave, valor)
chave=11111, valor= (Empregado, Adriano, 11111) chave=2222, valor= (Empregado, José Rodrigo, 22222) chave=11111, valor= (Setor, 11111, Tecnologia) chave=22222, valor= (Setor, 22222, Vendas) chave=22222, valor= (Setor, 22222, Marketing)
Joins: Fase da Redução
chave=11111, valor= [(Empregado, Adriano, 11111), (Setor, 11111, Tecnologia)]
chave=2222, valor= [(Empregado, José Rodrigo, 22222), (Setor, 22222, Vendas), (Setor, 22222, Marketing)]
Adriano, 11111, 11111, Tecnologia
José Rodrigo, 22222, 22222,Vendas, José Rodrigo, 22222, 22222,Marketing
• DFS - Distributed File System • Processamento Paralelo Massivo - MPP • Tolerância a falha pela duplicação de “chunks” em
nós paralelos • Nó Master e Trabalhadores se dividem nas fases
de Mapping e Reducing
Implementações Map Reduce
Implementações Map Reduce
http://hao-deng.blogspot.com.br/2013/05/map-reduce-logical-data-flow.html
MPP - Massive Parallel Processing
MPP - Massive Parallel Processing
Arquiteturas
A survey of Shared-Nothing Parallel DatabaseManagement Systems
[Comparison between Teradata, Greenplum and Netezza implementations]
Thomas MüselerUniversity of Applied Science Darmstadt
Haardtring 10064295 Darmstadt, Germany
ABSTRACTDistributed database systems can be implemented in a manydifferent ways. Mostly, they are customized for a specialenvironment to handle big data problems. The data ware-house sector relies on these amounts, but has changed froma data storage to a real time management support duringthe last years [3]. The resulting increase of compution andstorage capacity poses new requirements to the databasesystems. Previous approaches of a parallel database envi-ronment tried to solve this problem with shared disk andmemory approaches.The main contribution of this paper is the presentation ofthe current technology in the shared-nothing database sec-tor. The concepts of the manufacturers Teradata, Green-plum and Netezza will be discussed for data warehouse re-quirements. Based on an architectural overview is a detailedinsight of the index functionality given which is a crucialperformance factor. Also data distribution algorithms ofthe manufacturers are analysed under data warehouse con-ditions.At the end is a comparison to other shared concepts (shared-disk, shared-everything) given and the question raised, if theactual approach can be fulfilled by the manufacturers.
1. INTRODUCTIONRising data rates and big data volumes are the new chal-lenges for the today’s database systems. With computerunions is tried to counteract and therefore to distribute thecomputing loads to several instances.
An approach of distributed systems is the shared-nothingarchitecture in which each node can operate independentlyand separated from the other nodes. In contrast to the clas-sical shared database concepts in which the main memory orhard disks are shared, each node has its own hardware com-ponents. In association with a high-speed network results apowerful computer network which is becoming increasinglypopular through the excellent scalability.This paper gives an analysis of the existing architecture con-cepts in shared-nothing database systems. It gives an con-ceptual insight of the manufacturer Teradata, Netezza andGreenplum in chapter 2. These three vendors are relativelysmall companies compared to the market leader (Oracle,IBM, SAP) and pursue interesting ideas in this sector.A focal point of this paper is to the index implementationin chapter 4 which takes a decisive influence on the data
distribution to each node. Based on the application rangein the data warehouse environment (chapter 5), a compari-son is made to other architectural models and the scaling ofthese kinds of networks. Furthermore is the question raised,if the shared-nothing can be adapted to other applicationfields and is therefore a good opportunity for future imple-mentations.
2. ARCHITECTUREThe classification of distributed database systems in terms oftheir architecture can be done at different levels. The mostwidely used approach of Michael Stonebraker [18] builds thebasis for further architectural views and will be extended.Basically, we distinguish between three main approaches.The shared-everything (SE), the shared-disk (SD) and theshared-nothing (SN) architecture are one of the basic con-cepts in a shared database environment. While SE-systemsare sharing the processors (P) / memory resources (M) andthus constitute a closed circuit, require the SD / SN variantsa communication network (N) to integrate their components.
Figure 1: Stonebraker Architecture withshared-everything, shared-disk, shared-nothing
Within the shared-nothing architecture, each processor usesits own main memory and disk. A high-speed network isconnecting the various machines and is required for sharingand organization operations. This makes it more complexcompared to the other two variants concerning the manage-ment of a large number of processing nodes.The construction of a shared-nothing architecture can be di-vided into the following steps [14]:
1. Create a partitioning schema2. Data distribution to the instances3. Load balancing setup4. Repeat the process in case of a re-partitioning
A survey of Shared-Nothing Parallel DatabaseManagement Systems
[Comparison between Teradata, Greenplum and Netezza implementations]
Thomas MüselerUniversity of Applied Science Darmstadt
Haardtring 10064295 Darmstadt, Germany
ABSTRACTDistributed database systems can be implemented in a manydifferent ways. Mostly, they are customized for a specialenvironment to handle big data problems. The data ware-house sector relies on these amounts, but has changed froma data storage to a real time management support duringthe last years [3]. The resulting increase of compution andstorage capacity poses new requirements to the databasesystems. Previous approaches of a parallel database envi-ronment tried to solve this problem with shared disk andmemory approaches.The main contribution of this paper is the presentation ofthe current technology in the shared-nothing database sec-tor. The concepts of the manufacturers Teradata, Green-plum and Netezza will be discussed for data warehouse re-quirements. Based on an architectural overview is a detailedinsight of the index functionality given which is a crucialperformance factor. Also data distribution algorithms ofthe manufacturers are analysed under data warehouse con-ditions.At the end is a comparison to other shared concepts (shared-disk, shared-everything) given and the question raised, if theactual approach can be fulfilled by the manufacturers.
1. INTRODUCTIONRising data rates and big data volumes are the new chal-lenges for the today’s database systems. With computerunions is tried to counteract and therefore to distribute thecomputing loads to several instances.
An approach of distributed systems is the shared-nothingarchitecture in which each node can operate independentlyand separated from the other nodes. In contrast to the clas-sical shared database concepts in which the main memory orhard disks are shared, each node has its own hardware com-ponents. In association with a high-speed network results apowerful computer network which is becoming increasinglypopular through the excellent scalability.This paper gives an analysis of the existing architecture con-cepts in shared-nothing database systems. It gives an con-ceptual insight of the manufacturer Teradata, Netezza andGreenplum in chapter 2. These three vendors are relativelysmall companies compared to the market leader (Oracle,IBM, SAP) and pursue interesting ideas in this sector.A focal point of this paper is to the index implementationin chapter 4 which takes a decisive influence on the data
distribution to each node. Based on the application rangein the data warehouse environment (chapter 5), a compari-son is made to other architectural models and the scaling ofthese kinds of networks. Furthermore is the question raised,if the shared-nothing can be adapted to other applicationfields and is therefore a good opportunity for future imple-mentations.
2. ARCHITECTUREThe classification of distributed database systems in terms oftheir architecture can be done at different levels. The mostwidely used approach of Michael Stonebraker [18] builds thebasis for further architectural views and will be extended.Basically, we distinguish between three main approaches.The shared-everything (SE), the shared-disk (SD) and theshared-nothing (SN) architecture are one of the basic con-cepts in a shared database environment. While SE-systemsare sharing the processors (P) / memory resources (M) andthus constitute a closed circuit, require the SD / SN variantsa communication network (N) to integrate their components.
Figure 1: Stonebraker Architecture withshared-everything, shared-disk, shared-nothing
Within the shared-nothing architecture, each processor usesits own main memory and disk. A high-speed network isconnecting the various machines and is required for sharingand organization operations. This makes it more complexcompared to the other two variants concerning the manage-ment of a large number of processing nodes.The construction of a shared-nothing architecture can be di-vided into the following steps [14]:
1. Create a partitioning schema2. Data distribution to the instances3. Load balancing setup4. Repeat the process in case of a re-partitioning
A survey of Shared-Nothing Parallel DatabaseManagement Systems
[Comparison between Teradata, Greenplum and Netezza implementations]
Thomas MüselerUniversity of Applied Science Darmstadt
Haardtring 10064295 Darmstadt, Germany
ABSTRACTDistributed database systems can be implemented in a manydifferent ways. Mostly, they are customized for a specialenvironment to handle big data problems. The data ware-house sector relies on these amounts, but has changed froma data storage to a real time management support duringthe last years [3]. The resulting increase of compution andstorage capacity poses new requirements to the databasesystems. Previous approaches of a parallel database envi-ronment tried to solve this problem with shared disk andmemory approaches.The main contribution of this paper is the presentation ofthe current technology in the shared-nothing database sec-tor. The concepts of the manufacturers Teradata, Green-plum and Netezza will be discussed for data warehouse re-quirements. Based on an architectural overview is a detailedinsight of the index functionality given which is a crucialperformance factor. Also data distribution algorithms ofthe manufacturers are analysed under data warehouse con-ditions.At the end is a comparison to other shared concepts (shared-disk, shared-everything) given and the question raised, if theactual approach can be fulfilled by the manufacturers.
1. INTRODUCTIONRising data rates and big data volumes are the new chal-lenges for the today’s database systems. With computerunions is tried to counteract and therefore to distribute thecomputing loads to several instances.
An approach of distributed systems is the shared-nothingarchitecture in which each node can operate independentlyand separated from the other nodes. In contrast to the clas-sical shared database concepts in which the main memory orhard disks are shared, each node has its own hardware com-ponents. In association with a high-speed network results apowerful computer network which is becoming increasinglypopular through the excellent scalability.This paper gives an analysis of the existing architecture con-cepts in shared-nothing database systems. It gives an con-ceptual insight of the manufacturer Teradata, Netezza andGreenplum in chapter 2. These three vendors are relativelysmall companies compared to the market leader (Oracle,IBM, SAP) and pursue interesting ideas in this sector.A focal point of this paper is to the index implementationin chapter 4 which takes a decisive influence on the data
distribution to each node. Based on the application rangein the data warehouse environment (chapter 5), a compari-son is made to other architectural models and the scaling ofthese kinds of networks. Furthermore is the question raised,if the shared-nothing can be adapted to other applicationfields and is therefore a good opportunity for future imple-mentations.
2. ARCHITECTUREThe classification of distributed database systems in terms oftheir architecture can be done at different levels. The mostwidely used approach of Michael Stonebraker [18] builds thebasis for further architectural views and will be extended.Basically, we distinguish between three main approaches.The shared-everything (SE), the shared-disk (SD) and theshared-nothing (SN) architecture are one of the basic con-cepts in a shared database environment. While SE-systemsare sharing the processors (P) / memory resources (M) andthus constitute a closed circuit, require the SD / SN variantsa communication network (N) to integrate their components.
Figure 1: Stonebraker Architecture withshared-everything, shared-disk, shared-nothing
Within the shared-nothing architecture, each processor usesits own main memory and disk. A high-speed network isconnecting the various machines and is required for sharingand organization operations. This makes it more complexcompared to the other two variants concerning the manage-ment of a large number of processing nodes.The construction of a shared-nothing architecture can be di-vided into the following steps [14]:
1. Create a partitioning schema2. Data distribution to the instances3. Load balancing setup4. Repeat the process in case of a re-partitioning
Paralelismo
Consultas Distribuidas
Consultas em Paralelo
Distribuindo…
5/15/13 Bill Howe, eScience Institute 38
Parallel Query Example: Teradata
AMP = unit of parallelism
Teradata Database Architecture Page 2
1 5/15/2013 Copyright © 2013 by Teradata Corporation
Teradata and MPP SystemsTeradata is the software that makes a MPP system appear to be a single system to users and administrators.
BYNET 0 BYNET 1
Node 0
PEPE
AMP AMP
AMP AMP
: :
AMP AMP
PDEO.S.
PEPE
AMP AMP
AMP AMP
: :
AMP AMP
PDEO.S.
PEPE
AMP AMP
AMP AMP
: :
AMP AMP
PDEO.S.
PEPE
AMP AMP
AMP AMP
: :
AMP AMP
PDEO.S.
Node 1 Node 2 Node 3
The major components of the Teradata Database are implemented as virtual processors (vproc).
• Parsing Engine (PE)
• Access Module Processor (AMP)
The Communication Layer or Message Passing Layer (MPL) consists of PDE and BYNET SW/HW and connects multiple nodes together.
MPP - Massive Parallel Processing
AMPAccess Module Processor
Teradata Database Architecture Page 6
1 5/15/2013 Copyright © 2013 by Teradata Corporation
The Parsing Engine
The Parsing Engine is responsible for:
• Managing individual sessions (up to 120)
• Parsing and Optimizing your SQL requests
• Dispatching the optimized plan to the AMPs
• Input conversion (EBCDIC / ASCII) -if necessary
• Sending the answer set response back to the requesting client
Answer Set Response
Parsing Engine
SQL Request
Parser
Optimizer
Dispatcher
Message Passing Layer
AMP AMP AMP AMP
Núcleo de Inteligência Parser Engines
Hardware: Achando dado…
Storing and Accessing Data Rows Page 12
1 5/16/2013 Copyright © 2013 by Teradata Corporation
Which AMP has the Row?
Hashing Algorithm
RH Data
Table ID Row Hash PI valuesHBN and data
PARSER
Data Table
Message Passing Layer (Hash Maps)
AMP 1 AMP n - 1AMP x... ...AMP 0 AMP n
PI value = 197190
Hashing Algorithm
000A1F4A
SQL with primary index valuesand data.
For example: Assume PI value is 197190
Summary
The MPL accesses the Hash Map using Hash Bucket Number (HBN) of 000A1.
Bucket # 000A1 contains the AMP number that has this hash value – effectively the AMP with this row.
HBN – Hash Bucket Number
HBN
Hash Maps
AMP #
Row ID Row DataRow Hash Uniq Value
x '00000000'
x'000A1F4A' 0000 0001 38
x 'FFFFFFFF'
BIG DATA
WEBPetabytes
CRMTerabytes
Gigabytes ERP
Exabytes
INCREASING Data Variety and Complexity
User Generated Content
Mobile Web
SMS/MMS
Sentiment
External Demographics
HD Video
Speech to Text
Product/Service Logs
Social Network
Business Data Feeds
User Click Stream
Web Logs
Offer History A/B Testing
Dynamic Pricing
Affiliate Networks
Search Marketing
Behavioral Targeting
Dynamic FunnelsPayment Record Support Contacts
Customer TouchesPurchase Detail
Purchase Record
Offer Details
Segmentation
Big Data: de transações para interações
Análise de Comportamento
ALL DATA
Como extrair valor de negócio?
5/15/13 Bill Howe, eScience Institute 31
Design Space
31"
Throughput"Latency"
Internet"
Private"data"center"
Data&"parallel"
Shared"memory"
The area we’re discussing
inspired by a slide by Michael Isard at Microsoft Research
In a few weeks
Google 2010
Graph vs. SQL and SQL-MR
B has high betweenness. You get that from a graph
Caller Recipient # of calls madeA B 10A C 25A D 32A E 3B I 7C D 5
A B
DC
E
GFH
K
J
L
M
I
SQL or SQL-MR will tell you A makes a lot of
phone calls
?Adriano Amaral Diretor Tecnologia e Soluções about.me/adriano_amaral [email protected]