case: o postgresql em bi: milhares de operações diárias consolidadas em...

36
CASE: O POSTGRESQL EM BI Milhares de operações diárias consolidadas "near-real-time" PGDay Campinas 2014 www.object.com.br 1 Wagner Correa Ramos Anderson Massaharu Shibata

Upload: pgday-campinas

Post on 21-Jul-2015

197 views

Category:

Software


0 download

TRANSCRIPT

Page 1: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI

Milhares de operações diárias consolidadas "near-real-time"

PGDay Campinas 2014 www.object.com.br 1

Wagner Correa Ramos

Anderson Massaharu Shibata

Page 2: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Roteiro

Apresentação da empresa do “CASE”

Requisitos do projeto de BI

Origem dos dados

Modelo de dados do BI

Escolha do SGBD (PostgreSQL)

Tecnologia para a integração dos dados

Tecnologias usadas

Resultados

Futuro

PGDay Campinas 2014 www.object.com.br 2

Page 3: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Requisitos do projeto de BI

Aumentar velocidade da informação

para a prevenção de problemas

Disponibilidade destas informações

dentro e fora da empresa

Foco em qualidade dos dados

Usabilidade

Dados para futuras pesquisas

PGDay Campinas 2014 www.object.com.br 3

Page 4: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Origem dos dados

Cadastros (ERP)

Vendas

PDV (MySQL)

ERP (PostgreSQL)

Compras (ERP)

Despesas (ERP)

Metas (Excel)

Vendas, Compras, Despesas

RH (WS)

PGDay Campinas 2014 www.object.com.br 4

Page 5: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Modelo de dados do BI

Primeira tentativa

Compras e Vendas: Tabela única com totais

por loja, mercadoria, ano, mes, dia e hora

Problema de desempenho nas consultas e

na qualidade dos dados

PGDay Campinas 2014 www.object.com.br 5

Page 6: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Modelo de dados do BI

PGDay Campinas 2014 www.object.com.br 6

Page 7: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Modelo de dados do BI

Segunda tentativa

Compras e Vendas, ainda juntos mas com 3

tabelas (hora/dia/mês)

Melhor desempenho nas consultas

Ainda problemas na qualidade dos dados

PGDay Campinas 2014 www.object.com.br 7

Page 8: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Modelo de dados do BI

Terceira tentativa

Nas 2 tentativas iniciais faziamos a

totalização durante a replicação dos dados

dos PDVs para o BI

Na terceira criamos no BI as tabelas de

cupons e itens de cupons de venda

Simplificação das transformações

necessárias nos dados entre PDVs e BI

Qualidade dos dados 100%

PGDay Campinas 2014 www.object.com.br 8

Page 9: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Modelo de dados do BI

Modelo desnormalizado x normalizado

Desempenho de consultas

Facilidade de consultas

Manutenção do correto histórico dos dados

em consultas retroativas

Problema do reaproveitamento de “IDs”

PGDay Campinas 2014 www.object.com.br 9

Page 10: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Modelo de dados do BI

Tabelas: 63 – Views: 4

Volume atual de dados (6/set/14)

mercadoria: 439.033

cupom: 9.279.743 (jan/14)

cupom_item: 33.713.982 (jan/14)

mercadoria_hora: 153.891.136 (mai/12)

mercadoria_dia: 58.523.056 (nov/12)

mercadoria_mes: 9.338.419 (nov/12)

mercadoria_estoque: 6.452.036 (mai/12)

PGDay Campinas 2014 www.object.com.br 10

Page 11: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Escolha do SGBD

Fatores para decisão Ferramentas existentes para BI

Custo

Facilidade de uso

Equipe existente

Evolução

Gerenciadores considerados Oracle

MS SQLServer

PostgreSQL

MySQL

PGDay Campinas 2014 www.object.com.br 11

Page 12: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Escolha do SGBD

2012 a 2013 – Oracle e PostgreSQL

2014 – MySQL e PostgreSQL

Atual - PostgreSQL

PGDay Campinas 2014 www.object.com.br 12

Page 13: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Escolha do SGBD

Algum receio em usar um software open source como o PostgreSQL ? NÃO A rede Shibata usa o PostgreSQL open source

desde 2004 sem NUNCA parar por algum motivo de bug, etc, no software.

Alguma motivação para uso de versão comercial do PostgreSQL ? NÃO Para ficar novamente dependente de uma única

empresa ?

Melhor opção contratar suporte de empresa nacional especializada no PostgreSQL open source.

PGDay Campinas 2014 www.object.com.br 13

Page 14: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

PostgreSQL

100% de satisfação

Uso de recursos avançados

Triggers e funções executando com

excelente desempenho complexas regras

de negócio

Regras de negócio que se implementadas

em linguagem de programação ficariam

inviáveis devido ao baixo desempenho

PGDay Campinas 2014 www.object.com.br 14

Page 15: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

PostgreSQL

PGDay Campinas 2014 www.object.com.br 15

Page 16: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

PostgreSQL

PGDay Campinas 2014 www.object.com.br 16

Page 17: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

PostgreSQL

PGDay Campinas 2014 www.object.com.br 17

Page 18: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

PostgreSQL

PGDay Campinas 2014 www.object.com.br 18

Page 19: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologia Integração de dados

O principal requisito para o projeto de BI

foi e continua sendo a alta velocidade

na obtenção de informações

consolidadas

Escolhemos então uma ferramenta para

garantir a consolidação “near-real-time”

Outro requisito importante é a

disponibilidade das informações dentro

e fora da empresa

PGDay Campinas 2014 www.object.com.br 19

Page 20: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologia Integração de dados

A rede Shibata utiliza o software

replicador OBJECTMMRS com objetivo

de descentralização

No projeto BI o objetivo é praticamente

o contrário, queremos a consolidação

dos dados em um único servidor central

PGDay Campinas 2014 www.object.com.br 20

Page 21: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologia Integração de dados

Motivos que levaram à escolha

novamente do OBJECTMMRS

Compatível com outros SGBDs (Oracle,

SQLServer, MySQL, etc)

Flexibilidade. Pode-se desenvolver classes

java para realização de transformações de

dados

Qualidade dos dados

PGDay Campinas 2014 www.object.com.br 21

Page 22: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Classe customizada

OBJECTMMRS

PGDay Campinas 2014 www.object.com.br 22

Page 23: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Classe customizada

OBJECTMMRS

PGDay Campinas 2014 www.object.com.br 23

Page 24: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologia Integração de dados

PGDay Campinas 2014 www.object.com.br 24

Page 25: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologia Integração de dados

PGDay Campinas 2014 www.object.com.br 25

Page 26: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologia Integração de dados

PGDay Campinas 2014 www.object.com.br 26

Page 27: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Tecnologias usadas

Banco de dados: PostgreSQL 8.x e 9.x

Replicação e integração:

OBJECTMMRS 6.x e 7.x

Interface Web do BI: PHP 5.4, Apache

2.2, HTML5

Webservices BI: Java, Jetty, Restlet

Desenvolvimento Mobile: Phonegap 3.5

PGDay Campinas 2014 www.object.com.br 27

Page 28: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

Totais de vendas acumulados e

disponíveis para consultas “near-real-

time”

Informações sobre compras também

disponíveis “near-real-time”

BI além de mostrar resultados ajuda na

prevenção de problemas (ruptura)

Informação disponível dentro e fora da

empresa (online e/ou offline)

PGDay Campinas 2014 www.object.com.br 28

Page 29: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

PGDay Campinas 2014 www.object.com.br 29

Page 30: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

PGDay Campinas 2014 www.object.com.br 30

Page 31: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

PGDay Campinas 2014 www.object.com.br 31

Page 32: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

PGDay Campinas 2014 www.object.com.br 32

Page 33: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

PGDay Campinas 2014 www.object.com.br 33

Page 34: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Resultados

PGDay Campinas 2014 www.object.com.br 34

Page 35: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

Futuro

O volume de dados sendo armazenado

no banco BI é gigantesco. A cada ano

mais de 100 milhões de novas linhas.

Cluster de Pg x Big Data

Data mining

Ferramenta para consultas/gráficos “ad-

hoc”

PGDay Campinas 2014 www.object.com.br 35

Page 36: CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near-real-time"

CASE: O POSTGRESQL EM BI - Milhares de operações diárias consolidadas "near-real-time"

PGDAY Campinas 2014

Questões / Comentários

Obrigado a todos pela presença

Parabéns à Dextra pela organização do evento

Contato [email protected]

www.object.com.br

Principais projetos de replicação com OBJECTMMRS TJAM, PRODAM, Exército Brasileiro, Shibata

PGDay Campinas 2014 www.object.com.br 36