SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
G O E B A N C O D E D A D O S
M A R C E L O
K R Ü G E R
D A T A I N T E G R A T I O N
T E A M
GANHANDO DESEMPENHO EM PROCESSOS DE CARGA DE DADOS
A P R E S E N T A Ç Ã O
FORMAÇÃO  Ciências da Computação - UNIVALI/SJ
VIDA
PROFISSIONAL
Digitro Tecnologia: Integração de Dados e DBA (Oracle,
DB2 e PostgreSQL)
Cassol Centerlar: DBA Oracle
Neoway: Especialista de Dados e DBA PostgreSQL
PUBLICAÇÕES Efficient Execution of Conjunctive Complex Queries on
Big Multimedia Databases (Co-autor)
Baquara: A Holistic Ontological Framework for
Movement Analysis with Linked Data (Co-autor)
Fragmentação, caracterização e recuperação de
imagens em bases de dados Oracle (Autor)
N E O W A Y
100% Big Data
Fornecer soluções que vão além de exibir dados,
mas sim gerar informação e conhecimento para
tomada de decisão
Não ser mais do mesmo, ser DIFERENTE!
B I G D A T A
Grande Volume de Dados, estruturados e não estruturados,
oriundos de diversas fontes
=
Gerar conhecimento para auxiliar na tomada de decisão
D E S A F I O S D A C A R G A D E D A D O S
Grande volume de dados
    Dados Transacionais, Informações publicas, Dados de
Sensores, ...
Dados em diversos tipos de arquivo
     CSV / Texto / Json / XML
Quanto maior o volume, maior o tempo para carregar dados
em uma estrutura
     Escalabilidade / Velocidade / Facil manutenção
O B A N C O D E D A D O S
Recebe a maior carga dentro de uma estrutura de dados
Recurso compartilhado entre outros processos e usuarios
    Uso constante de recursos (CPU / Memoria / Disco)
Maior criticidade frente a outros processos
Como carregar dados de forma eficiente sem
prejudicar o banco de dados?
F O R M A S D E R E A L I Z A R C A R G A
D E D A D O S
COPY
PL/SQL
Scripts (BASH)
Softwares para ETL (PDI, )
Via Linguagens
     JAVA / C# / Phython / C++ / Go, ....
Q U A L U T I L I Z A R ?
Realizado teste de inserção em massa no PostgreSQL, utilizando
as linguagens Java, C#, Python e GO
Estrutura do teste
CPU: i7
Memoria: 8GB
Banco de Dados: PostgreSQL 9.6 em container Docker
Carga de 5 mihões de empresas (CNPJ e Razão Social)
Processo e Banco de Dados estão executando na mesma estrutura.
Q U A L U T I L I Z A R ?
0
2
4
6
8
10
Java C# Python Go
Tempo de Execução em cada linguagem (Minutos)
Q U A L U T I L I Z A R ?
Golang
Além do desempenho para carga de dados
Programação concorrente/paralela nativa
Desempenho (Baseado em C o/)
Multiplataforma
Open Source
Facilmente escalável
Simples!
D E P E N D Ê N C I A S P A R A C A R G A
D O S D A D O S
database/sql
github.com/lib/pq (Driver PostgreSQL)
E X T R A
Para melhorar o tempo de carga é possivel ainda recorrer a
estruturas de Pool no PostgreSQL.
O B R I G A D O !
M A R C E L O . K R U G E R @ N E O W A Y . C O M . B R
M A R C E L O K R U G E R . C O M . B R

Mais conteúdo relacionado

Semelhante a Apresentação TDC 2018 - Go e Banco de Dados

Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineFrederico Maia Arantes
 
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Daniel Destro Do Carmo
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopDiego Sana
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows AzureAlessandro Binhara
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Affinitas GmbH
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfFernandoIto8
 
Bancos de dados No-SQL e afins
Bancos de dados No-SQL e afinsBancos de dados No-SQL e afins
Bancos de dados No-SQL e afinsdcarneir
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?pichiliani
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosAmbiente Livre
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoraçãoelliando dias
 
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...Ricardo Ferreira
 

Semelhante a Apresentação TDC 2018 - Go e Banco de Dados (20)

Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
 
Qcon Rio 2015 - Data Lakes Workshop
Qcon Rio 2015 - Data Lakes WorkshopQcon Rio 2015 - Data Lakes Workshop
Qcon Rio 2015 - Data Lakes Workshop
 
Data Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na práticaData Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na prática
 
Bi ferramentas olap 1
Bi   ferramentas olap 1Bi   ferramentas olap 1
Bi ferramentas olap 1
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows Azure
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
 
Bancos de dados No-SQL e afins
Bancos de dados No-SQL e afinsBancos de dados No-SQL e afins
Bancos de dados No-SQL e afins
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativos
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoração
 
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
 

Apresentação TDC 2018 - Go e Banco de Dados

  • 1. G O E B A N C O D E D A D O S M A R C E L O K R Ü G E R D A T A I N T E G R A T I O N T E A M GANHANDO DESEMPENHO EM PROCESSOS DE CARGA DE DADOS
  • 2. A P R E S E N T A Ç Ã O FORMAÇÃO  Ciências da Computação - UNIVALI/SJ VIDA PROFISSIONAL Digitro Tecnologia: Integração de Dados e DBA (Oracle, DB2 e PostgreSQL) Cassol Centerlar: DBA Oracle Neoway: Especialista de Dados e DBA PostgreSQL PUBLICAÇÕES Efficient Execution of Conjunctive Complex Queries on Big Multimedia Databases (Co-autor) Baquara: A Holistic Ontological Framework for Movement Analysis with Linked Data (Co-autor) Fragmentação, caracterização e recuperação de imagens em bases de dados Oracle (Autor)
  • 3. N E O W A Y 100% Big Data Fornecer soluções que vão além de exibir dados, mas sim gerar informação e conhecimento para tomada de decisão Não ser mais do mesmo, ser DIFERENTE!
  • 4. B I G D A T A Grande Volume de Dados, estruturados e não estruturados, oriundos de diversas fontes = Gerar conhecimento para auxiliar na tomada de decisão
  • 5. D E S A F I O S D A C A R G A D E D A D O S Grande volume de dados     Dados Transacionais, Informações publicas, Dados de Sensores, ... Dados em diversos tipos de arquivo      CSV / Texto / Json / XML Quanto maior o volume, maior o tempo para carregar dados em uma estrutura      Escalabilidade / Velocidade / Facil manutenção
  • 6. O B A N C O D E D A D O S Recebe a maior carga dentro de uma estrutura de dados Recurso compartilhado entre outros processos e usuarios     Uso constante de recursos (CPU / Memoria / Disco) Maior criticidade frente a outros processos Como carregar dados de forma eficiente sem prejudicar o banco de dados?
  • 7. F O R M A S D E R E A L I Z A R C A R G A D E D A D O S COPY PL/SQL Scripts (BASH) Softwares para ETL (PDI, ) Via Linguagens      JAVA / C# / Phython / C++ / Go, ....
  • 8. Q U A L U T I L I Z A R ? Realizado teste de inserção em massa no PostgreSQL, utilizando as linguagens Java, C#, Python e GO Estrutura do teste CPU: i7 Memoria: 8GB Banco de Dados: PostgreSQL 9.6 em container Docker Carga de 5 mihões de empresas (CNPJ e Razão Social) Processo e Banco de Dados estão executando na mesma estrutura.
  • 9. Q U A L U T I L I Z A R ? 0 2 4 6 8 10 Java C# Python Go Tempo de Execução em cada linguagem (Minutos)
  • 10. Q U A L U T I L I Z A R ? Golang Além do desempenho para carga de dados Programação concorrente/paralela nativa Desempenho (Baseado em C o/) Multiplataforma Open Source Facilmente escalável Simples!
  • 11. D E P E N D Ê N C I A S P A R A C A R G A D O S D A D O S database/sql github.com/lib/pq (Driver PostgreSQL)
  • 12. E X T R A Para melhorar o tempo de carga é possivel ainda recorrer a estruturas de Pool no PostgreSQL.
  • 13. O B R I G A D O ! M A R C E L O . K R U G E R @ N E O W A Y . C O M . B R M A R C E L O K R U G E R . C O M . B R