O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
UMA ARQUITETURA DE REFERÊNCIA PARA
PROCESSAMENTO DE EVENTOS COMPLEXOS EM NEAR-
REALTIME UTILIZANDO SISTEMAS DE GERENCIAMEN...
Processamento de Eventos Complexos com Spark
Leandro Mendes Ferreira
AGENDA!
OBJETIVOS
PROJETO
RESULTADOS
APRESENTAÇÃO
PROBLEMA
Quem sou eu?
• Formado em Processamento de Dados pela FATEC
Sorocaba
• MBA em BI pela FIAP
• Mestrando pela Politécnica - ...
• A everis, uma empresa do grupo NTT DATA
• Atualmente tem 13.000 profissionais em 14 países
Linhas de Negócios:
• Consult...
PROBLEMA
• Milhares de dados são gerados como eventos por dia:
• Sensores em smarts cities
• IoT (Internet of Things)
• Ev...
PROBLEMA
• Como explicitar regras de negócios em sistemas?
• Como criar um sistema robusto o suficiente para
processar em ...
OBJETIVOS
• Criar uma arquitetura de referência de um motor de inferência de eventos
• Utilizar ferramentas de Big Data co...
PROJETO - FERRAMENTAS
• Como solução dos problemas levantados, foi desenvolvido um
sistema baseados em ferramentas de Big ...
PROJETO - Drools/ Kie
• O projeto Jboss Drools funciona com as características de um sistema especialista.
• Possui uma ba...
PROJETO - Drools/ Kie
A estrutura de uma regra no Drools é formada por uma
sequência de condição do bloco “Quando” e conse...
PROJETO – Kie Workbench - Tela de Criação de Objeto
PROJETO – Kie Workbench - Tela de Criação de Regra Guiada
PROJETO – Kie Workbench - Tela de Criação por Tabela Guiada
PROJETO – Arquitetura de Referência
Demonstração do Fluxo de Motor de Inferência
PROJETO - Funcionamento do Motor de Regras
SerializaçãoMensagem Motor de Regras Serialização Mensagem
Fato Fato
PROEJTO - Processo Proposto
Demonstração do Processo para deploy da regra criada por cliente
RESULTADOS – CASO DE USO
Regra Criada
Caso o FATO possuísse CESTA_PRODUTOS = "A" e
INDICACAO_BLOQUEIO = TRUE e
SALDO_DISPO...
RESULTADOS - Infra Estrutua Utilizada
• Servidores na “nuvem”, hospedados na Digital Ocean
• Para o Apache Spark
• Cluster...
RESULTADOS - Arquitetura utilizada para Caso de USO
Arquitetura montada para testar o conceito proposto
Entry Service Laye...
RESULTADOS
• Janela de Processamento de 30 segundos no Apache Spark
• 5 Agentes geradores de eventos em Python
• Cada agen...
Conclusão
Neste trabalho foi demostrado que é possível criar um
sistema robusto para processamento de grandes volumes de
i...
Bibliografia
• Baptista. G., Processamento Distribuído de Eventos Complexos (CEP), PUC-Rio, 2016. Disponível em : http://w...
Thanks, we are
delighted to have the
opportunity to
transform with you
Leandro Mendes Ferreira: lmendesf@everis.com
Próximos SlideShares
Carregando em…5
×

TDC2017 | POA Trilha BigData - Arquitetura Big Data para Gestão de Regras de Negócios e Processamento de Eventos Complexos

67 visualizações

Publicada em

Trilha BigDataArquitetura Big Data para Gestão de Regras de Negócios e Processamento de Eventos Complexos

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

TDC2017 | POA Trilha BigData - Arquitetura Big Data para Gestão de Regras de Negócios e Processamento de Eventos Complexos

  1. 1. UMA ARQUITETURA DE REFERÊNCIA PARA PROCESSAMENTO DE EVENTOS COMPLEXOS EM NEAR- REALTIME UTILIZANDO SISTEMAS DE GERENCIAMENTO DE REGRAS DE NEGÓCIO Leandro Mendes Ferreira
  2. 2. Processamento de Eventos Complexos com Spark Leandro Mendes Ferreira
  3. 3. AGENDA! OBJETIVOS PROJETO RESULTADOS APRESENTAÇÃO PROBLEMA
  4. 4. Quem sou eu? • Formado em Processamento de Dados pela FATEC Sorocaba • MBA em BI pela FIAP • Mestrando pela Politécnica - USP • Especialista em Sistemas – Big Data na everis • Trabalho com Big Data a Cerca de 3 anos
  5. 5. • A everis, uma empresa do grupo NTT DATA • Atualmente tem 13.000 profissionais em 14 países Linhas de Negócios: • Consultoria de negócios • Serviços de tecnologia da informação • Outsourcing • Business Process Outsourcing (BPO) • Soluções SAP • Iniciativas & Inovação O que é a everis?
  6. 6. PROBLEMA • Milhares de dados são gerados como eventos por dia: • Sensores em smarts cities • IoT (Internet of Things) • Eventos de consumo • Transações Financeiras • Comercio eletrônico • Como processar essa grande quantidade de eventos? • Como tomar decisões em tempo real com esses dados?
  7. 7. PROBLEMA • Como explicitar regras de negócios em sistemas? • Como criar um sistema robusto o suficiente para processar em tempo próximo ao real regras definidas por usuários de negócios?
  8. 8. OBJETIVOS • Criar uma arquitetura de referência de um motor de inferência de eventos • Utilizar ferramentas de Big Data como base para processamento de um grande volume de eventos • Subsidiar o sistema de processamento por um sistema de gerenciamento de regras de negócios
  9. 9. PROJETO - FERRAMENTAS • Como solução dos problemas levantados, foi desenvolvido um sistema baseados em ferramentas de Big Data para processamento de eventos complexo (CEP) juntamente com um sistema de gerenciamento de regras de usuários (BRMS). • As ferramentas utilizadas foram: • Apache Spark (Ferramento para processamento em streaming de eventos) • Apache KAFKA (Ferramenta para transporte de mensagens • Jboos Drools (Sistema para criação e processamento de regras de usuários) • Kie Workbench (Pertencente ao projeto Drools, o Kie é portal de criação de regras de usuários)
  10. 10. PROJETO - Drools/ Kie • O projeto Jboss Drools funciona com as características de um sistema especialista. • Possui uma base de conhecimento, um motor de inferência e uma interface de/para criação de regras por usuários Através do algoritmo ReteOO (o algoritmo Rete na sua versão orientada a objeto) o Drools faz um casamento de padrões de acordo com os Fatos Gerados ou Memória de Trabalho, e usando a base de conhecimento ou Memória de Produção efetua a correspondência de padrão. Ocorrendo o casamento de padrões são geradas as ações, este processo é denominado como "Agenda"
  11. 11. PROJETO - Drools/ Kie A estrutura de uma regra no Drools é formada por uma sequência de condição do bloco “Quando” e consequência ou ação do bloco “Então”. “A primeira, também conhecida como Left Hand Side (LHS), define as premissas impostas aos fatos para que a mesma seja satisfeita. A última, a Right Hand Side (RHS), é o conjunto de ações a serem executadas caso as precondições sejam atendidas”
  12. 12. PROJETO – Kie Workbench - Tela de Criação de Objeto
  13. 13. PROJETO – Kie Workbench - Tela de Criação de Regra Guiada
  14. 14. PROJETO – Kie Workbench - Tela de Criação por Tabela Guiada
  15. 15. PROJETO – Arquitetura de Referência Demonstração do Fluxo de Motor de Inferência
  16. 16. PROJETO - Funcionamento do Motor de Regras SerializaçãoMensagem Motor de Regras Serialização Mensagem Fato Fato
  17. 17. PROEJTO - Processo Proposto Demonstração do Processo para deploy da regra criada por cliente
  18. 18. RESULTADOS – CASO DE USO Regra Criada Caso o FATO possuísse CESTA_PRODUTOS = "A" e INDICACAO_BLOQUEIO = TRUE e SALDO_DISPONIVEL > 11999.99 e SEGMENTO contendo um dos seguintes valores (1,2,3) então gerava-se como ação o objeto ACAO com campo CAMPANHA_DISPARADA = “SIM” • Foi criado um ambiente simulado de transações bancárias. • A partir de um determinado evento de saldo em conta corrente deveria disparar uma campanha de marketing em tempo real para o cliente que satisfizesse a regra implementada. • Os geradores de fatos postavam em um tópico específico do Apache Kafka, um fato em forma de texto estruturado • Caso o evento satisfizesse a regra estabelecida, uma ação era tomada. E • A ação era representada na postagem de uma mensagem de texto também estruturada como um JSON
  19. 19. RESULTADOS - Infra Estrutua Utilizada • Servidores na “nuvem”, hospedados na Digital Ocean • Para o Apache Spark • Cluster de 3 nós • 16GB de Memória, 8 Cores de CPU e 160GB de Disco SSD • Para Apache Kafka • Servidor com: 8GB de Memória, 4 Cores de CPU e 80GB de Disco SSD • Jboos Drools • Servidor com: 2GB de Memória, 2 Core de CPU e 40GB de Disco SSD
  20. 20. RESULTADOS - Arquitetura utilizada para Caso de USO Arquitetura montada para testar o conceito proposto Entry Service Layer Processing Layer Decision Layer Management Layer Fast Layer Management Layer Ingestor
  21. 21. RESULTADOS • Janela de Processamento de 30 segundos no Apache Spark • 5 Agentes geradores de eventos em Python • Cada agente gerava 200 eventos por segundo para o Apache Kafka • Processamento • O objetivo proposto neste caso de uso foi o processamento e postagem dos 30 mil fatos na janela de 30 segundos, tendo assim uma latência de mil operações processadas pelo Apache Spark por segundo. Este caso de uso foi executado initerruptamente durante 4 horas. A arquitetura proposta conseguiu atingir o objetivo proposto. O Apache Spark conseguiu processar todas as mensagens sem perdas em todos os casos • Não foi levada em conta à volumetria dos dados, mais sim a quantidade de mensagens e eventos gerados
  22. 22. Conclusão Neste trabalho foi demostrado que é possível criar um sistema robusto para processamento de grandes volumes de informações utilizando as vantagens dos BRMSs e CEPs. No caso de uso apresentado, foi verificado que aplicações com implicações reais para os negócios podem ser criadas com base na arquitetura de referência proposta. Foi demonstrado que esta arquitetura tem potencial para processar grandes volumes de dados.
  23. 23. Bibliografia • Baptista. G., Processamento Distribuído de Eventos Complexos (CEP), PUC-Rio, 2016. Disponível em : http://www-di.inf.puc- rio.br/~endler/courses/semGSD/monografias/Gustavoaptista-Distr-CEP.pdf • Bazzotti, C.; Garcia, E. A importância do sistema de informação gerencial para tomada de decisões, 2005. Disponível em: http://www.waltenomartins.com.br/sig_texto02.pdf. • Duarte, D., Azevedo, L., Puntar, S., Romeiro C., Baião. F., Cappeli, C., Conceituação em BRMS. Relatórios Técnicos do Departamento de Informática Aplicada da UNIRIO n° 0022/2009, 2009. • Drools., J. Drools Documentation: The JBoss Drools team - Version 6.5.0.Final, 2016 Disponível em : https://docs.jboss.org/drools/release/latest/drools-docs/html_single/ • Ferreira. L. M., Modelo de Processo para Criação de BI em Banco de Dados Orientado a Colunas. Congresso Ibero Americano de Computação Aplicada (CIACA 2015), 2015. • Ganta, M., How-to: Build a Complex Event Processing App on Apache Spark and Drools. 2015, https://blog.cloudera.com/blog/2015/11/how-to-build-a-complex-event- processing-app-on-apache-spark-and-drools/. • Hopgood, A. A., Intelligent Systems for Engineers and Scientists, Second Edition. CRC Press. Drools JBoss Rules 5.0 Developer’s Guide, Packt Publishing, 2009. • Lundberg. A., Utilização do Processamento de Eventos Complexos (CEP) para Melhoria do Desempenho Operacional. BUSINESS INTELLIGENCE JOURNAL - VOL. 11, Nº. 1 55, 2009. • Mano, L.Y.; Funes, M. M.; Volpato, T. e Neto, J. R. T. Explorando tecnologias de IoT no contexto de health smart home: uma abordagem para detecção de quedas em pessoas idosas. JADI: Marília.V.2, P. 46-57, 2016. • McAfee, A., Brynjolfsson, E., Big Data: The Management Revolution, Harvard Business Review, 2012 • Momoh. J., Srinivasan D., Tomsovic K., Baer D., Tutorial on Fuzzy Logic Applications in Power Systems - Chapter 5: Expert Systems Applications, M.Y. Chov (eds.), 2000. • Passos, E. L., Inteligência Artificial e Sistemas Especialistas ao Alcance de Todos. LCT, 1989. • Pereira, I. S. A., Drools Situation: uma Abordagem Baseada em Regras para Detecção de Situações, Monografia de Bacharelado para Universidade Federal do Espirito Santo, 2011. • Spark, A., Spark wins Daytona Gray Sort 100TB Benchmark, 2015. Disponível em: http://spark.apache.org/news/spark-wins-daytona-gray-sort-100tb-benchmark.html. • Spark, A., Apache Spark Documentation, 2016. Disponível em: https://spark.apache.org/documentation.html. • Souza, D. C., Neto, A. D. D., Melo, J. D., Leitão, G. B. P., Kaku. Saito. (2012) BR-PLANTEXPERT: Um Sistema Especialista para Auxílio à Tomada de Decisão em Processos Industriais. Congresso Brasileiro de Automática, 2012. • Wang, Y., Stream Processing Systems Benchmark: StreamBench. Dissertação de Metrado para Aalto University School of Science, 2015. • Weppenaar, D. V. I., Vermaak, H. J., Solving planning problems with Drools Planner a tutorial. Interdisciplinary Journal, Volume 10, Interim, 2011
  24. 24. Thanks, we are delighted to have the opportunity to transform with you Leandro Mendes Ferreira: lmendesf@everis.com

×