Nessa palestra vamos mergulhar em um caso de uso onde o requisito era exportar os dados denormalizados de qualquer entidade no Drupal para um banco de dados externo (BigData) e construir relatórios de negócio personalizados.
3. 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
4. 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
5. 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
6. Requisito do cliente
● Ferramentas de relatório que o cliente suporta:
○ Tableau
○ Qlik
○ AWS QuickSight
7. 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
8. 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
9. Ferramentas ETL/BI no mercado
● Ferramentas:
○ Oracle Warehouse Builder (OWB)
○ SAP Data Services
○ IBM Infosphere Information Server
○ SQL Server Integration Services (SSIS)
10. 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
11. 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
13. 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
14. 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)
15. 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
16. Funcionamento do modulo
● Definir quais entidades devem ser exportadas
○ hook_etl_load_entities_info()
21. 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
23. 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
24. 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