drupalcamp campinas 2016 - exportando dados denormalizados no drupal com foco em bi (gabriel machado...

Post on 13-Apr-2017

50 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gabriel MachadoArquiteto de SoftwareCI&T

Exportando dados denormalizados no Drupal com foco em BI

Gabriel Machado Santos

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Requisito do cliente

● Analisar os dados em tempo real● Possibilidade de criar relatórios flexíveis● Cruzar informações entre as entidades● Criar relatórios de média e alta complexidade

Requisito do cliente

● Ferramentas de relatório que o cliente suporta:○ Tableau○ Qlik○ AWS QuickSight

Porque não conectar o Tableau diretamente no MySQL/Drupal?

● Quantidade de tabelas no Drupal● Número de JOINs inviabiliza performance● Dificuldade para identificar dimensões e atributos no Tableau

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Ferramentas ETL/BI no mercado

● Ferramentas:○ Oracle Warehouse Builder (OWB)○ SAP Data Services○ IBM Infosphere Information Server○ SQL Server Integration Services (SSIS)

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Porque não utilizamos as ferramentas do mercado?

● Extremamente caras● Maioria não é Open Source● Profissionais especializados com alto custo● Custo para manter as aplicações

○ Licença● Servidores dedicados para manter a aplicação

Porque não utilizamos os modulos do Drupal?

● Node Export?

● Migrate?

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Enfim, decidimos criar um modulo para ETL, por quê?

● Definir quais entidades devem ser exportadas● Quais campos de cada entidade● Alterar os dados antes de persistir● Manter os dados sincronizados (Drupal Queue API)

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Funcionamento do modulo

● Definir quais entidades devem ser exportadas○ hook_etl_load_entities_info()

Funcionamento do modulo

● Quais campos por entidade devem ser exportados

Funcionamento do modulo

● Alterar os dados antes de persistir○ hook_etl_entity_load_data_alter(&$entity_data, $info)

Funcionamento do modulo

● Alterar os dados antes de persistir○ hook_etl_get_field_parser_value_alter(&$field_value,

$machine_name, $field)

Funcionamento do modulo

● Manter os dados atualizados○ Queue API

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de

negócio● Futuras melhorias para o modulo

Sumário

● Requisito/necessidade do cliente● Ferramentas ETL/BI no mercado● Porque não utilizamos as ferramentas do mercado?● Criação do modulo ETL● Funcionamento do modulo● Demostração do modulo exportando dados● Criando relatórios com foco em inteligência de negócio● Futuras melhorias para o modulo

Futuras melhorias para o modulo

● Listar todas entidades na pagina de configuração● Refletir as alterações dos labels no destination database● Verificar a conexão com a base de dados● Criar tabelas automaticamente

Futuras melhorias para o modulo

● Lista de issues no Drupal.org

Futuras melhorias para o modulo

● Remover a restrição de caracteres do label

Obrigado

Dúvidas?

● drupal.org/u/gabrielmachadosantos● linkedin.com/in/gabrielmachadosantos● twitter.com/gmachadosantos

top related