SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Queries em Big Data: o poder dos
bancos de dados baseados em
GPU
Tiago Vinícius
vinicius.remigio@gmail.com
linkedin.com/in/viniremigio/
• Recife-PE
• Bacharel em Ciência da Computação
pelo CIn-UFPE
• MBA em Big Data pela FIAP
• Atualmente: Data Engineer no Serasa
Experian DataLab
• Anterior: elo7, UOL
Tiago Vinícius (Vini)
Agenda
• Características das GPU accelerated databases
• Quais os principais players
• Exemplos com MapD
• Tradeoffs e considerações finais
Graphics Processing Units
• Alta capacidade de paralelismo
• CPUs: ~ 32 – 40 cores
• GPUs: ~ 5000 cores
• GPU processa workloads até 100x mais rápido comparado com
CPUs
• Redução na quantidade requerida de servidores
• “Brute force horizontal scaling”
• Disponível nos principais Cloud Providers (AWS, GCP,
Azure…)
Nvidia Tesla V100
Comparação GPU vs CPU - Teraflops
Fonte: Introduction to GPU for Data Analytics
Veículos
autônomos
GPU: Aplicações
Computação gráfica
Deep learning
Realidade virtual
Bancos de dados e Analytics Workload
Mineração criptomoedas
GPU Accelerated Databases
• Otimizadas para utilizar o paralelismo das GPUs para processar
queries
• JOIN, WHERE, GROUP BY,...
• Projetadas com foco em Analytics
• Alta performance na ingestão de dados
• Capacidade de renderização e visualização em tempo real
• Complemento ao ecossistema Hadoop
• Data Science: Analise exploratória, feature engineering e interações em
tempo real
• Escalabilidade horizontal (adicionando máquinas)
• Escalabilidade vertical (adicionando GPUs)
GPU Accelerated Databases: Cenários
• Interações em
redes sociais
• Logs de sensores e
outros dispositivos
móveis (IoT + Big
Data)
• Dados
geolocalizados
• Telecom
• Finanças
• Mobilidade urbana
• Retail
• Energia
Principais GPU Databases
MapD – Massive parallel Database
• “In-memory, column store, relational database”
• Carrega a maior quantidade de registros possível na memória da GPU
• Performático com bilhões de registros
• (Bases de 5TB – 10TB)
• Processam queries em poucos milissegundos
• Possui engine de renderização e ferramenta de visualização própria
(MapD Immerse)
• Diferentes formas de ingestão: Sqoop, Kafka, Spark
• Aplicações: analytics, geolocalização e análise exploratória em big
data
MapD
• Queries com SQL (JDBC Client)
• MapD Core: Single node ou Multi node
• Single node suporta 8 GPUs NVIDIA Tesla P40
• 192GB of GPU RAM
• Ingestão de dados padrão
• Criação de tabela e ingestão sem fases de pré-processamento
• Ideal para cenários de streaming
• Operações como WHERE, GROUP BY e JOIN são
otimizadas para executar nativamente na GPU
• MapD Core Open source: github.com/mapd
https://www.mapd.com/platform/
MapD: Componentes
MapD Whitepaper: http://go3.mapd.com/resources/whitepapers/mapd/lp
Demo: NYC Taxi Drives
Ingestão de dados
sqoop-export
--table sptrans
--export-dir hdfs:///data/example
--fields-terminated-by ";"
--connect "jdbc:mapd:data.example.com:9091:mapd"
--driver com.mapd.jdbc.MapDDriver
--direct
--batch
# Producer
cat example.csv | bin/kafka-console-producer.sh --broker-
list localhost:9097
--topic example_topic
# Consumer
./bin/kafka-simple-consumer-shell.sh --broker-list
localhost:9097 --topic example_topic
--from-beginning | /home/mapd2/build/bin/StreamInsert --
port 9091 -p
HyperInteractive --database mapd --table example --user
mapd --batch 1
(Stream Insert)
df = spark.read.option("header", "true").csv(args.input)
df.createOrReplaceTempView(“smartzones_data")
df = spark.sql("""
SELECT data, hora, linha, carro, latitude, longitude
FROM smartzones_data
""")
df.write.jdbc(url="jdbc:mapd:<HOST>:9091:mapd",
table="smartzones_data", mode="append",
properties= {"driver":"com.mapd.jdbc.MapDDriver","user":“<USER>",
"password":“<PASSWORD>"})
MapD Immerse:
Exemplos de Visualizações
(mapd.com/demos)
Testes com MapD
no DataLab
MapD: Setup e Uso
• Motivação: Projeto Polis
• MapD Versão Community
• Container nvidia-docker
• Máquinas com GPU on-premise
• Nvidia K80 (~2500 cores, 12GB RAM)
• Principais usos
• Combinação de dados geolocalizados com bases Serasa
• Análise exploratória / feature engineering de novas bases
• Fluxo:
• Imputação das bases no HDFS
• Criação de tabelas no MapD
• Spark import job: HDFS -> MapD
• Criação de Dashboards
• Para produção: Família p2 AWS ou MapD Cloud
MapD: Limitações
• On-premise
• custo inicial é alto
• Ao atualizar kernel, verificar atualização de drivers também
• Pouca documentação (vem melhorando)
• Comunidade e fóruns ainda são pequenos
• Driver JDBC ainda em desenvolvimento
• Não tem DELETE, nem ADD COLUMN!!! (v3.3.0)
• Não é compatível para algumas GPUs
• LDAP, HA apenas na versão EE
Qual GPU database devo
escolher?
https://hackernoon.com/which-gpu-database-is-right-for-me-6ceef6a17505
Database Tipo Cloud Pontos importantes
MapD Colunar
In-memory
AWS Marketplace
MapD Cloud
Azure
Visualização built-in (Immerse)
in-memory
Possui versão community
MapD Core Open Source
SQreamDB Colunar Alibaba
AWS EC2 (beta)
Azure
Visualização com Tableau
Escala para lidar com volumes na
ordem de petabytes
Kinetica Relacional
In-memory
AWS Marketplace
GCP
in-memory
Visualização built-in (Reveal)
BlazingDB Relacional AWS Marketplace
Azure
Possui versão community
Brytlyt Relacional AWS Marketplace Visualização built-in (Spotlyt)
Possui Versão Community
Blazegraph Grafo AWS Neptune* 50bi nodes (única máquina)
RDF/Sparql e Tinkerpop/Gremlim
Versão community (sem GPU)
Considerações finais
• Avaliar se o business necessita da tecnologia
• GPU Databases ainda precisam amadurecer
• Bases trial dificultam a avaliação
• Adoção ainda pequena
• Visualizações: Mapas e Gráficos
• Iterações praticamente sem latência de queries
• Integração com arquitetura de Big Data
• Verificar custos
• On-premise: Aquisição de GPUs
• Cloud: Licenças, reserved instances
Dúvidas?
Contatos
vinicius.remigio@gmail.com
linkedin.com/in/viniremigio/
Referências
https://www.nextplatform.com/2016/09/22/pushing-database-scalability-gpus/
https://www.serasaexperian.com.br/p/inovacao-datalab/polis
https://www.nextplatform.com/2016/03/30/mapd-gpu-database-looks-forward-heftier-iron/
https://info.sqream.com/hubfs/pdf/SQream%20DB%20Technical%20Whitepaper.pdf
https://www.zdnet.com/article/gpu-databases-are-coming-of-age/
https://www.kdnuggets.com/2017/08/rise-gpu-databases.html
https://hackernoon.com/which-gpu-database-is-right-for-me-6ceef6a17505
https://wikibon.com/next-kinetica-mapd-sqream-gpu-database-vendors/
https://www.mapd.com/demos
Mizel & Biery. Introduction to GPU for Data Analytics
https://www.nextplatform.com/2016/09/22/pushing-database-scalability-gpus/
https://www.safaribooksonline.com/library/view/strata-data-conference/9781491976326/video316575.html
https://www.blazegraph.com/whitepapers/Blazegraph-gpu_InDetail_BloorResearch.pdf
https://www.youtube.com/watch?v=XkYH5Drj4Iw&t=55s

Mais conteúdo relacionado

Semelhante a Queries em Big Data: Bancos de dados em GPU

QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLFernando Ike
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Filipe Barretto
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Sql saturday joinville 2019 sql server 2019 Big Data Clustes
Sql saturday  joinville 2019   sql server 2019 Big Data ClustesSql saturday  joinville 2019   sql server 2019 Big Data Clustes
Sql saturday joinville 2019 sql server 2019 Big Data ClustesLuiz Henrique Garetti Rosário
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Desenvolvendo Aplicações Offline com ArcGIS Runtime SDK
Desenvolvendo Aplicações Offline com ArcGIS Runtime SDKDesenvolvendo Aplicações Offline com ArcGIS Runtime SDK
Desenvolvendo Aplicações Offline com ArcGIS Runtime SDKDiogo Romeo Rosanelli
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopBig Data Week São Paulo
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpCampus Party Brasil
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Rafael Schettino
 
[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
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLRaul Oliveira
 

Semelhante a Queries em Big Data: Bancos de dados em GPU (20)

SQL Maniacs - SQL Server 2019 Big Data Clusters
SQL Maniacs - SQL Server 2019 Big Data ClustersSQL Maniacs - SQL Server 2019 Big Data Clusters
SQL Maniacs - SQL Server 2019 Big Data Clusters
 
Sql maniacs sql server 2019 Big Data Clusters
Sql maniacs   sql server 2019 Big Data ClustersSql maniacs   sql server 2019 Big Data Clusters
Sql maniacs sql server 2019 Big Data Clusters
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoop
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Sql saturday joinville 2019 sql server 2019 Big Data Clustes
Sql saturday  joinville 2019   sql server 2019 Big Data ClustesSql saturday  joinville 2019   sql server 2019 Big Data Clustes
Sql saturday joinville 2019 sql server 2019 Big Data Clustes
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Desenvolvendo Aplicações Offline com ArcGIS Runtime SDK
Desenvolvendo Aplicações Offline com ArcGIS Runtime SDKDesenvolvendo Aplicações Offline com ArcGIS Runtime SDK
Desenvolvendo Aplicações Offline com ArcGIS Runtime SDK
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs Php
 
Clusterização de Aplicações PHP
Clusterização de Aplicações PHPClusterização de Aplicações PHP
Clusterização de Aplicações PHP
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
 
[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
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
 

Queries em Big Data: Bancos de dados em GPU