Obter alta performance em consultas em Big Data são um grande desafio. Tecnologias de bancos de dados NoSQL baseados em GPU estão emergindo como uma alternativa promissora para este problema.
Nesta palestra, será apresentado como podemos nos beneficiar do alto poder computacional das GPUs para a execução de consultas de alto desempenho em arquiteturas de Big Data e quais são os desafios relacionados a adoção destas tecnologia.
1. Queries em Big Data: o poder dos
bancos de dados baseados em
GPU
Tiago Vinícius
vinicius.remigio@gmail.com
linkedin.com/in/viniremigio/
2. • 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)
3. Agenda
• Características das GPU accelerated databases
• Quais os principais players
• Exemplos com MapD
• Tradeoffs e considerações finais
4. 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…)
9. 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)
10. 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
13. 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
14. 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
28. 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
29. 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
32. 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)
33. 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