aplicaÇÃodaarquiteturalambda …tede.mackenzie.br/jspui/bitstream/tede/3441/5/renÊ de Ávila...

89
UNIVERSIDADE PRESBITERIANA MACKENZIE RENÊ DE ÁVILA MENDES APLICAÇÃO DA ARQUITETURA LAMBDA NA CONSTRUÇÃO DE UM AMBIENTE BIG DATA EDUCACIONAL PARA ANÁLISE DE DADOS São Paulo SP 2017

Upload: others

Post on 04-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

UNIVERSIDADE PRESBITERIANA MACKENZIERENÊ DE ÁVILA MENDES

APLICAÇÃO DA ARQUITETURA LAMBDANA CONSTRUÇÃO DE UM AMBIENTE BIGDATA EDUCACIONAL PARA ANÁLISE DE

DADOS

São Paulo SP2017

Page 2: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

RENÊ DE ÁVILA MENDES

APLICAÇÃO DA ARQUITETURA LAMBDA NA CONSTRUÇÃODE UM AMBIENTE BIG DATA EDUCACIONAL PARA ANÁLISE

DE DADOS

Dissertação submetida ao Programa de Pós-Graduação em Engenharia Elétrica e Com-putação da Universidade Presbiteriana Mac-kenzie como requisito parcial para a obtençãodo título de Mestre em Engenharia Elétricae Computação, área de concentração Enge-nharia da Computação.

Orientador: Prof. Dr. Leandro Augusto da Silva

São Paulo SP2017

Page 3: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

M538a Mendes, Rene de Ávila

Aplicação da arquitetura lambda na construção de um

ambiente big data educacional para análise de dados. /

Rene de Ávila Mendes - 2017.

88f.: il., 30 cm

Dissertação (Mestrado em Engenharia Elétrica e

Computação) – Universidade Presbiteriana Mackenzie,

São Paulo, 2017.

Orientadores: Leandro Augusto da Silva

Bibliografia: f. 74-80

1. Big data. 2. Educational data mining. 3. Arquitetura

lambda. 4. Moodle. Título.

CDD 005.7

Page 4: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera
Page 5: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

A DEUS, para Sua glória.À KATYA, minha amada esposa.

À SARA e à ESTER, minhaspreciosas filhas.

Page 6: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Agradecimentos

O agradecimento principal é direcionado à Pessoa que planejou, possibilitou econduziu este trabalho: DEUS, o Criador.

Agradecimentos especiais são direcionados ao INSTITUTO PRESBITERIANOMACKENZIE, que ofereceu bolsa integral para a realização destes estudos, ao ProfessorDr. LEANDRO AUGUSTO DA SILVA, que pacientemente orientou as pesquisas e apoiouna obtenção dos créditos das atividades programadas, ao Dr. JOSÉ AUGUSTO PEREIRABRITO e ao Sr. JOSÉ RUBENS PACHECO MARTINS, que apoiaram a realização destesestudos, aos PROFESSORES membros da Banca Examinadora, pelas preciosas contri-buições para este trabalho, e aos Professores Dra. POLLYANA NOTARGIACOMO, Dr.ISMAR FRANGO SILVEIRA, Dr. LEANDRO NUNES DE CASTRO SILVA, Dr. LUIZHENRIQUE ALVES MONTEIRO e Dr. NIZAM OMAR, pelas discussões e desafios queincentivaram o conhecimento.

Um agradecimento especial é oferecido ao Laboratório BigMAAp - Big Data eMétodos Analíticos Aplicados pelo apoio às pesquisas.

Agradecimento especial é oferecido ainda ao Prof. Dr. MARCEL MENDES peloincentivo e apoio, e pela correção do texto final deste trabalho.

Agradecimentos especiais são também direcionados aos queridos FAMILIARESque pacientemente suportaram os distúrbios resultantes das muitas horas dedicadas aeste trabalho e das ansiedades do percurso.

Page 7: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

"[...] a fim de conhecerem plenamente o mistério de Deus,a saber, Cristo.

Nele estão escondidos todos os tesouros da sabedoria e do conhecimento."(Bíblia Sagrada, Colossenses capítulo 2, versos 2 e 3)

Page 8: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Resumo

Lidar adequadamente com as dimensões de volume, velocidade e variedadedos dados no contexto educacional é um importante desafio para as Instituições deEnsino, e Pesquisadores das áreas de Mineração de Dados Educacionais e LearningAnalytics têm cooperado para tratar adequadamente este desafio, popularmentechamado de Big Data. Desenvolvimentos em hardware têm sido feitos para aumen-tar o poder computacional, a capacidade de armazenamento e a eficiência no usode energia. Novas tecnologias de bancos de dados, sistemas de arquivos e sistemasdistribuídos, além do desenvolvimento de técnicas de transmissão, administração,análise e visualização de dados têm tentado vencer o desafio de processar, armazenare analisar grandes volumes de dados e a impossibilidade de atender simultaneamenteos requisitos de consistência, disponibilidade e tolerância a partições. Embora a de-finição da arquitetura seja a principal tarefa em um projeto de sistema Big Data,não foram encontradas na literatura orientações objetivas para a seleção da arqui-tetura e das ferramentas para a implementação de aplicações Big Data. A presentepesquisa tem por objetivo analisar as principais arquiteturas para processamentoem lote e em fluxo e utilizar uma delas na construção de um ambiente Big Data,fornecendo importantes orientações a Pesquisadores, Técnicos e Gestores. São uti-lizados dados acadêmicos e logs do Ambiente Virtual de Aprendizagem Moodle deuma Unidade Acadêmica de uma Instituição de Ensino Superior.

Palavras-chaves: Big Data. Educational Data Mining. Arquitetura Lambda. Mo-odle.

Page 9: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Abstract

To properly deal with volume, velocity and variety data dimensions in edu-cational contexts is a major concern for Educational Institutions and both Educa-tional Data Mining and Learning Analytics Researchers have cooperated to properlyaddress this challenge which is popularly called Big Data. Hardware developmentshave been made to increase computing power, storage capacity and efficiency inenergy use. New technologies in databases, file systems and distributed systems,as well as developments in data transmission techniques, data management, dataanalysis and visualization have been trying to overcome the challenge of processing,storing and analyzing large volumes of data and the inability to meet simultaneouslythe requirements of consistency, availability and tolerance of partitions. Althoughthe architecture definition is the main task in a Big Data system design, objectiveguidelines for the selection of the architecture and the tools for the implementationof Big Data systems were not found in the literature. The present research aims toanalyze the main architectures for both batch and stream processing and to use oneof them in the construction of a Big Data environment, providing important orien-tations to Researchers, Technicians and Managers. Academic data and logs of theVirtual Learning Environment Moodle of an Academic Unit of a Higher EducationInstitution are used.

Keywords: Big Data. Educational Data Mining. Lambda Architecture. Moodle.

Page 10: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Lista de ilustrações

Figura 1 – Tarefas da Mineração de Dados. . . . . . . . . . . . . . . . . . . . . . . 23Figura 2 – Técnicas em Big Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figura 3 – Distribuição de plataformas Big Data quanto ao tipo de processamento. 33Figura 4 – Camadas de desafios de dados de problemas Big Data. . . . . . . . . . 35

Figura 5 – Arquitetura da camada batch. . . . . . . . . . . . . . . . . . . . . . . . 46Figura 6 – Arquitetura Lambda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figura 7 – Arquitetura Kappa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Figura 8 – Sequência de entrada de registros de log. . . . . . . . . . . . . . . . . . 51

Figura 9 – Modelo da aplicação Big Data para dados educacionais na arquiteturaLambda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Figura 10 – Implementação da aplicação Big Data para dados educacionais na ar-quitetura Lambda na plataforma de serviços Microsoft Lambda. . . . . 61

Figura 11 –Reprodução da tela de gerenciamento da conta de armazenamento noMicrosoft Azure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Figura 12 –Reprodução da tela de configuração do cluster HDInsight no MicrosoftAzure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Figura 13 –Conexão ODBC para a base de dados Azure HDInsight. . . . . . . . . 64Figura 14 –Tela de escolha das tabelas Hive, no Microsoft Power BI Desktop. . . . 64Figura 15 –Pares de dados médias dos alunos e quantidade da atividade forum do

Moodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Figura 16 –Pares de dados médias dos alunos e quantidade de fóruns do Moodle,

por ano e semestre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Figura 17 –Pares de dados médias dos alunos e quantidade de discussões em fóruns

do Moodle, por ano e semestre. . . . . . . . . . . . . . . . . . . . . . . 68Figura 18 –Pares de dados médias dos alunos e quantidade de postagens em fóruns

do Moodle, por ano e semestre. . . . . . . . . . . . . . . . . . . . . . . 68

Figura 19 –Pares de dados médias dos alunos e quantidade da atividade chat doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Figura 20 –Pares de dados médias dos alunos e quantidade da atividade choice doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Figura 21 –Pares de dados médias dos alunos e quantidade da atividade glossarydo Moodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Figura 22 –Pares de dados médias dos alunos e quantidade da atividade lesson doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Page 11: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Figura 23 –Pares de dados médias dos alunos e quantidade da atividade quiz doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Figura 24 –Pares de dados médias dos alunos e quantidade da atividade scorm doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Figura 25 –Pares de dados médias dos alunos e quantidade da atividade survey doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Figura 26 –Pares de dados médias dos alunos e quantidade da atividade wiki doMoodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Figura 27 –Pares de dados médias dos alunos e quantidade da atividade workshopdo Moodle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Page 12: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Lista de tabelas

Tabela 1 – Comparação entre EDM e LAK. . . . . . . . . . . . . . . . . . . . . . 26Tabela 2 – Desafios da Descoberta de Conhecimento em Bases de Dados. . . . . . 29Tabela 3 – Principais ferramentas de processamento em lote em Big Data. . . . . 31Tabela 4 – Principais ferramentas de processamento stream em Big Data. . . . . . 32Tabela 5 – Principais ferramentas de análise interativa em Big Data. . . . . . . . . 32Tabela 6 – Vantagens e desvantagens dos escalamentos horizontal e vertical. . . . 39

Tabela 7 – Estrutura do conjunto de dados acadêmicos. . . . . . . . . . . . . . . . 55Tabela 8 – Atividades definidas no Moodle, na versão 3.0. . . . . . . . . . . . . . . 56Tabela 9 – Estrutura da tabela Moodle mdl_log. . . . . . . . . . . . . . . . . . . . 56Tabela 10 –Estrutura da tabela Moodle mdl_logstore_standard_log. . . . . . . . . 57Tabela 11 –Comparação de categorias de recursos envolvidos na arquitetura Lambda

disponíveis nos serviços Microsoft Azure e Amazon Web Services. . . . 59Tabela 12 –Valores do coeficiente de correlação de Pearson e quantidade de pares de

dados amostrais obtidos no processamento p4, sem retirada de outlierse considerando todas as atividades. . . . . . . . . . . . . . . . . . . . . 65

Tabela 13 –Novos valores do coeficiente de correlação de Pearson e quantidade depares de dados amostrais obtidos no processamento p4 para as ativi-dades do Moodle, desconsiderados os outliers. . . . . . . . . . . . . . . 66

Tabela 14 –Valores do coeficiente de correlação de Pearson (r) para as variáveisnota média e quantidade de fórum, quantidade de discussões e quanti-dade de postagens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Page 13: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Lista de abreviaturas e siglas

ASIC Application Specific Integrated Circuits

AVA Ambiente Virtual de Aprendizagem

CPU Central Processing Unit

CSV Comma Separated Values

EDM Educational Data Mining

EMR Electronic Medical Records

ERP Enterprise Resource Planning

ETL Extract, transform, load

FGPA Field-Programmable Gate Array

GPU Graphics Processing Unit

HDFS Hadoop Distributed File System

IEDMS International Educational Data Mining Society

IES Instituição de Ensino Superior

IoE Internet of Everything

IoT Internet of Things

ITS Intelligent Tutorial Systems

KDD Knowledge Discovery in Databases

LA Learning Analytics

LAK Learning Analytics and Knowledge

LMS Learning Management Systems

M2M Machine-to-machine

MD Mineração de Dados

MOOC Massive Online Open Courses

Page 14: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

MOOT Massive Online Open Textbooks

NVM Non-Volatile Memory

ODBC Open Database Connectivity

PSLC Pittsburgh Science of Learning Center

RFID Radio-Frequency Identification

SBC Sociedade Brasileira de Computação

SNA Social Network Analysis

SoLAR Society for Learning Analytics Research

SQL Structured Query Language

Page 15: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Sumário

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.2.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.3 Organização do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 Referencial Teórico e Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . 222.1 Descoberta de Conhecimento em Bases de Dados (KDD) . . . . . . . . . . 222.2 Mineração de Dados Educacionais . . . . . . . . . . . . . . . . . . . . . . . 232.3 Learning Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.4 Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.4.1 Oportunidades e desafios . . . . . . . . . . . . . . . . . . . . . . . . 282.4.2 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.4.3 Big Data na Educação . . . . . . . . . . . . . . . . . . . . . . . . . 332.4.4 Desafios relacionados aos dados . . . . . . . . . . . . . . . . . . . . 342.4.5 Princípios para o projeto de sistemas Big Data . . . . . . . . . . . . 362.4.6 Características desejáveis em um sistema Big Data . . . . . . . . . 372.4.7 Recomendações para escolha de uma arquitetura Big Data . . . . . 38

2.5 Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3 Arquiteturas para Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.1 Requisitos do sistema Big Data para EDM . . . . . . . . . . . . . . . . . . 433.2 Sistema, arquitetura, framework e modelo referência . . . . . . . . . . . . . 443.3 A arquitetura Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3.1 A camada batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.3.2 A camada serving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.3.3 A camada speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.3.4 Como a arquitetura atende aos requisitos de arquiteturas Big Data 483.3.5 Questionamentos à Arquitetura Lambda . . . . . . . . . . . . . . . 48

3.4 A arquitetura Kappa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.4.1 Sobre logs e tópicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.4.2 Questionamentos à Arquitetura Kappa . . . . . . . . . . . . . . . . 51

4 Metodologia, Projeto e Implementação . . . . . . . . . . . . . . . . . . . . 524.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Page 16: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

4.2 Projeto: decidindo entre Lambda e Kappa . . . . . . . . . . . . . . . . . . 534.3 Descrição do projeto para implementação da arquitetura . . . . . . . . . . 54

4.3.1 Conjunto de dados do repositório acadêmico . . . . . . . . . . . . . 544.3.2 Conjunto de dados de logs do Moodle . . . . . . . . . . . . . . . . . 55

4.4 Descrição de uma proposta de processamento com a integração de dados . 574.5 Implementação da aplicação de processamento de dados . . . . . . . . . . . 58

4.5.1 Descrição da aplicação de processamento de dados . . . . . . . . . . 584.5.2 Projeto da arquitetura Lambda no serviço Microsoft Azure . . . . . 61

4.6 Apresentação dos resultados e discussões . . . . . . . . . . . . . . . . . . . 634.7 Discussões finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5 Conclusões e Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . 71

Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Anexos 81

ANEXO A Códigos SQL utilizados no cálculo do coeficiente de correlaçãode Pearson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

ANEXO B Gráficos dos pares de dados notas médias e atividades do Moodle 84

Page 17: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

16

1 Introdução

A presença dos computadores pessoais e a Internet continuam afetando o modo devida das pessoas, incluindo a maneira como elas aprendem. Termos como Computer AidedInstruction (CAI), Virtual Learning Environments (VLE), Blended Learning (BL) e Mas-sive Open Online Courses (MOOC) definem formas de uso de recursos computacionaispara o apoio do processo ensino-aprendizagem (DILLENBOURG; SCHNEIDER; SYN-TETA, 2002; PICCOLI; AHMAD; IVES, 2001; LITTLEJOHN et al., 2016; PARK; YU;JO, 2016) e estão inequivocamente presentes no contexto educacional atual, evidenciandoa contribuição que a Tecnologia da Informação (TI) tem dado, apoiando a aplicação demodelos de aprendizagem, tais como objetivismo, construtivismo e sócio-construcionismo.

Não menos evidente tem sido a contribuição da TI para a pesquisa científica, cujodesenvolvimento histórico pode ser registrado em paradigmas: da pesquisa empírica, queobserva e descreve fenômenos naturais; passando à pesquisa teórica, que modela e genera-liza; chegando à pesquisa computacional, que simula fenômenos complexos; e avançandopara a e-Ciência. E-Ciência é o termo que denota a integração entre TI e Ciência, queunifica a teoria, os experimentos e a simulação permitindo a obtenção, o processamentoe a análise dos grandes volumes de dados com os quais a pesquisa científica lida nostempos atuais (HEY et al., 2009). Este aumento do volume de dados é devido em parteao crescimento da capacidade de se coletar dados e em parte é resultado das simulaçõescientíficas. Como exemplo, no acelerador de partículas Large Hadron Collider (LHC) daCERN, Organização Europeia de Pesquisa Nuclear, aproximadamente 600 milhões departículas colidem por segundo. A passagem de cada partícula é registrada por circuitoseletrônicos que enviam para o CERN Data Centre eventos de colisão que são utilizadospara reconstrução digital à taxa de 30 petabytes por ano. Os dados são compartilhadoscom cerca de 8.000 físicos em tempo real através da estrutura Worldwide LHC Compu-ting Grid (WLCG)(CERN, 2016). O crescimento da oferta de dados é testemunhado nãoapenas no contexto da pesquisa científica, mas também em outras áreas do conhecimentoonde a TI está presente (CHEN; ZHANG, 2014). Dados gerados por pessoas em suas inte-rações sociais através de aplicações da Internet, logs de computadores servidores e mesmoos dados de pesquisa científica, entre outras origens, são estimados em 2015 à quantidadede 30.000 gigabytes por segundo (MARZ; WARREN, 2015).

Tal abundância de dados tem motivado o desenvolvimento de aplicações que mi-neram e extraem informações de valor no seu contexto de pesquisa, a exemplo do ProjetoGlobal Pulse, da Organização das Nações Unidas, que visa ao aproveitamento do Big Datacomo um bem público (UN, 2016). No entanto, o volume não é a única dimensão em quese nota crescimento: sensores, computadores e sistemas como redes sociais e lojas virtu-

Page 18: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 1. Introdução 17

ais geram dados constantemente, os quais podem ser minerados e analisados em temporeal por aplicações de detecção de fraude e sistemas de recomendação. Dispositivos comosensores, gerenciadores, câmeras e microfones, eletrodomésticos conectados ou dispositi-vos de realidade aumentada, que podem ser categorizados pelo termo Internet das Coisas(IoT), geram dados não tratáveis por sistemas desenvolvidos para processar dados estru-turados. Dados com características como estas, grandes (volume), rápidos (velocidade) edifícieis de serem tratados pelos sistemas atuais (variedade) definem o termo Big Data(MADDEN, 2012).

Lidar adequadamente com as dimensões de volume, velocidade e variedade do BigData tem se tornado um desafio tanto no que diz respeito ao desenvolvimento de solu-ções de hardware, quanto no desenvolvimento de softwares. O crescimento da oferta dedados supera em muito as melhorias de custo e capacidade de armazenamento, o podercomputacional de processamento e eficiência na produção e uso de energia, caracterís-ticas estas que oferecem um vislumbre sobre quais aspectos computacionais devem serdesenvolvidos para suportar Big Data (KAMBATLA et al., 2014). Os mesmos autorescitam que o padrão e a frequência de acesso aos dados têm motivado otimizações dehardware, como o desenvolvimento de memórias não voláteis (NVM) e a pesquisa emprocessamento direto em hardware, usando recursos tais como GPUs (do inglês, GraphicProcessing Unit), circuitos FPGA (do inglês, Field-Programmable Gate Arrays), circuitosintegrados especializados (ASIC) e codificadores/decodificadores de vídeo dedicados. Odesafio de processar, armazenar e analisar grandes volumes de dados e a impossibilidadede atender simultaneamente os requisitos de consistência, disponibilidade e tolerância apartições, apresentada pelo Teorema CAP, Consistency, Availability, Partition tolerance,de Eric Brewer (BREWER, 2000), são razões para o desenvolvimento de novas tecno-logias em bancos de dados, sistemas de arquivos, sistemas distribuídos, e das técnicasde transmissão, administração, análise e visualização de dados (CHEN; ZHANG, 2014),desenvolvimento este capitaneado principalmente por empresas que lidam com grandesvolumes de dados, tais como Yahoo!, Google, Facebook, Microsoft, Amazon e Twitter,entre outras (SHIM, 2012).

A oferta de algoritmos, técnicas, ferramentas, metodologias e plataformas de desen-volvimento de sistemas que lidam com problemas Big Data (FAN; BIFET, 2013; CHEN;ZHANG, 2014; ACHARJYA; AHMED, 2016) torna a escolha desafiadora. Chen e Zhang(2014), ao apresentar alguns princípios essenciais para o projeto de sistemas Big Dataanalíticos, mencionam que muitas arquiteturas são propostas para processamento para-lelo, tanto para processamento em fluxo quanto para processamento em lote. No entanto,as arquiteturas variam de acordo com o tipo de problema a ser resolvido.

O fenômeno Big Data é também observável no contexto educacional na medidaem que a utilização de recursos computacionais passa a permear o processo ensino-

Page 19: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 1. Introdução 18

aprendizagem. Sistemas de gerenciamento acadêmico, ambientes virtuais de aprendiza-gem e outros sistemas estão presentes nas modalidades de ensino on-line, presencial emista produzindo dados que podem ser usados em benefício do aluno, do professor e dainstituição de ensino. Dentre as áreas do conhecimento preocupadas com o desenvolvi-mento do processo ensino-aprendizagem duas se destacam pelo uso intensivo de dados epor suas relações interdisciplinares: Mineração de Dados Educacionais (do inglês, Edu-cational Data Mining, MDE) e Learning Analytics (LA). Embora tenham em comum apreocupação em analisar dados gerados no contexto educacional, visando a um melhorentendimento e à melhoria deste contexto, estas áreas apresentam suas particularidades(SIEMENS; BAKER, 2012).

No que diz respeito a Big Data, MDE e LA buscam somar esforços visando àaplicação e ao aprimoramento de técnicas concernentes ao seu objetivo comum (BAKER,2015), haja vista a oferta de cursos de Big Data com foco educacional, tais como o curso“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera (2013) eEdX (2015), e a realização de Congressos e Workshops na área de Mineração de DadosEducacionais e Learning Analytics, suportados por entidades brasileiras como a Socie-dade Brasileira de Computação (SBC) e internacionais, tais como Society for LearningAnalytics Research (SoLAR) e International Educational Data Mining Society (IEDMS).As áreas de MDE e LA são relativamente recentes, considerando-se que a organização dasentidades IEDMS e SoLAR deu-se no ano de 2011, embora o primeiro Workshop de MDEtenha ocorrido em 2005 e a primeira Conferência de Learning Analytics and Knowledgetenha ocorrido em 2010. A organização destas entidades reflete a necessidade de umaabordagem voltada a dados educacionais, considerando que setores como governo, indús-tria e saúde têm se beneficiando da mineração de dados e da análise em suas atividadesorganizacionais. Os sistemas educacionais carecem de processos mais baseados em dados(SIEMENS; BAKER, 2012).

Apesar de o volume de dados analisado pelas áreas MDE e LA ser menor que o vo-lume analisado em outros domínios (BAKER, 2015), as origens de dados pesquisados porestas áreas são diversificadas, como pode ser notado na definição de Learning Analyticsoferecida pela Society for Learning Analytics Research: “Learning Analytics é a medição,coleção, análise e reportagem de dados sobre estudantes e seus contextos, para propósi-tos de entendimento e otimização da aprendizagem e dos ambientes em que ela ocorre”(SIEMENS, 2010). A mesma diversidade de origens é notada na definição de EducationalData Mining oferecida pela International Educational Data Mining Society: “... é umadisciplina emergente, relacionada com o desenvolvimento de métodos de exploração dedados únicos e de grande escala que são obtidos de contextos educacionais, e a utilizaçãodestes métodos para melhor entender os estudantes e os ambientes em que a aprendizagemocorre” (IEDMS, 2011).

Page 20: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 1. Introdução 19

1.1 JustificativaAo apresentar razões pelas quais a pesquisa em EDM e LA desenvolveu-se apenas

recentemente e não nos anos de 1980 como ocorreu com a pesquisa genética, Baker (2015)cita:

∙ Nos anos de 1980 a coleta de dados educacionais consumia muitos recursos e não eraescalável. Coletar dados sobre os processos educacionais e os comportamentos dosestudantes requeria ações como observações em campo, filmagens e a participaçãopresencial em discussões de sala de aula;

∙ O uso de sistemas computacionais em sala de aula atualmente, nas modalidadeson-line e mista, permite a coleta de dados dos processos de aprendizagem e docomportamento dos estudantes de maneira escalável e em uma granularidade detempo em nível de segundos;

∙ A disponibilização recente de repositórios de dados educacionais, tais como PSLCDataShop1, oferecendo à comunidade científica conjuntos de dados abertos parapesquisas nas áreas de EDM, LA, Psicometria, Tecnologia Educacional e Psicologia.

A propósito da discussão sobre repositórios de dados educacionais, Baker, Isotanie Carvalho (2011) identificam como oportunidade para a melhoria do processo de ensino-aprendizagem no Brasil a disponibilização de repositórios de dados educacionais pelacomunidade científica brasileira.

Aos argumentos anteriores a favor da pesquisa nas áreas de LA e EDM soma-se a disponibilização de plataformas e sistemas na modalidade Open Source (CHEN;ZHANG, 2014) que podem atender a uma demanda importante da comunidade científica:ferramentas em grid para coletar, analisar e processar dados, acessando estruturas dearmazenamento baratas compostas por ’tijolos de dados’ (HEY et al., 2009).

Uma terceira razão que favorece o desenvolvimento de pesquisas em EDM e LA é adisponibilização de recursos computacionais em nuvem de modo escalável, com modelo decobrança flexível e com um investimento menor em administração. Amazon2, Microsoft3,Google4 e IBM5 oferecem soluções em nuvem para sistemas educacionais. Aplicações emnuvem para a área educacional e para EDM são discutidas por Fernández et al. (2014),que identificam similaridades conceituais entre aplicações de EDM em nuvem e aplicaçõesde mineração de dados de e-commerce.1 Pittsburgh Science of Learning Center (PSLC) DataShop -

https://pslcdatashop.web.cmu.edu/index.jsp2 https://aws.amazon.com/pt/education/3 http://www.microsoft.com/liveatedu/4 https://www.google.com.br/intl/pt-BR/edu/5 http://www.ibm.com/solutions/education/cloudacademy/us/en/

Page 21: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 1. Introdução 20

A implementação de aplicações para EDM e LA passa pela definição da arquiteturada solução, pela definição das soluções computacionais de hardware e de software e pelaseleção de linguagens e algoritmos para mineração dos dados, entre outras definiçõesrelativas à obtenção e ao tratamento dos dados e aquelas relativas ao aprimoramento doprocesso de ensino-aprendizagem requerido em soluções de LA (CHEN; ZHANG, 2014).

A pesquisa na literatura por aplicações para EDM e LA revelou uma importantecarência por orientações mais objetivas quanto à definição e à aplicação de arquiteturas desistemas, à escolha de ferramentas e à decisão de hospedagem, em nuvem ou em estruturaprópria. A lacuna encontrada tornou-se a motivação da presente pesquisa, que dedicou-seà discussão das principais arquiteturas de processamento em lote e em fluxo e à criaçãode um ambiente para processamento Big Data tomando como base uma das arquiteturasdiscutidas.

1.2 Objetivos

1.2.1 Objetivo Geral

O presente trabalho tem por objetivo discutir requisitos para processamento BigData, apresentar as principais arquiteturas para este tipo de processamento e implementaruma das arquiteturas em uma aplicação que suporte o processamento Big Data.

1.2.2 Objetivos Específicos

Como objetivos específicos o presente trabalho visa a:

∙ Discutir requisitos do processamento Big Data;

∙ Identificar as principais arquiteturas para este tipo de processamento;

∙ Aplicar uma das arquiteturas Big Data ao contexto educacional, utilizando conjun-tos de dados compostos por logs do Ambiente Virtual de Aprendizagem Moodle epor resultados acadêmicos. O potencial de utilização da arquitetura às análises deLA e EDM será exemplificado no desenvolvimento desta aplicação Big Data.

1.3 Organização do DocumentoO Capítulo 2 dedica-se à constituição do referencial teórico necessário ao desen-

volvimento da pesquisa, incluindo os conceitos de Descoberta de Conhecimento em Basesde Dados (KDD), Mineração de Dados Educacionais (MDE), Learning Analytics (LA) eBig Data. São também apresentados os resultados de trabalhos correlatos.

Page 22: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 1. Introdução 21

O Capítulo 3 presta-se à descrição de arquiteturas Big Data, analisando aspectosimportantes para a definição de arquiteturas tais como princípios essenciais e restriçõespara o projeto de sistemas Big Data. Este mesmo capítulo apresenta e detalha os com-ponentes das arquiteturas Lambda e Kappa, incluindo questionamentos e críticas a estasarquiteturas.

No Capítulo 4 discutem-se a metodologia adotada, o projeto e a implementação daaplicação, incluindo a definição e utilização de softwares e algoritmos, e o detalhamentodos dados educacionais utilizados, sendo concluído pela apresentação e discussão dosresultados obtidos.

O Capítulo 5 encerra o estudo apresentando as conclusões, as contribuições destetrabalho e as possibilidades de continuidade.

Page 23: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

22

2 Referencial Teórico e Trabalhos Correlatos

Neste capítulo são apresentados os conceitos necessários ao desenvolvimento dapesquisa, incluindo Descoberta de Conhecimento em Bases de Dados (KDD), Mineraçãode Dados Educacionais (EDM), Learning Analytics (LA) e Big Data.

2.1 Descoberta de Conhecimento em Bases de Dados (KDD)O uso intensivo de sistemas computacionais nas atividades cotidianas e o progresso

tecnológico na capacidade de armazenamento produziram grandes bancos de dados. Aorigem deste grande volume de dados pode ser tráfego de rede, transações bancárias, pes-quisas na Internet, cliques em produtos de lojas digitais, imagens de diagnóstico médico,dados de alunos em uma Instituição de Ensino, dados governamentais, posição de umaparelho celular dentro da rede etc. A diversidade de equipamentos conectados à Interneté tamanha que o termo “Internet das Coisas” (do inglês Internet of Things, IoT) estásendo substituído pelo termo “Internet de Tudo” (do inglês Internet of Everything, IoE).Cada um desses equipamentos é um produtor de dados. CeArley e Claunch (2012) previ-ram que no ano de 2020 haveria 30 bilhões de equipamentos permanentemente conectadosà Internet e outros 200 bilhões de equipamentos intermitentemente conectados, cada umdeles produzindo dados. Estes grandes volumes de dados podem conter informações de in-teresse, cujo processo de extração é assunto da Mineração de Dados (HAND; MANNILA;SMYTH, 2001; SILVA; PERES; BOSCARIOLI, 2016).

Kantardzic (2011) concorda com Jain, Murty e Flynn (1999) em identificar a Mi-neração de Dados (MD) como sendo o uso de algoritmos, metodologias e técnicas com-putacionais para descoberta de informações em grandes bases de dados, mas parece queHand, Mannila e Smyth (2001) oferecem uma definição mais completa ao relacionar MD àanálise de dados observacionais, visando à identificação de relacionamentos antes ignora-dos e de formas singulares que sejam compreendidas e úteis ao proprietário dos dados. Osautores consultados concordam em afirmar que MD difere da análise exploratória de da-dos da Estatística no que tange ao grande volume de dados, à natureza observacional dosdados e à necessidade da interação de especialistas na descoberta de modelos ou padrõesoriginais.

Nota-se ainda entre os autores consultados que as diferenças vão além da definiçãoda Mineração de Dados: estendem-se também à subordinação desta área do conhecimentoà área nomeada Descoberta de Conhecimento em Bases de Dados (KDD). Para Kantardzic(2011), MD e KDD são sinônimos, tanto que o autor descreve os processos da Mineraçãode Dados quase que da mesma forma como Hand, Mannila e Smyth (2001) identificam os

Page 24: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 23

processos envolvidos na Descoberta de Conhecimento em Bases de Dados. Tais processos,como identificados por Kantardzic (2011), são (Figura 1):

Figura 1 – Tarefas da Mineração de Dados. Adaptado de (KANTARDZIC, 2011)

∙ Estabelecer o problema e formular a hipótese - requer conhecimento do domínio deaplicação dos dados estudados para a identificação de um problema significativo.Um conjunto de variáveis de dependência é especificado e, quando possível, umaforma geral desta dependência é proposta como hipótese inicial;

∙ Obtenção dos dados - refere-se à geração e à obtenção dos dados. O processo degeração dos dados para as aplicações de Mineração de Dados é o observacional,sobre o qual o especialista não tem influência;

∙ Pré-processamento dos dados - processo executado após a obtenção dos dados e queinclui a identificação e remoção de anomalias, normalização e compressão de dadose seleção de atributos;

∙ Extração do modelo/padrão e relacionamento - consiste na escolha e na implemen-tação da técnica de Mineração de Dados apropriada;

∙ Interpretação do modelo e conclusões - tomada de decisão sobre os resultados obti-dos. Nesta etapa, um modelo mais simples pode ser menos acurado, mas facilita ainterpretação.

2.2 Mineração de Dados EducacionaisMineração de Dados Educacionais (do inglês Educational Data Mining, EDM) é o

termo que designa a área que utiliza recursos de MD aplicados a dados educacionais, in-cluindo aqueles produzidos por sistemas de gestão acadêmica, Sistemas de Gerenciamento

Page 25: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 24

de Aprendizagem (do inglês Learning Management Systems, LMS), Sistemas Tutoriais In-teligentes (do inglês Intelligent Tutorial Systems, ITS), e-learning, repositórios de objetosde aprendizagem e aplicações web utilizadas na educação. A EDM tem como objetivoscompreender o comportamento dos estudantes e o ambiente onde a aprendizagem ocorre,visando melhorar a aprendizagem, seja aprimorando a qualidade do ensino ou otimizandoa absorção do ensino pelo aluno.

Embora os passos do processo de EDM sejam semelhantes aos de Mineração deDados, pré-processamento, mineração e pós-processamento, a EDM possui característicasque a diferenciam da MD, identificadas por Romero e Ventura (2010):

∙ Objetivos: em EDM há objetivos de pesquisa aplicada, tais como melhorar o pro-cesso de aprendizagem, e objetivos de pesquisa pura, tais como conhecer melhor ofenômeno da aprendizagem;

∙ Dados: há muitos dados diferentes a serem minerados em EDM, podendo conterinformação semântica intrínseca, relacionamentos com outros dados e hierarquia emmúltiplos níveis;

∙ Técnicas: embora muitas das técnicas tradicionais de MD possam ser aplicadas aEDM, algumas necessitam ser adaptadas ao contexto educacional.

Romero e Ventura (2010) identificam na literatura as áreas onde a EDM tem sidoaplicada por diferentes comunidades de pesquisa usando técnicas e tarefas de MD diversas:

∙ Análise e visualização de dados – visa destacar dados importantes e fundamentara tomada de decisão, que na EDM pode ser aplicada para ajudar educadores eadministradores educacionais a terem uma visão da aprendizagem dos estudantesa partir das atividades das quais estes estudantes participam. Entre as abordagensutilizadas nesta área, destacam-se a análise estatística dos dados e a visualização dainformação usando técnicas gráficas;

∙ Prover informações para apoiar educadores – tem por objetivo oferecer dados queapoiem as decisões de educadores, autores de cursos e administradores na melhoria eorganização dos recursos e técnicas que aumentem a aprendizagem. Diferencia-se daárea de análise e visualização de dados por oferecer novas informações obtidas portécnicas de MD ao invés de apresentar resultados de análise estatística descritivados dados;

∙ Recomendações para estudantes – os objetivos nesta área são personalizar as op-ções de atividades, links para visita, próximos problemas a resolver etc. e adaptarconteúdos, sequências e interfaces de aprendizagem a cada estudante. Nesta área as

Page 26: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 25

técnicas de MD mais comuns são agrupamento de dados, mineração de regras deassociação e mineração de padrão sequencial;

∙ Predição de desempenho de estudantes – área que tem por meta estimar valoresdesconhecidos de variáveis como desempenho, conhecimento, pontuação e notas doestudante. Nesta área as técnicas mais comuns de MD são regressão e classificação;

∙ Modelagem de estudantes – visa desenvolver modelos cognitivos de estudantes hu-manos incluindo a modelagem de suas competências e conhecimento declarativo;

∙ Detecção de comportamentos indesejáveis – detectar e identificar estudantes pro-blemáticos ou que apresentem comportamento não usual, tal como ações erradas,baixa motivação, evasão, trapaça, falhas acadêmicas e outras distorções. Técnicasde MD como classificação e agrupamento são as mais comuns nesta área;

∙ Agrupamento de estudantes – tem por objetivo agrupar estudantes tomando porcritério características pessoais, comportamentais, de aprendizagem ou outras, vi-sando oferecer aprendizagem, conteúdo e atendimento personalizados. As técnicasde agrupamento e classificação são as mais utilizadas nesta área;

∙ Análise de redes sociais – visa à análise de relacionamentos entre indivíduos. Atécnica de MD mais utilizada nesta área é a filtragem colaborativa;

∙ Desenvolvimento de mapas conceituais – procura ajudar educadores na construçãoautomática de mapas de conceitos usando principalmente regras de associação emineração textual;

∙ Construção de conteúdo programático – esta área tem por objetivos ajudar edu-cadores e desenvolvedores no processo de construção automática de um conteúdoprogramático e de conteúdos de aprendizagem, além de procurar promover o reusode recursos de aprendizagem entre usuários e sistemas. Utilizam-se diversas técnicasde MD para se alcançar estes objetivos;

∙ Planejamento e agendamento – busca melhorar o processo educacional tradicionalpelo planejamento de cursos futuros, ajudando o aluno no agendamento de cursos,planejando a alocação de recursos, ajudando no processo de admissão e de aconse-lhamento, desenvolvendo currículos etc. Entre as técnicas mais comuns nesta áreaestão as regras de associação.

2.3 Learning AnalyticsO estudo do contexto educacional fundamentado em dados e utilizando algoritmos

e técnicas de mineração de dados, aprendizagem de máquina e estatística visando à otimi-zação da aprendizagem e ao desenvolvimento do próprio contexto em que a aprendizagem

Page 27: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 26

ocorre é também o objetivo da área de Learning Analytics (LA), também conhecida comoLearning Analytics and Knowledge (LAK). Além de LA, outras duas áreas estudam dadoseducacionais: Mineração de Dados Educacionais (EDM) e Academic Analytics. AcademicAnalytics diferencia-se de LA e EDM “combinando grandes conjuntos de dados a técnicasestatísticas e modelos preditivos visando à tomada de decisão” (RESEARCH, 2016).

Embora os objetivos de LA e de EDM se sobreponham parcialmente, Siemens eBaker (2012) apresentam os pontos em que as duas áreas se diferenciam (Tabela 1):

Tabela 1 – Comparação entre EDM e LAK (SIEMENS; BAKER, 2012).

LAK EDMDescoberta do Co-nhecimento

Prioriza a intervenção humana nadescoberta usando recursos de visu-alização de dados, por exemplo.

Foca na descoberta de conhecimentopor meios computacionais. Quandohá intervenção humana geralmenteé na definição de rótulos para classi-ficação.

Visão Procura analisar um sistema comoum todo considerando toda suacomplexidade.

Comumente reduz fenômenos a com-ponentes e analisa-os individual-mente considerando seus relaciona-mentos. A técnica de descoberta pormodelos exemplifica a visão compo-nentizada da EDM.

Origens Web semântica, currículos inteligen-tes, previsão de resultados e inter-venções sistêmicas.

Softwares educacionais e modelagemde estudantes, previsão de resulta-dos em cursos.

Tipos de adaptaçãoe personalização su-portados

Usa modelos que visam fortaleceralunos e professores.

Usa modelos de EDM como base deuma adaptação automatizada, comonos Sistemas Tutores Inteligentes.

Técnicas e Métodos Análise de redes sociais, de senti-mentos, de influência, de discurso,de conceitos, predição de sucesso dealuno e modelos de significância.

Classificação, agrupamento, mode-lagem Bayesiana, mineração de re-lacionamentos, descoberta por mo-delos e visualização.

As diferenças entre as áreas de EDM e LAK oportunizam importante cooperaçãopara uma pesquisa saudável em grandes massas de dados visando à melhoria da educação.Para que isso aconteça as áreas devem disseminar suas pesquisas entre si e comunicarem-semelhor (SIEMENS; BAKER, 2012).

2.4 Big DataA profusão de sensores e dispositivos utilizados em aplicações e pela web apresen-

taram o desafio de processar, analisar, armazenar e entender o grande volume de dadosgerado numa dimensão maior do que os processos, algoritmos e recursos computacio-nais haviam tratado. Dimensões dos dados distintivas desse problema são (FAN; BIFET,2013):

Page 28: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 27

∙ Volume: estima-se que o volume de dados disponível no universo digital seja de 2,7zetabytes, ou 2,7 x 1021 bytes, ou ainda 2,7 trilhões de gigabites (FANG et al., 2015);

∙ Variedade: além dos dados estruturados, dados semiestruturados e desestruturadossão gerados por novos dispositivos tais como smart phones e aqueles categorizadoscomo IoT, coisas dentre as quais estão sensores remotos de objetos e ambientes,gerenciadores de infraestrutura e construções, câmeras e microfones, produtos co-nectados, realidade aumentada etc. CeArley e Claunch (2012) estimam que 50% dasconexões à internet são geradas por coisas, que no ano de 2020 serão mais de 30bilhões de equipamentos gerando conexões permanentes e mais de 200 bilhões deequipamentos gerando conexões intermitentes;

∙ Velocidade: fluxos de dados são gerados continuamente em grandes volumes;

∙ Variabilidade: os dados podem assumir variedades de formas e interpretações dife-rentes;

∙ Valor: possibilidade de extrair respostas aplicáveis ao negócio.

Aos problemas que lidam com dados que combinam estas características atribui-seo termo Big Data, termo cunhado por John Mashey, Cientista Chefe da empresa SiliconGraphics, em 1998, em seu trabalho intitulado “Big Data and the Next Wave of InfraS-tress” e utilizado academicamente em seu sentido atual inicialmente por Sholom M. Weisse Nitin Indurkhya, em 1998, em seu livro “Predictive Data Mining: A Practical Guide”e em 2003 por Francis X. Diebold em sua publicação intitulada “ ’Big Data’ DynamicFactor Models for Macroeconomic Measurement and Forecasting” (DIEBOLD, 2012).

Considerando as múltiplas origens dos dados, seu volume e variabilidade, Fang etal. (2015) argumentam sobre a necessidade “de colaboração multidisciplinar e de juntaresforços de indústrias, academias e governos no desenvolvimento de novos métodos, dis-ciplinas e forças de trabalho que juntem as ciências de redes de dados, gerenciamento dedados, computação e estatística”. Embora Big Data relacione-se com a ciência computa-cional intensiva, ou e-Ciência, e suas aplicações se estendam às mais diversas áreas depesquisa, tais como bioquímica, astronomia, bio-informática, astronomia, economia, ne-gócios, administração e sociologia (CHEN; ZHANG, 2014), Kambatla et al. (2014) listamalgumas áreas com grande potencial de benefício no uso de técnicas analíticas em BigData:

∙ As áreas de saúde e bem-estar são umas das mais beneficiadas pelo uso de técnicasanalíticas, tanto pelo benefício de bem-estar humano quanto pela quantidade dedados que a área produz. Dados provenientes de registros médicos (EMR), diagnós-tico por imagem, farmacêuticos, hábitos pessoais, preferências pessoais e registros

Page 29: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 28

financeiros podem ser cruzados oferecendo significantes melhorias em intervençõesmédicas e bem-estar, bem como diminuindo custos;

∙ Outras áreas com alto potencial de benefício com o uso de técnicas analíticas e BigData são as relacionadas à natureza e processos naturais. Dispositivos como satélites,radares e sensores terrestres coletam dados de fenômenos ambientais e seus efeitos,ocupação urbana, emissão de carbono, alteração da camada polar, eventos climáticosextremos, uso de recursos naturais e atividades humanas;

∙ A área governamental e o setor público são grandes motivadores do uso de técni-cas analíticas e Big Data, tanto devido a políticas governamentais quanto às açõesde integração de dados. Oportunidades de diminuição de custos e de maior dispo-nibilidade somam-se às possibilidades de implementação do voto eletrônico móvel,detecção de fraudes e de sonegações de impostos;

∙ As áreas de comércio, negócios e sistemas econômicos são beneficiadas pela integra-ção de dados de cadeia de suprimentos, gerenciamento do cliente, suporte pós-venda,propaganda, sentimentos do cliente, dados financeiros e outros. Novos dados nestaárea são gerados pelo uso de RFID para rastreamento de inventário, integração deperfis de clientes e de sistemas de pagamento;

∙ Internet e redes sociais representam grandes áreas de aplicação para a análise dedados e Big Data no que tange à entrega de conteúdo personalizado. Dados deinterações em função do tempo contribuem para entender comportamentos coletivos,desenhar fluxos de informação e contribuir para o gerenciamento de recursos e paraa predição. Mineração de grafos, pesquisa e indexação de imagens e vídeos oferecemoportunidades de desenvolvimento e identificação de correlações de entidades;

∙ Processos computacionais e experimentais em física, astronomia, genética etc. ge-ram grandes quantidades de dados para validação e geração de insights científicose demandam recursos computacionais capazes de analisar dados em tempo reallocalmente, uma vez que os dados gerados são maiores do que o potencial de ar-mazenamento e estão disponíveis geralmente em um local, requerendo técnicas deparalelização ao invés de técnicas de computação distribuída.

2.4.1 Oportunidades e desafios

Embora as oportunidades e os benefícios do uso do Big Data sejam diversos há de-safios a serem vencidos para que se encontre o valor que há no volume e na variedade dosdados. O processo de descoberta de conhecimento em bases de dados é totalmente aplicá-vel à obtenção de conhecimento com bases Big Data, como observam Chen e Zhang (2014).No entanto, em Big Data os dados podem se apresentar inconsistentes, incompletos, com

Page 30: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 29

problemas de segurança, mal representados, desestruturados e de baixa qualidade, reque-rendo um grande esforço de pré-processamento. A Tabela 2 apresenta desafios enfrentadosem algumas fases do processo de descoberta de conhecimento em bases de dados (CHEN;ZHANG, 2014; ACHARJYA; AHMED, 2016).

Tabela 2 – Desafios da Descoberta de Conhecimento em Bases de Dados (CHEN; ZHANG, 2014;ACHARJYA; AHMED, 2016).

Fase DesafiosCaptura e armaze-namento dos dados

A capacidade de armazenar dados não cresce na mesma velocidade que a pro-dução de dados exige, levando ao descarte muitos dados que custaram caropara serem gerados e obtidos.

Transmissão dosdados

A popularização do armazenamento e do processamento distribuído em nuvemesbarra na largura limitada dos links de transmissão de dados, ao mesmo tempoem que o armazenamento de dados levanta questões relacionadas à segurançados dados e à integração.

Curadoria dos da-dos

Manter os dados implica armazenamento e recuperação, garantia da qualidade,reuso e preservação durante o tempo. Os modelos de bancos de dados relacionaislidam com dados estruturados armazenados num esquema e recuperando-os porum modelo relacional. Os dados devem ser pré-processados, transformados ecatalogados para serem armazenados no modelo relacional. As abordagens deData Warehouses e Data Marts são as maneiras como os bancos de dadosrelacionais lidam com grandes volumes de dados, não comparáveis aos volumesde dados dos problemas Big Data. Novas arquiteturas de bancos de dados sãorequeridas para prover curadoria dos dados com desempenho adequado.

Análise dos dados O grande volume de dados dos problemas Big Data indica que maior desafioneste campo é a escalabilidade. Esforços têm sido feitos no desenvolvimentode novos algoritmos de análise de grandes volumes de dados. O aumento donúmero de núcleos dos processadores viabilizou o processamento paralelo e acomputação paralela em nuvem surgiu como proposta viável para a demandapor processamento em tempo real. Esta mesma arquitetura distribuída da nu-vem levanta questões de segurança, privacidade, direitos autorais e adequaçãoa legislações locais.

Visualização dosdados

O volume e a alta dimensionalidade dos dados em problemas Big Data requeremferramentas de visualização com desempenho adequado, que sejam escaláveise que tenham um bom tempo de resposta. A presença de incertezas nos dadosrequer modelos de análise e de visualização adequados.

As dimensões de volume dos dados em problemas Big Data bem como restriçõesde tempo de processamento têm motivado a combinação de técnicas extraídas de diver-sas disciplinas. Chen e Zhang (2014) enumeram algumas das principais técnicas (Figura2): métodos de otimização, estatística, mineração de dados, aprendizagem de máquina,abordagens de visualização, análise de redes sociais.

2.4.2 Ferramentas

Um importante aspecto que diferencia o fenômeno Big Data do fenômeno conhe-cido como Business Intelligence é a oferta de ferramentas Open Source, muitas delasdesenvolvidas e disponibilizadas por grandes empresas geradoras de dados, tais como Fa-cebook, Yahoo!, Twiter e LinkedIn, tornando a implementação de soluções e as iniciativas

Page 31: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 30

Figura 2 – Técnicas em Big Data. Adaptado de (CHEN; ZHANG, 2014)

analíticas em Big Data acessíveis (FAN; BIFET, 2013). As tabelas 3, 4 e 5 agrupam algu-mas das principais ferramentas da atualidade que suportam o processamento Big Data,listadas pelas categorias: processamento em lote, processamento em fluxo contínuo e fer-ramentas de análise interativa. A lista não é exaustiva, considerando que há muitas outrasferramentas não analisadas pelos autores e que serão citadas posteriormente.

As ferramentas listadas na Tabela 3 são categorizadas como ferramentas em loteporque, embora possam processar grandes quantidades de dados inclusive em paralelo,não são adequadas para processamento de dados em fluxo contínuo.

Page 32: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 31

Tabela 3 – Principais ferramentas de processamento em lote em Big Data (CHEN; ZHANG, 2014;ACHARJYA; AHMED, 2016).

Aplicação Ferramenta DescriçãoInfraestrutura ePlataforma

Apache Ha-doop

Plataforma para processamento paralelo distribuído composta umnúcleo comum (Hadoop Commom), um sistema de arquivos distri-buído (HDFS), um framework para agendamento e gerenciamentode recursos do cluster (Hadoop YARN) e um sistema de proces-samento paralelo (Hadoop MapReduce) (APACHE, 2016b).

Infraestrutura ePlataforma

MicrosoftDryad

Infraestrutura para programação paralela e distribuída onde acomputação é executada como um grafo direcionado (MICRO-SOFT, 2016a).

Análise de da-dos

ApacheMahout

Ambiente de programação que permite o uso de algoritmos deaprendizagem de máquina escaláveis. Suporta algoritmos de fil-tragem, classificação, agrupamento, redução de dimensionalidadee outros (APACHE, 2016d).

Business Intelli-gence

JaspersoftBusinessIntelligence

Ferramenta de análise, integração e visualização de dados que su-porta integração com bancos de dados NoSQL. Dispõe de versãolicenciada pelo modelo AGPL e versões pagas (JASPERSOFT,2016).

Business Analy-tics

Pentaho Bu-siness Analy-tics

Plataforma de análise, visualização e integração de dados que su-porta integração com distribuições e ferramentas Haddop, basesde dados NoSQL e bancos de dados analíticos. Conecta-se tam-bém com os principais bancos de dados relacionais e com outrasorigens de dados, inclusive em nuvem (PENTAHO, 2016).

Análise avan-çada por apren-dizagem demáquina

Skytree Ser-ver

Plataforma de análise de dados Big Data que interage com im-plementações Hadoop e que implementa algoritmos de sistemasde recomendação, análise preditiva, agrupamento e pesquisa desimilaridade.

Visualização dedados

Tableau Ferramenta de visualização de dados que suporta integração comorigens de dados Hadoop, NoSQL, relacionais e arquivos.

Gerenciamentoe integração dedados

Talend OpenStudio

Plataforma Open Source baseada em Apache Hadoop que permiteintegração e análise de dados Big Data.

A Tabela 4 lista algumas das ferramentas projetadas para processamento em fluxocontínuo, tal como o processamento requerido em arquivos de log, dados de sensores, da-dos M2M (machine-to-machine), telefonia e outros dados com grande volume e velocidadee com tipos complexos. Esses tipos de dados são chamados de streams e requerem fer-ramentas projetadas especificamente para este tipo de processamento. O processamentoem fluxo contínuo requer baixa latência de resposta, característica esta não presente nomodelo de processamento Map/Reduce (CHEN; ZHANG, 2014).

As Tabelas 3 e 4 não apresentam uma lista exaustiva de plataformas e softwares deBig Data. Nomes não listados mas não menos importantes são a arquitetura distribuídaBeowulf, o modelo MPI/OpenMP, as ferramentas HTCondor1, BOINC2, HaLoop3, IUTwister, Microsoft Project Daytonas, os ambientes Labview4 e a plataformas de proces-1 www.cs.wisc.edu/condor2 http://boinc.berkeley.edu3 https://code.google.com/archive/p/haloop/4 http://www.ni.com/labview

Page 33: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 32

Tabela 4 – Principais ferramentas de processamento stream em Big Data (CHEN; ZHANG, 2014;ACHARJYA; AHMED, 2016).

Aplicação Ferramenta DescriçãoProcessamentoem tempo real

ApacheStorm

Sistema de computação distribuída e tolerante a falhas para pro-cessamento de streams de dados. Aplicável a processamento ana-lítico em tempo real, aprendizagem de máquina em tempo real,ETL e outras aplicações distribuídas.

Processamentocontínuo dedados

Apache S4 Sistema de computação distribuída desenvolvido pelo Yahoo! eliberado para a Apache. Processa fluxos contínuos de dados deforma distribuída, tolerante a falhas e componentizada.

Processamentoem tempo realde machine data

SQLstreams-server

Plataforma para processamento analítico de dados em tempo realbaseada em processamento em memória de fluxos de dados nãoestruturados com consultas SQL. Aplicável a dados gerados pormáquinas (machine data) (SQLSTREAM, 2016).

Processamentoem tempo realde machine data

Splunk Ferramenta de visualização e análise em tempo real de machinedata. Machine Data pode ser definido como “registro definitivo detodas as atividades e comportamentos de clientes, usuários, tran-sações, aplicações, servidores, redes e dispositivos móveis. E istoé mais que somente logs. Isto inclui configurações, dados de APIs,filas de mensagens, eventos de mudanças, a saída de comandos dediagnóstico, registros detalhados de chamadas e dados de sensoresde sistemas industriais, e outros dados” (SPLUNK, 2016).

Sistema demensageriadistribuída

ApacheKafka

Sistema de distribuição de mensagens que analisa dados operaci-onais e dados de atividades de usuários em websites em fluxo ecom persistência de dados.

Plataforma denegócios emtempo real

SAP Hana Plataforma analítica de dados de negócios em tempo real e in-memory e integrável com outras aplicações analíticas.

samento em grafo GraphLab (Carnegie Mellon). Não foram listadas as dezenas de bancosde dados NoSQL (NOSQL, 2016) e bancos de dados colunares e em memória.

Chen e Zhang (2014) distribuíram as ferramentas apresentadas nas Tabelas 3 e 4de acordo com seu tempo de resposta, como pode ser observado na Figura 3.

Além de ferramentas para processamento de dados em lote e em fluxo contínuo,ferramentas de análise interativa de dados Big Data também são oferecidas na modalidadeOpen Source, dentre as quais podem ser destacadas as que aparecem na Tabela 5.

Tabela 5 – Principais ferramentas de análise interativa em Big Data (CHEN; ZHANG, 2014).

Ferramenta DescriçãoGoogle Dremel Sistema de análise interativa complementar às computações baseadas em Map/-

Reduce escalável e que permite agregações de grandes volumes de dados.Apache Drill Sistema de análise interativa semelhante ao Google Dremel que permite pes-

quisa em bases de dados não relacionais, que usa o modelo Map/Reduce deprocessamento e que permite consultas ad hoc baseadas em SQL em grandesvolumes de dados (APACHE, 2016a)

Page 34: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 33

Figura 3 – Distribuição de plataformas Big Data quanto ao tipo de processamento. Fonte: (CHEN;ZHANG, 2014)

2.4.3 Big Data na Educação

No contexto educacional, que envolve a interação de alunos e professores ou tutorescom o ambiente em que o processo ensino-aprendizagem ocorre, ao menos duas áreas doconhecimento se dedicam à análise dos dados produzidos nestas interações: Mineração deDados Educacionais (EDM) e Learning Analytics (LA). Baker (2015) afirma que estasduas áreas somam seus esforços de pesquisa em Big Data objetivando a) descobertas eavanços nas ciências da aprendizagem, b) uma avaliação mais justa do aluno considerandodimensões sociais, cognitivas, emocionais e meta cognitivas e considerando os níveis degrupo, de indivíduo, e de institucionais, entre outros, e c) usar as descobertas para darum melhor suporte ao aluno em tempo real. Pappas (2014) enumera cinco impactos datecnologia Big Data no ensino virtual:

∙ Oferecer retorno inestimável – discussões e pesquisas oferecem retorno sobre a efeti-vidade dos cursos e módulos enquanto que a análise de dados pode oferecer retornosque geram oportunidades de melhorias para o professor e do curso em si;

∙ Permitir a produção de cursos mais personalizados – o entendimento da interaçãodo aluno com o curso pode permitir o ajuste do curso às necessidades do aluno,aumentando a qualidade do curso e a aprendizagem;

∙ Aumento da efetividade dos objetivos e estratégias de aprendizagem – a análise dacontribuição dos cursos para a formação do aluno permite a melhoria de conteúdoe de cursos;

Page 35: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 34

∙ Rastreamento de padrões de aprendizagem – o uso de ferramentas Big Data permiteo rastreamento do comportamento do aluno durante todo o processo de aprendiza-gem, o que permite um maior conhecimento dos comportamentos e dos grupos dealunos;

∙ Expansão do entendimento do processo de aprendizagem – a análise de dados edu-cacionais conduz a um maior conhecimento sobre como e quando o aluno aprende,o que é de especial valor para a melhoria do processo ensino-aprendizagem.

Embora as áreas de EDM e LA apresentem diferenças, recursos de uma e outraárea são utilizados em pesquisas Big Data. Baker (2015) complementa o ponto de vistade Baker e Yacef (2009) apresentando a seguinte lista com metodologias de LA e EDMutilizados em Big Data educacional:

∙ Predição – engloba métodos de Classificação e Regressão e Estimação de Conheci-mento Latente (do inglês, Latent Knowledge Estimation) na descoberta de alunosdesmotivados e de potenciais alunos reprovados;

∙ Descoberta de Estrutura – engloba métodos como Agrupamento, Análise de Fatorese Descoberta de Domínio de Estrutura visando à descoberta de padrões;

∙ Mineração de Relacionamentos – engloba métodos como Mineração de Regras deAssociação, Mineração de Correlações, Mineração de Padrões Sequenciais, Minera-ção de Dados Causais e Análise de Redes visando à descoberta de relacionamentosentre variáveis em um conjunto de dados;

∙ Descoberta com Modelos – utiliza modelos obtidos por Predição, Agrupamento ouEngenharia do Conhecimento como parte do processo de análise visando à prediçãode uma nova variável;

∙ Destilação de Dados para Julgamento Humano – objetiva a apresentação de dadospara serem identificados ou classificados (BAKER et al., 2010).

2.4.4 Desafios relacionados aos dados

A variedade de origens, padrões e formatos de dados que compõem o Big Dataao mesmo tempo em que confere a riqueza de onde será extraída a informação de valortambém traz para dentro dos processos de mineração de dados a preocupação com suaqualidade. As atividades de remoção de anomalias, normalização e compressão de dadose seleção de atributos não são dispensáveis nas atividades de MD, mesmo em contextosBig Data.

Page 36: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 35

Anagnostopoulos, Zeadally e Exposito (2016) ordenaram os desafios relacionadosaos dados de problemas Big Data em camadas, entituladas Get, Save e Analyse, permeadaspor questões éticas, de propridade intelectual e de privacidade (Figura 4).

Figura 4 – Camadas de desafios de dados de problemas Big Data. Adaptado de (ANAGNOSTOPOULOS;ZEADALLY; EXPOSITO, 2016)

Na camada de obtenção e tratamento dos dados, camada get, a preocupação écom a padronização e a curadoria dos dados. Aspectos de qualidade dos dados tais comofacilidade de acesso, facilidade de identificação e facilidade de leitura devem ser considera-dos, bem como devem ser aplicados processos que lidem com dados inconsistentes, dadosde origens heterogêneas e dados desatualizados. Somente após estes processos os dadospodem ser disponibilizados para uso. Dados com qualidade gerados em grande volumedevem ser selecionados para que reste a parte útil ao processamento. Uma abordagem éa utilização de esquemas de metadados que descrevam os dados e permitam a filtragem.Em aplicações de tempo real a latência do processo de captura e obtenção dos dados éfator crítico.

Na camada save, migrações de dados entre bases são problemas importantes, en-dereçados por estruturas de rede robustas e pelo tratamento recebido pelos dados nacamada get. Em termos de armazenamento de dados o desafio é evitar aumento de latên-cia à medida em que volumes crescentes de dados em formatos diversos são armazenados.Outro desafio é o tráfego de dados pela Internet, que cresce mais aceleradamente que acapacidade de transporte desses dados.

A camada analyse preocupa-se em prover resultados significativos, suportados porprocessamentos massivos. Um importante desafio configura-se no equilíbrio entre a expec-tativa do consumidor pelo tempo de resposta dos resultados da análise e os aspectos deheterogeneidade e volume dos dados, que tornam a tarefa de análise mais árdua. Além danecessidade de novos algoritmos capazes de processar Big Data, o risco da introdução de

Page 37: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 36

erros nas funções operacionais do processamento pode reduzir a efetividade do resultadodas análises. Os requisitos de acurácia e precisão dos resultados são dependentes do tipode audiência.

Permeando todos estes desafios estão os aspectos éticos, que podem incluir identi-dade, privacidade, propriedade e reputação. Anagnostopoulos, Zeadally e Exposito (2016)citam que mesmo os dados de identificação ocultados em uma determinada base de dadostêm alta probabilidade de identificação quando relacionados a atributos obtidos de outrasbases.

A escolha de uma arquitetura para desenvolvimento de sistemas Big Data deveconsiderar como resolver adequadamente estes desafios.

2.4.5 Princípios para o projeto de sistemas Big Data

Chen e Zhang (2014) apresentam sete princípios para que um sistema Big Dataseja implementado e funcione de modo eficiente, inclusive em processamento de dados emtempo real:

1. A prioridade deve ser a seleção de boas arquiteturas e frameworks - O modelo deextração, transformação e carga (do inglês Extract, Transform, Load, ETL) dos datawarehouses não é aplicável a Big Data. Os problemas Big Data apresentam requisitosde processamento paralelo e distribuído, bem como demandas de processamento emlote e em fluxo contínuo. A arquitetura Lambda propõe uma solução para estes doistipos de processamento, mas não é aplicável a todos os problemas Big Data;

2. Métodos analíticos diversos devem ser suportados - a natureza dos problemas BigData frequentemente requer a utilização de mais de um método analítico;

3. Não há “tamanho único” - embora as ferramentas de análise de Big Data tenhamlimitações, se aplicadas corretamente, trazem benefícios;

4. A análise deve ir até os dados - Big Data é grande demais para ser armazenado emum ou mais centros de análise. Assim, a análise direcionada a dados é aquela queleva as tarefas de análise até os dados;

5. O processamento deve ser distribuível para computação em memória - se a análise vaiaté os dados e os dados estão distribuídos, o processamento deve ser distribuível.Mesmo para grandes volumes de dados a análise em memória tem se mostradomais eficiente que a em disco, especialmente para processamento de dados em fluxocontínuo;

Page 38: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 37

6. O armazenamento deve ser distribuível para armazenamento em memória - paraum processamento Big Data eficiente os dados devem ser particionados para umaanálise em memória, mesmo para dados acumulados em um data center ;

7. É necessária coordenação entre processamento e unidades de dados - a coordenaçãoem sistemas distribuídos é essencial para a escalabilidade e para a manutençãode uma baixa latência de resposta em sistemas de análise em tempo real. Mesmoem plataformas de processamento em tempo real esta tarefa é executada por umframework especializado.

2.4.6 Características desejáveis em um sistema Big Data

Marz e Warren (2015) apresentam algumas características que um sistema BigData deve ter, levando em consideração aspectos como complexidade, escalabilidade, de-sempenho e eficiência. Estas características são apresentadas como presentes na arquite-tura Lambda, a saber:

1. Robustez e tolerância a falhas - em um sistema distribuído situações como a queda deum nó, a complexidade de um banco de dados distribuído, concorrência, duplicidadede dados ou mesmo erros humanos são passíveis de ocorrer e devem ser evitadassempre que possível. O sistema deve ser capaz de se recuperar de situações comoestas;

2. Baixa latência de leitura e atualização - a latência de leitura de dados em geralestá na casa dos milissegundos e a latência de atualização é dependente do tipo desistema. Qualquer que seja a latência esperada, a solução não deve comprometer arobustez;

3. Escalabilidade - o sistema de dados deve ser capaz de manter o desemplenho mesmoem situações de aumento da carga de trabalho ou da quantidade de dados, o que ésolucionável pela adição de máquinas (escalabilidade horizontal);

4. Generalização - o sistema de dados deve suportar diferentes tipos de aplicações;

5. Extensibilidade - o sistema deve poder ser modificado ou acrescido sem grandesimpactos de desenvolvimento;

6. Suporte a consultas ad hoc - o sistema terá valor à medida em que permitir pesquisasarbitrárias em seus dados visando à obtenção de valor;

7. Mínima manutenção - manter um sistema em funcionamento com uma taxa mí-nima de manutenção, o que pode ser obtido pela escolha de soluções com a menorcomplexidade possível. Quanto maior a complexidade de um componente, maior achance de requerer manutenção;

Page 39: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 38

8. Capacidade de correção (“debuggability”) - o sistema deve permitir a habilitação detraces para a identificação de erros.

2.4.7 Recomendações para escolha de uma arquitetura Big Data

A decisão por uma plataforma adequada para o processamento Big Data é essencialpara o sucesso do sistema. Para a decisão correta Singh e Reddy (2015) recomendam quealgumas perguntas sejam respondidas. Quanto ao algoritmo e à aplicação:

∙ Qual a velocidade em que os resultados devem ser obtidos?

∙ Quão grandes são os dados a serem processados?

∙ O modelo requererá várias iterações ou uma única iteração?

Quanto aos requisitos de sistema e de plataforma:

∙ A capacidade de processamento precisará crescer no futuro?

∙ A taxa de transferência de dados é crítica para o sistema?

∙ Existe necessidade de tratar falhas de hardware dentro da aplicação?

Singh e Reddy (2015) discutem o escalamento de tecnologias atualmente utilizadaspara processamento Big Data classificando-as em tecnologias de escalamento horizontale tecnologias de escalamento vertical. Escalamento define o quanto um sistema consegueadaptar-se ao crescimento da demanda de processamento, que é implementado horizon-talmente pela distribuição da carga de processamento entre máquinas de baixo custoagrupadas ou verticalmente pelo aumento da capacidade de processamento de um servi-dor único, seja pelo acréscimo de processadores, de memória ou por hardware mas rápido.A Tabela 6 apresenta uma comparação das vantagens e desvantagens dos escalamentoshorizontal e vertical.

Algumas tecnologias e sistemas são apresentadas por Singh e Reddy (2015) e ava-liadas de acordo com os fatores tamanho dos dados, otimização de velocidade ou de cargade trabalho5 e treinamento e aplicação de um modelo.

∙ Tamanho dos dados - considerado como um dos mais importantes fatores. Se odado couber na memória do sistema então poderá ser processado por uma únicamáquina. Plataformas como GPU ou CPUs de vários núcleos podem ser utilizados

5 Do inglês throughput, que signigica a quantidade de materiais ou itens que passam através de umsistema ou processo, e no contexto computacional pode ser interpretado como taxa de transferência.

Page 40: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 39

Tabela 6 – Vantagens e desvantagens dos escalamentos horizontal e vertical (SINGH; REDDY, 2015).

Escalamento Vantagens DesvantagensHorizontal Crescimento do desempenho em passos

pequenosO software precisa tratar a distribuiçãodos dados e as complexidades do pro-cessamento paralelo

Horizontal Investimento financeiro para crescer érelativamente baixo

Número limitado de softwares que po-dem fazer uso do escalamento horizon-tal

Horizontal Pode escalar o quanto for necessário -Vertical A maioria dos softwares pode fazer uso

do escalamento verticalRequer investimento financeiro subs-tancial

Vertical Facilidade de gerenciamento e instala-ção de hardware dentro de uma má-quina única

O sistema deve ser capaz de manipu-lar cargas de trabalho futuras maiorese o desempenho adicional é subutilizadoinicialmente

Vertical - O escalamento não cresce mais que umcerto limite

para aumentar a velocidade neste caso. Caso a quantidade de dados não caiba namemória do sistema então serão necessários grupos de máquinas, e soluções comoApache Hadoop ou Apache Spark aplicam-se.

∙ Otimização de velocidade ou de carga de trabalho - velocidade é entendida comoa capacidade de processar dados em tempo real e carga de trabalho é entendidacomo a quantidade de dados que o sistema é capaz de manipular e processar simul-taneamente (SINGH; REDDY, 2015). Se houver grandes quantidades de dados semrestrições de tempo de processamento podem ser aplicadas soluções de escalamentohorizontal, mas se a necessidade for de processamento rápido soluções de processa-mento em tempo real implementadas por escalamento vertical são aplicáveis.

∙ Treinamento e aplicação de um modelo - um modelo de análise de dados é tipica-mente treinado off-line e este processo toma um tempo considerável. A quantidadede dados necessária para o treinamento é grande mas não há restrições de tempo tãofortes quanto no processamento on-line. O modelo treinado é aplicado em temporeal em Big Data e os resultados devem ser obtidos rapidamente. Estas diferençasentre treinamento e aplicação de um modelo sugerem a utilização de plataformasdiferentes: a de treinamento pode ser escalada horizontalmente e a de aplicação,verticalmente.

2.5 Trabalhos CorrelatosNesta seção são apresentados os trabalhos que discorrem sobre plataformas, softwa-

res e arquiteturas de aplicações Big Data, aplicados ou não à área educacional.

Page 41: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 40

PWG (2014) compõe, juntamente com outros 6 volumes, o resultado do NIST BigData Working Group (NGB-PWG) no intuito de prover direções, taxonomias, arquiteturasde referência, normas de segurança e privacidade e um padrão para o desenvolvimentode aplicações Big Data. O volume referente a arquiteturas analisa arquiteturas Big Datapropostas por indústrias e pesquisadores individuais com o objetivo de gerar um modelode arquitetura independente de fornecedor para facilitar o desenvolvimento de aplicaçõesBig Data.

Katkar (2015) analisa a Arquitetura Lambda e a implementa utilizando diferentesaplicativos para cada componente, fazendo uma análise de pontos fracos e fortes de cadaimplementação.

Fernandez et al. (2015) apresentam a arquitetura Liquid, com foco em processa-mentos em tempo quase real. A pesquisa descreve as vantagens da arquitetura Liquid emrelação às arquiteturas Lambda e Kappa, cujo foco são processamentos em fluxo e emlote.

Wingerath et al. (2016) comparam as arquiteturas Lambda e Kappa quanto àimplementação do processamento em fluxo e aplicam quatro diferentes softwares OpenSource a este processamento, comparando as ferramentas em dimensões comuns.

Baker (2015) discute os conceitos que fundamentam algumas técnicas de EDM,a saber, modelagem preditiva, detecção de comportamento, inferência de conhecimento,mineração de relacionamentos, visualização e descoberta de estruturas, aplicando os con-ceitos em atividades utilizando o software RapidMiner. Não são discutidos arquiteturasou softwares.

Anagnostopoulos, Zeadally e Exposito (2016) discutem direcionadores e aplicaçõesreais em Big Data nas áreas médica, de segurança pública e aeroespacial. Apresentam umaampla listagem de softwares que suportam Big Data e seus domínios de aplicação, coma menção de exemplos de utilização no mundo corporativo. Também são apresentadasplataformas e softwares de visualização e análise de dados. Os autores enumeram comodesafios a serem vencidos o processo de aquisição, tratamento, curadoria e análise dosdados, assim como questões éticas.

Vanhove et al. (2016) discutem os conceitos de processamento em lote e processa-mento em fluxo contínuo no contexto Big Data, a arquitetura Lambda como um modeloviável de implementação dos dois processamentos e o desafio da sincronização de da-dos nesta arquitetura. A pesquisa propõe uma solução para o problema de sincronizaçãoe apresenta a prova de conceito utilizando um conjunto de softwares Open Source. Osresultados obtidos mostraram que a solução trata informações perdidas e reduntantes.

Fan e Bifet (2013) discutem em seu trabalho controvérsias a respeito de Big Data,a contribuição das ferramentas e plataformas Open Source para o desenvolvimento da

Page 42: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 2. Referencial Teórico e Trabalhos Correlatos 41

análise em Big Data, e desafios desta área. Entre as controvérsias, os autores identificam oaparecimento de uma divisão entre organizações que dominam a análise Big Data e as quenão dominam. Entre os desafios destaca-se a necessidade de soluções que sejam capazesde processar dados históricos e dados em tempo real simultaneamente. A arquiteturaLambda é sugerida como uma oportunidade de solução para este problema.

Chen e Zhang (2014), ao discutirem Big Data, levantam questões sobre o ciclo devida do dado em Big Data, apresentando técnicas e tecnologias utilizadas em projetos BigData. São apresentados também princípios para o desenvolvimento de projetos Big Datae pesquisas atuais nesse campo de conhecimento.

Singh e Reddy (2015) apresentam uma comparação entre as principais platafor-mas de processamento Big Data que escalam horizontalmente (clusters e softwares deparalelização) e as que escalam verticalmente (hardware) segundo os critérios de tolerân-cia a falha, desempenho de entrada/saída, escalabilidade, processamento em tempo real,quantidade de dados suportados e suporte a tarefas iterativas. O artigo é concluído comrecomendações para a escolha de plataformas para análise em Big Data.

Fernández et al. (2014) discutem a utilização de recursos computacionais em nu-vem para sistemas de e-learning e EDM, reconhecendo similaridades conceituais entreaplicações de mineração de dados educacionais e aquelas que mineram dados de comércioeletrônico.

Kiran et al. (2015) analisam a implementação de uma arquitetura Big Data ba-seada no modelo Lambda em duas plataformas em nuvem disponíveis no mercado, com-parando os custos envolvidos na implantação e na utilização durante um período de trêsmeses e fazendo recomendações para a otimização dos custos de implantação.

Marz e Warren (2015) discutem a diferença entre a arquitetura totalmente incre-mental (fully incremental) e a arquitetura Lambda. A arquitetura Lambda é descrita emdetalhes, incluindo ferramentas que podem ser utilizadas em cada camada.

Page 43: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

42

3 Arquiteturas para Big Data

Em um projeto de sistema Big Data a definição da arquitetura constitui-se comoa principal tarefa (CHEN; ZHANG, 2014) e que idealmente deve levar em consideração odesafio dos dados apresentado por Anagnostopoulos, Zeadally e Exposito (2016), princí-pios para um bom projeto Big Data, tais como os defendidos por Chen e Zhang (2014),características desejáveis em um sistema Big Data, como as sugeridas por Marz e Warren(2015) e recomendações de escolha de uma arquitetura Big Data, a exemplo das oferecidaspor Singh e Reddy (2015). Para aplicações Big Data para Mineração de Dados Educacio-nais são aplicáveis as etapas da Descoberta de Conhecimento em Bases de Dados (KDD)de pré-processamento, mineração de dados e pós-processamento (ROMERO; VENTURA,2010). Combinar estes requisitos torna-se um desafio para o arquiteto Big Data.

Na análise de Big Data, dois tipos de abordagens de processamento são identifi-cados: aquele que computa o volume completo de dados gerando a partir dele visões eaquele que computa apenas o volume de dados mais recente. A estes modelos de pro-cessamento atribuem-se os nomes de processamento em lote (batch) e processamento emfluxo contínuo (stream), respectivamente. No primeiro tipo de processamento os volumesde dados são grandes mas as restrições de tempo de resposta para a análise são menosexigentes. O segundo tipo de processamento é o requerido por aplicações de análise emtempo real, nos quais a variável tempo de resposta, ou latência, torna-se um fator críticopara o sucesso (CHEN; ZHANG, 2014; SINGH; REDDY, 2015; ACHARJYA; AHMED,2016).

As ferramentas e plataformas Big Data disponíveis são adequadas a resolver umdos dois problemas, em lote ou em fluxo contínuo, e o conceito de “tamanho único” (onesize fits all) quanto a ferramentas Big Data não é aplicável (CHEN; ZHANG, 2014). Assoluções propostas para lidar com os dois tipos de problemas são o uso de ferramentase plataformas diferentes (CHEN; ZHANG, 2014) ou escalonamentos diferentes (SINGH;REDDY, 2015). Ao apresentar suas recomendações para a escolha de uma arquiteturaBig Data, Singh e Reddy (2015) reforçam a necessidade de o objetivo da arquitetura serbem definido: otimização para velocidade ou para carga de trabalho. A otimização da pla-taforma visando a velocidade implicará a consideração de sistemas para processamentoem tempo real tais como GPUs e FPGAs. Se o objetivo é processar grandes quantida-des de dados sem restrições quanto ao tempo de processamento, sistemas que escalemhorizontalmente são mais adequados.

A preocupação com a padronização e a com a curadoria dos dados apresentada nacamada get dos desafios dos dados de Anagnostopoulos, Zeadally e Exposito (2016) e a

Page 44: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 43

necessidade que alguns sistemas têm de analisar dados em tempo real pode conduzir aoquestionamento se seria possível analisar Big Data em tempo real atendendo à etapa depré-processamento dos dados essencial à Descoberta de Conhecimento em Bases de Dados(KDD).

3.1 Requisitos do sistema Big Data para EDMA combinação das recomendações para um sistema Big Data citadas na seção

anterior, das tarefas de MD apresentadas por Kantardzic (2011) e das características desistemas de EDM (ROMERO; VENTURA, 2010; FERNÁNDEZ et al., 2014) pode serrepresentada por requisitos para uma arquitetura Big Data, a saber:

1. Suporte a dados de grande volume - deve ser possível tratar grandes volumes dedados, com segurança;

2. Suporte a dados variados - deve ser possível armazenar dados variados, incluindo ossemi e os não-estruturados;

3. Suportar dados adquiridos constantemente - deve ser possível lidar com dados emuma latência suficiente para processamento em fluxo contínuo;

4. Obtenção dos dados - Deve ser possível obter dados de diferentes origens de dados,com dados em modelos e estruturas diversos;

5. Pré-processamento - A arquitetura deve suportar o pré-processamento dos dados, oque inclui mas não se restringe a remoção de anomalias, normalização e compressãodos dados, seleção de atributos, tratamento de dados inconsistentes, tratamento dedados heterogêneos e de dados desatualizados;

6. Análise - Devem ser suportados métodos analíticos e aplicações diversos;

7. Escalabilidade - A arquitetura deve ser escalável de modo que mantenha a latênciaem níveis aceitáveis mesmo diante do aumento de carga de trabalho. O modelodeve atender demandas de processamento em lote e em fluxo contínuo dentro delimites aceitáveis. Devem ser utilizados recursos de processamento e armazenamentoparalelo, distribuído e em memória sempre que possível;

8. Acurácia e precisão - Devem ser mantidos níveis aceitáveis de acurácia e de precisãonos processos;

9. Robustez e tolerância a falhas - Deve ser possível a recuperação diante de falhasdecorrentes de duplicidade de dados, indisponibilidade de nós e concorrência;

Page 45: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 44

10. Extensibilidade - A arquitetura deve permitir alterações sem grandes impactos dedesenvolvimento;

11. Mínima manutenção - Devem ser aplicadas soluções o mais simples possível, dimi-nuindo a necessidade de manutenção;

12. Suporte a consultas - Devem ser permitidas e suportadas consultas arbitrárias;

13. Capacidade de correção - A arquitetura deve permitir a ativação de rastreamentopara a identificação de erros;

14. Restrições de uso - A arquitetura deve prever, em toda sua extensão, a aplicação derestrições de uso de dados que por motivos éticos, de privacidade, de propriedadeintelectual, de reputação, de segurança ou de restrições legais não possam ser ex-postos ou utilizados, inclusive quando forem utilizados dados que juntos aumentema probabilidade de identificação. As restrições devem poder ser aplicáveis para umusuário, para um grupo de usuários ou para todos os usuários.

3.2 Sistema, arquitetura, framework e modelo referênciaA pesquisa na literatura por arquiteturas para sistemas Big Data, para Mineração

de Dados Educacionais ou para Learning Analytics, pode apresentar os termos arquitetura,framework e modelo referência. Faz-se necessário definir tais termos antes de utilizá-los.

Neste contexto, importante contribuição trazem as normas ISO e IEEE, que defi-nem:

∙ Sistema - pode ser definido como aquilo que é feito por pessoas e que possa serconfigurado com hardware, software, dados, humanos, processos, procedimentos, fa-cilidades, materiais e outras entidades que ocorram naturalmente (IEEE, 2004) oucomo uma combinação de elementos que interagem para alcançar um objetivo, cujoentendimento pode ser tornado mais claro pela utilização de um substantivo as-sociativo, a exemplo de “sistema de vôo”, que pode ser substituído simplesmentepor seu sinônimo, tal como avião, helicóptero ou outro sistema capaz de voar (ISO,2008; IEEE, 2004);

∙ Arquitetura - pode ser definida como aqueles conceitos ou aquelas propriedadesfundamentais de um sistema incorporados em seus elementos, relacionamentos ouainda em seus princípios de projeto e evolução. A definição utiliza a disjunção ‘ou’para abarcar as filosofias de arquitetura como conceito de um sistema na mentede uma pessoa e de arquitetura como percepção das propriedades de um sistema.Neste sentido uma arquitetura é abstrata, requerendo artefatos que a descrevam edocumentem, o que é então definido como Descrição da Arquitetura (ISO, 2011);

Page 46: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 45

∙ Framework - no contexto de Tecnologia da Informação, pode ser definido comoclasses ou quadros cooperativos que tornam um projeto reutilizável para uma classeespecífica de software (IEEE, 2010);

∙ Modelo referência - pode ser definido como uma coleção de conceitos sobre umtema, facilitando o particionamento de relacionamentos entre tópicos relevantes doassunto, podendo ser expressado por formas comuns de descrição (IEEE, 1998).

A escolha de arquitetura para sistemas Big Data surge da necessidade de inserire pesquisar dados em grandes volumes e com uma latência aceitável para o contexto dosistema. Mesmo o escalamento dos tradicionais bancos de dados e até mesmo a inclusãode recursos de processamento assíncrono não são capazes de responder satisfatoriamentea problemas tais como corrupção de dados, tolerância a falhas e alta disponibilidade(MARZ; WARREN, 2015). A literatura pesquisada destaca duas como as principais ar-quiteturas que permitem a combinação de processamento de grandes volumes e baixalatência: Lambda e Kappa (FORGEAT, 2015; WINGERATH et al., 2016; CÁRDENAS-BENÍTEZ et al., 2016; CHENG et al., 2015; NASIR, 2016). Nota-se também o surgimentoda arquitetura Liquid como um padrão para processamentos em tempo quase real (FER-NANDEZ et al., 2015).

3.3 A arquitetura LambdaA arquitetura Lambda é a proposta de Marz e Warren (2015) para a implementa-

ção de funções arbitrárias em um conjunto arbitrário de dados (pesquisa = função(todosos dados)) obtendo uma resposta em uma baixa latência pela combinação de diferentesferramentas e técnicas. A arquitetura foi proposta em 2013 por Nathan Marz (MARZ;WARREN, 2015) sendo o primeiro padrão arquitetônico para processamento em lote eem tempo real (MICROSOFT, 2015).

O princípio de funcionamento da arquitetura Lambda é a divisão de um sistemaBig Data em três camadas dependentes e complementares: camada batch, camada servinge camada speed. Cada camada atende a um conjunto de propriedades e é construída sobreas funcionalidades da camada mais próxima.

3.3.1 A camada batch

Supondo que a obtenção de dados é expressa pela equação pesquisa = função(todosos dados), a função poderia ser aplicada a qualquer volume de dados para obtenção doresultado. No entanto, em bases de dados com petabytes de tamanho como as basesBig Data, a execução da função poderá consumir muitos recursos e ser extremamentedispendiosa. Uma saída possível seria a de pré-processar a função e, ao invés de aplicá-la

Page 47: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 46

a todos os dados, aplicá-la aos dados pré-processados. Na função abaixo a visão batchrepresenta o resultado do pré-processamento dos dados:

visão batch = função(todos os dados)

pesquisa = função(visão batch)

O funcionamento da camada batch é ilustrado pela Figura 5.

Figura 5 – Arquitetura da camada batch. Adaptado de (MARZ; WARREN, 2015).

Os dados pré-processados são armazenados no conjunto de dados mestre e alimen-tam o conteúdo das visões batch, que são atualizadas regularmente. Este tipo de compu-tação é executado por sistemas Big Data de processamento em lote, tais como Hadoop,cujo escalamento é implementado horizontalmente.

A característica do processamento em lote neste modelo é sua alta latência, devidoao grande volume de dados do repositório mestre, constantemente em crescimento. Umavez concluído o processamento o repositório mestre não conterá as inclusões feitas após oinício do processamento em lote, requerendo um novo ciclo de processamento.

3.3.2 A camada serving

A camada serving é implementada por um banco de dados distribuído cuja funçãoé carregar o conteúdo das visões batch para a execução de consultas. O conteúdo dacamada serving é atualizado quando as visões batch são reprocessadas. Por não requererescrita randômica, o banco de dados da camada serving é robusto, podendo ser utilizado obanco de dados distribuído ElephantDB, especializado em valores exportados do Hadoop.

3.3.3 A camada speed

A camada speed é responsável por prover dados para as visões de tempo real. Noentanto, somente novos dados ainda não processados pela camada batch são fornecidospara estas visões, e isto é feito incrementalmente para garantir a menor latência possível.Quando novos dados são disponibilizados pela visão batch para a camada serving os

Page 48: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 47

dados correspondentes na visão em tempo real não são mais necessários. A equação querepresenta este funcionamento é:

visão tempo real = função(visão tempo real, novos dados)

O funcionamento da arquitetura Lambda por ser representado como:

visão batch = função(todos os dados)

visão tempo real = função(visão tempo real, novos dados)

query = função(visão batch, visão tempo real)

Duas propriedades importantes da arquitetura Lambda são (MARZ; WARREN,2015):

∙ isolamento da complexidade - a camada speed é bem mais complexa que a camadabatch, mas seu conteúdo é apenas temporário;

∙ acurácia eventual - para a composição de algoritmos complexos que computam in-crementalmente pode-se utilizar um algoritmo exato na camada batch e um algo-ritmo aproximado na camada speed. A camada speed é frequentemente sobrescritatornando sua aproximação correta.

Figura 6 – Arquitetura Lambda. Adaptado de (HAUSENBLAS; BIJNENS, 2015).

Na Figura 6 é possível ver: (1) todos os dados que entram no sistema vão paraas camadas batch e speed para serem processados; (2) a camada batch é responsável porgerenciar o conjunto de dados mestre (conjunto de dados imutáveis e crescentes) e porpré-processar as visões batch; (3) a camada serving indexa o conteúdo das views batch paraser acessado pelas queries; (4) a camada speed lida com dados recentes e complementa oresultado da camada batch; (5) as consultas obtêm dados das visões batch e das visões detempo real (HAUSENBLAS; BIJNENS, 2015).

Page 49: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 48

3.3.4 Como a arquitetura atende aos requisitos de arquiteturas Big Data

Marz e Warren (2015) apontam como a arquitetura Lambda atende aos requisitosde uma arquitetura Big Data:

∙ Robustez e tolerância a falhas - a camada serving usa a replicação para garantirsua disponibilidade, enquanto as camadas batch e serving são tolerantes a falhashumanas porque permitem a correção do algoritmo, a exclusão dos dados com erroe o reprocessamento das visões;

∙ Escalabilidade - o escalamento das camadas batch e serving pode ser feito adicio-nando novos nós ao cluster de servidores;

∙ Generalização - A arquitetura permite a computação de consultas arbitrárias emconjuntos arbitrários de dados;

∙ Extensibilidade - O modelo de dados do conjunto de dados mestre permite a adiçãode novos tipos de dados e a computação de novas visões é tão simples quanto aadição de novos tipos de dados;

∙ Consultas ad hoc - São amplamente suportadas pela camada batch porque todos osdados são armazenados em um mesmo local;

∙ Manutenção mínima - Os bancos de dados da camada serving não necessitam fazerescritas randômicas, diminuindo sua complexidade;

∙ Capacidade de correção - Como as entradas e saídas de dados não se sobrepõemumas às outras, é possível identificar e corrigir falhas nesses pontos.

3.3.5 Questionamentos à Arquitetura Lambda

Em sua análise crítica da arquitetura Lambda, Kreps (2014) reconhece o mérito daproposta desta arquitetura de reter os dados de entrada imutáveis e modelar as transfor-mações dos dados em estágios, permitindo o tratamento de erros em cada um dos estágiosde maneira independente. Reconhecimento também há para o suporte que a arquiteturaLambda dá ao reprocessamento de dados. Se um código deriva dados a partir de umaentrada, estes dados devem ser derivados novamente se houver mudanças no código, taiscomo melhorias, correções ou novas implementações.

Kreps (2014), no entanto, discorda que o processamento em tempo real seja ine-rentemente aproximado, menos poderoso e mais sujeito a perdas que o processamentoem lote. Afirma o autor que os frameworks de processamento em tempo real são menosmaduros que os de processamento em lote, mas que há a mesma garantia semântica entreos dois modelos de processamento. Outra crítica é feita à suposição de que a arquitetura

Page 50: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 49

Lambda supera os limites reconhecidos pelo Teorema CAP ao permitir uma mistura desistemas com diferentes ganhos. O argumento crítico defende que, embora haja uma trocaentre latência e disponibilidade no processamento em tempo real, este tipo de arquite-tura de processamento é assíncrono, de modo que os resultados não são imediatamenteconsistentes com os dados de entrada.

A crítica mais contundente à arquitetura Lambda tem como objeto a complexidadede manutenção do código das camadas batch e speed: a lógica da transformação tem que serimplementada duas vezes, uma para cada camada. A separação do processamento em duascamadas implica o uso de diferentes frameworks distribuídos, tais como Hadoop e Storm,que possuem suas especificidades de codificação. Tendo experimentado a complexidade dosincronismo da lógica implementada em sistemas diferentes, Kreps (2014) recomenda aadoção de um ou de outro processamento: em lote caso não haja sensibilidade à latência,ou em tempo real, caso a baixa latência seja um requisito imprescindível.

Na arquitetura Lambda, a camada batch é responsável por processar todo o con-junto de dados para gerar as visões batch enquanto que à camada speed cabe a respon-sabilidade de processar os novos dados que chegam ao sistema gerando a partir destes asvisões speed. As pesquisas são feitas numa composição das visões batch e speed. Tão logo odado é processado na camada batch o resultado é armazenado nas visões batch e retiradodas visões speed.

Vanhove et al. (2016) identificam alguns pontos críticos nesta arquitetura: comoo resultado final é uma composição de resultados de visões batch e speed, a sincronizaçãoentre estas duas visões torna-se um fator chave para que se evitem resultados redundantesou ausentes; o armazenamento dos resultados das camadas batch e speed em repositóriosdiferentes deixa o sistema em um estado conhecido como persistência poliglota1, exigindoa agregação dos resultados das views para atendimento das consultas. Como soluçãopara os problemas de sincronização e agregação, Vanhove et al. (2016) propõem que osdados que chegam à camada speed sejam identificados com uma etiqueta (tag), chamadade Tn. O processamento desta camada gera como resultado (visão speed)Tn. Quando oprocessamento da camada batch é concluído, os dados resultantes são movidos para avisão batch e o sistema muda para uma nova etiqueta, Tn+1, para todos os novos dados.Os dados de (visão speed)Tn-1 são então apagados.

3.4 A arquitetura KappaComo alternativa à complexidade do gerenciamento de código nas duas camadas,

batch e speed, Jay Kreps apresentou em 2013 sua proposta de que todo o processamento1 Persistência poliglota é o termo utilizado para descrever o uso de diferentes tecnologias de armazena-

mento para diferentes tipos de dados.(HAUNSEBLAS, 2016)

Page 51: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 50

seja responsabilidade de uma camada paralelizada de processamento em fluxo (KREPS,2013). A esta proposta o autor posteriormente atribuiu o nome de arquitetura Kappa(KREPS, 2014). Essa camada paralelizada de processamento em fluxo permitiria tambémo reprocessamento de dados, quando uma mudança de código o exigisse. A noção intuitivade que processamento em fluxo é restrita para conjuntos efêmeros de dados não se sustentanos modelos de processamento paralelizado atuais. O processamento stream proposto porKreps (2014) é uma generalização de um modelo de fluxo de dados que expõe ao usuáriofinal um ponto de verificação e uma saída contínua.

O princípio de reprocessamento de dados em fluxo é viabilizado por uma arquite-tura (Figura 7) que: a) retém totalmente os logs dos dados que devam ser reprocessadose que permite múltiplos assinantes; b) diante da necessidade de reprocessamento, iniciauma segunda instância do processo stream que executa o processamento do começo dosdados retidos mas que direciona os dados obtidos para um outro repositório; c) direciona aaplicação para a leitura nesse outro repositório quando o segundo processamento stream éiniciado; d) pára o primeiro processo e apaga os dados de saída gerados por este processo.

Figura 7 – Arquitetura Kappa. Adaptado de Kreps (2014)

3.4.1 Sobre logs e tópicos

Um log é uma estrutura de armazenamento sequencial semelhante à estrutura dedados ‘fila’, mas sem tamanho fixo e com remoção de registros controlada pela definição dotempo de retenção de dados estabelecido para aquela coleção de logs, chamada de tópico.No log, cada registro recebe um identificador único sequencial crescente, conferindo ao loga noção de tempo. Um registro é mais antigo que o registro que está à sua direita (Figura8).

O registro de log é produzido por uma origem de dados e gravado no tópico naordem de chegada, preservando a sequência histórica. O conteúdo do log pode ser umevento (acontecimento qualquer produzido por uma aplicação ou por um hardware) oudados de sistemas especialistas. Um nó publicador pode ser uma aplicação web que re-gistra visualizações de um produto ou pode ser um ERP que registra quais alterações de

Page 52: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 3. Arquiteturas para Big Data 51

Figura 8 – Sequência de entrada de registros de log. Adaptado de Kreps (2013)

dados cadastrais foram efetuadas em um item. Como os registros de log são carregados se-quencialmente para serem posteriormente consumidos, o tópico funciona como um bufferque torna a produção e o consumo dos dados eventos assíncronos (KREPS, 2013).

3.4.2 Questionamentos à Arquitetura Kappa

Vanhove et al. (2016) vêem na eliminação da camada batch proposta pela arqui-tetura Kappa uma perda de poder de obtenção de informações em um grande conjuntode dados. Ao analisar mensagem por mensagem perde-se a visão do todo que o conjuntode dados poderia oferecer ao ser processado em lote. Esse tipo de visão pode ser essencialpara aplicações onde a interpretação de um conteúdo é dependente de contexto.

Page 53: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

52

4 Metodologia, Projeto e Implementação

4.1 MetodologiaA presente pesquisa caracteriza-se como exploratória quanto ao seu objetivo e apli-

cada quanto à sua natureza, pois se propôs a estudar ferramentas, requisitos e arquiteturasde processamento Big Data e combinou-os em uma aplicação que processe e analise dadoseducacionais.

Quanto ao procedimento, a pesquisa caracteriza-se como bibliográfica, uma vez queo referencial teórico conduziu ao entendimento do assunto e à definição dos procedimentosmetodológicos.

O método científico adotado na pesquisa foi o dedutivo pois tomou como base osconhecimentos científico e técnico já formalizados para a elaboração da problemática.

A pesquisa contém elementos quantitativos, por se preocupar em mensurar relaçõesentre atividades do Moodle e notas de alunos.

A pesquisa bibliográfica identificou oportunidades de pesquisa nas áreas de Minera-ção de Dados Educacionais (MDE) e Learning Analytics (LA), visando a ações aplicadas.Romero e Ventura (2010) registram que aplicações de MDE têm sido desenvolvidas combase em diversas técnicas e tarefas de MD, incluindo a análise e a visualização de dados.

Modelos analíticos utilizando métodos de Classificação e Regressão têm sido uti-lizados em contextos educacionais em bases Big Data (BAKER; YACEF, 2009) sem, noentanto, que uma arquitetura para processamento de dados em lote e em tempo real sejaapresentada para o contexto educacional.

O método de pesquisa proposto estrutura-se em nas seguintes etapas:

1. Análise de requisitos e de arquituras – Esta etapa concerne à identificação de requisi-tos para arquiteturas Big Data e a identificação de arquiteturas para processamentoem lote e em tempo real.

2. Definição da arquitetura e das ferramentas – Nesta fase a escolha por uma arqui-tetura para processamento Big Data é justificada; são analisadas e justificadas asopções de ferramentas de softwares que atendem aos requisitos de cada componenteda arquitetura escolhida.

3. Implementação da aplicação – Esta fase da metodologia visa à implementação daarquitetura e às ferramentas selecionadas a uma aplicação Big Data com dados docontexto educacional.

Page 54: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 53

4.2 Projeto: decidindo entre Lambda e KappaA construção de uma aplicação para processamento Big Data passa necessaria-

mente pela definição da arquitetura. Uma escolha equivocada pode trazer consequênciassérias para a implementação do projeto de análise de dados (CHEN; ZHANG, 2014; FOR-GEAT, 2015).

Forgeat (2015) defende que a escolha entre as arquiteturas Lambda e Kappa édependente de algumas características da aplicação sendo implementada, a saber:

∙ se os algoritmos aplicados ao processamento em lote e em tempo real forem osmesmos, torna-se benéfica a existência de um único local onde o código fonte éarmazenado, favorecendo o uso da arquitetura Kappa;

∙ em caso de os algoritmos serem diferentes, se o algoritmo de processamento em lotepuder ser otimizado para se beneficiar do acesso ao conjunto completo de dados, aescolha entre Lambda e Kappa torna-se uma escolha entre o ganho do processamentoem lote sobre a complexidade do código fonte;

∙ se as saídas dos processamentos em lote e em tempo real forem diferentes e nãopuderem ser fundidas, a arquitetura Lambda deve ser usada.

Por ser o primeiro padrão arquitetônico para processamento em lote e em temporeal proposto na literatura (MICROSOFT, 2015) a arquitetura Lambda foi logo referen-ciada em produções acadêmicas (FAN; BIFET, 2013; CHEN; ZHANG, 2014; KIRAN etal., 2015; NAIR et al., 2015; DÍAZ; MARTÍN; RUBIO, 2015), incluindo aquelas que sepropuseram a solucionar seu principal problema: a sincronização de códigos fonte entre ascamadas de processamento em lote e em tempo real (VANHOVE et al., 2016), em aplica-ções (KATKAR, 2015; CAPUA; NARDO; PETROSINO, 2015; KIM; MADHVANATH;SUN, 2015; NIERBECK, 2016) e em plataformas tais como Deploop (ROMAN, 2014b),Buildoop (ROMAN, 2014a) e frameworks como Lambdoop (HAUSENBLAS, 2013). Im-plementações da arquitetura Lambda em nuvem foram disponibilizadas por provedorestais como Amazon1, Google2(NOVET, 2016) e Microsoft3(MICROSOFT, 2015).

A literatura pesquisada também identificou referências à arquitetura Kappa emproduções acadêmicas, especialmente quando a principal demanda de processamento é emtempo real (CÁRDENAS-BENÍTEZ et al., 2016; STOLPE, 2016), incluindo implementa-ções em nuvem (PERERA; PERERA; HAKIMZADEH, 2016; VERAL, 2016; MOYER,2016).1 https://aws.amazon.com/lambda2 https://cloud.google.com/functions3 https://azure.microsoft.com/en-us/services/functions

Page 55: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 54

Embora não tenham sido identificadas na literatura implementações das arqui-teturas Lambda ou Kappa para análise de dados educacionais, a opção pela utilizaçãoda arquitetura Lambda considerou a existência de maior suporte da literatura para estaarquitetura e, ainda, a possibilidade de implementação dos processamentos em lote e emfluxo contínuo separadamente, adequando-se aos dados utilizados no presente trabalho.

4.3 Descrição do projeto para implementação da arquiteturaA decisão pela arquitetura Lambda conduziu a pesquisa à necessidade de validação

do seu poder analítico de dados em lote e em fluxo contínuo. Para tal validação buscaram-se origens de dados do contexto educacional que proporcionassem dados em lote e outrasque produzissem dados em fluxo.

Os conjuntos de dados selecionados são provenientes de dois sistemas do contextoeducacional de uma Instituição de Ensino Superior (IES) de caráter privado: um sistemade gestão acadêmica e um ambiente virtual de aprendizagem. Foram coletados logs de inte-rações de alunos com o AVA Moodle e dados de resultados finais de alunos nas disciplinascursadas em cursos presenciais de uma Unidade Acadêmica dessa IES.

Os logs gerados AVA Moodle registram sequencialmente as atividades realizadaspelos usuários desta aplicação (MOODLE, 2016c; IGLESIAS-PRADAS; AZCÁRATE;AGUDO-PEREGRINA, 2015; CASEY; GIBSON, 2010), sendo que sua extração pode sercontínua ou em lote. Para a presente pesquisa a extração dos logs do Moodle da Insti-tutição de Ensino foi limitada a dados históricos. Assim, os dados utilizados na presentepesquisa são característicos de um processamento em lote, embora seja possível o proces-samento de outras origens de dados em fluxo contínuo para processamento em tempo realou em tempo quase real.

4.3.1 Conjunto de dados do repositório acadêmico

O sistema de gestão acadêmica da IES analisada é um sistema proprietário cujodesenvolvimento iniciou-se na década de 1990 em linguagem Natural e base de dadosAdabas. Sua finalidade é fazer a gestão da vida acadêmica do aluno da IES, desde o vesti-bular até sua formatura, incluindo a gestão de alunos, gestão de cursos, gestão do espaçofísico, emissão de relatórios, gestão de recebimentos, gestão de bolsas, gestão de cobrançae acordos financeiros. Entre os dados armazenados neste sistema estão os desempenhosfinais do aluno, representados pelo modelo de dados da Tabela 7.

Para os estudos foram coletados cerca de 91.000 registros de notas de alunos daUnidade Acadêmica da IES, representando notas de alunos desta unidade no período entreo primeiro semestre de 2010 (20101) e o primeiro semestre de 2016 (20161). A Unidade

Page 56: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 55

Tabela 7 – Estrutura do conjunto de dados acadêmicos.

ATRIBUTO DESCRIÇÃO TIPOunidade_codigo Código da Unidade Acadêmica à qual o aluno está vinculado. Textoescola_codigo Código da escola à qual está vinculado o aluno. Textoescola_nome Nome da escola à qual está vinculado o aluno. Textocurso_codigo Código do curso ao qual o aluno está vinculado. Textocurso_nome Nome do curso ao qual o aluno está vinculado. Textodisciplina_codigo Código da disciplina cursada pelo aluno. Textoano_semestre Ano 𝐴𝐴𝐴𝐴 e semestre 𝑆 em que o aluno cursou a disclina. For-

mato AAAAS.Número

disciplina_nome Nome da disciplina cursada pelo aluno. Textoaluno_matricula Matrícula do aluno. Textoaluno_nome Nome do aluno. Textonota Nota do aluno na disciplina cursada. Se a nota for maior que 10

indica que não foi atribuída nota.Número

Acadêmica escolhida corresponde aos atributos ESCOLA_CODIGO e ESCOLA_NOMEdo conjunto de dados acadêmicos.

4.3.2 Conjunto de dados de logs do Moodle

A utilização de AVA baseados em web pelas Universidades remonta da décadade 1990 (WATSON; WATSON, 2007), registrando a literatura que o desenvolvimentodo Moodle e o início de sua utilização pelas Instituições de Ensino data de 2002 (MO-ODLE, 2016b). A adoção embrionária do Moodle pela IES analisada ocorreu em 2004,inicialmente como apoio em atividades de aprendizagem em Laboratórios, sendo comple-tamente adotado em 2008 (informação verbal)4.

No Moodle, uma atividade pode ser definida como a interação do aluno com outrosalunos ou com professores, sendo catorze os tipos de atividades disponíveis na versão 3.0deste AVA, as quais estão descritas na Tabela 8. Destas, chat, forum, glossary, wiki eworkshop são as atividades que permitem aos alunos um maior grau de interatividade(ROMERO; VENTURA; GARCÍA, 2008).

A utilização de um AVA gera uma grande quantidade de dados que podem seranalisados por aqueles interessados na melhoria do processo de aprendizagem, no apri-moramento de técnicas e algoritmos de mineração de dados para se obter conhecimentodo fenômeno da aprendizagem (ROMERO; VENTURA; GARCÍA, 2008), ou ainda peloprisma da Tecnologia da Informação, fornecendo dados sobre o uso e o funcionamento doAVA.

Nos processamentos da presente pesquisa, apresentados a seguir, foram utiliza-dos outros dois conjuntos de dados contendo os registros de atividades (logs) do Mo-4 Informação obtida do Gerente de Tecnologia da Informação da Instituição de Ensino, presente no

período de implantação do Moodle.

Page 57: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 56

Tabela 8 – Atividades definidas no Moodle, na versão 3.0 (MOODLE, 2016a).

ATIVIDADE DESCRIÇÃOAssignment Espaço para submissão de atividades sujeitas a avaliação pelo professor.Chat Discussões síncronas em tempo real que oportunizam a apresentação de pontos-

de-vista diversos sobre um assunto.Choice Questionamentos com opções de resposta visando estimular o pensamento sobre

um tópico.Database Permite a construção de um conjunto de registros multimídia sobre determinado

tópico.Feedback Permite a criação de questionários para obter retorno sobre um curso ou professor.Forum Permite a professores e alunos exporem suas ideias como parte de um thread de

discussão.Glossary Lista de definições cujo preenchimento pode ser colaborativo ou por parte do

professor.Lesson Páginas de conteúdo.External tool Recurso educacional provido por site externo.Quiz Permite a criação de um questionário a partir de um banco de questões.SCORM Permite a adição de recursos educacionais no padrão SCORM.Survey Permite a criação de pesquisas, que podem ser úteis para a auto avaliação do

professor e para se conhecer os alunos.Wiki Conteúdo documental construído de modo colaborativo.Workshop Permite a submissão de trabalhos e a avalição dos trabalhos dos pares.

odle da Unidade Acadêmica analisada. Os dados correspondem às tabelas mdl_log emdl_logstore_standard_log. A primeira era a tabela de logs até a versão 2.6 do Mo-odle, estando presente nas versões posteriores apenas para compatibilidade. A tabelamdl_logstore_standard_log substituiu a tabela mdl_log como o repositório de logs a par-tir da versão 2.7 do Moodle (MONIZ, 2015). Suas estruturas estão descritas nas Tabelas9 e 10.

Tabela 9 – Estrutura da tabela Moodle mdl_log.

ATRIBUTO DESCRIÇÃO TIPOid Sequencial do log. Númerotime Data e hora da ação no formato Unixtime. Númerouserid Usuário que executou a ação. Númeroip Endereço IP do usuário. Textocourse Curso do contexto do usuário que executou a ação. Númeromodule Módulo do contexto do usuário que executou a ação. Textocmid course module id. Identifica um recurso ou atividade. Utilizado também

para identificar o contexto.Número

action Ação executada pelo usuário. Textourl URL acessada pelo usuário. Textoinfo Dados adicionais. Texto

Os conjuntos de dados assim se relacionam: [dados acadêmicos].aluno_matricula(91.116 registros) relaciona-se com mdl_log.userid (61.943.817 registros) e com mdl_log-store_standard_log.userid (172.894.325 registros).

Page 58: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 57

Tabela 10 – Estrutura da tabela Moodle mdl_logstore_standard_log.

ATRIBUTO DESCRIÇÃO TIPOid Sequencial do log. Númeroeventname Evento gerador do log, no formato \component\’event’\target_action. Textocomponent Componente do evento. Compõe o atributo eventname. Textoaction Ação executada pelo usuário. Compõe o atributo eventname. Textotarget Objeto da ação do usuário. Compõe o atributo eventname. Textoobjecttable Nome da tabela, sem o prefixo (mdl_), relacionada à ação. Pode ser

nulo.Texto

objectid Identificador do registro da tabela indicada pelo atributo objecttable. Númerocrud Tipo da ação executada. (C)reate, (R)ead, (U)pdate ou (D)elete. Textoedulevel Indica se a ação é relacionada a um curso ou não. Bináriocontextid Identificador do contexto em que a ação ocorre. Junção com a tabela

mdl_context.Número

contextlevel Nível do contexto em que a ação ocorre. Contexto é um espaço doMoodle, cujas possibilidades são: 10 - o sistema todo; 30 - um usuário;40 - uma categoria de curso; 50 - um curso; 70 - uma módulo deatividade; 80 - um bloco. (MOODLE, 2016d).

Número

contextinstanceid Identificador da instância do contexto indicado em contextlevel.Relaciona-se ao atributo mdl_context.instanceid.

Número

userid Usuário que executou a ação. Númerocourseid Indicador do curso ao qual a ação está relacionada. Recebe “0” se

não se tratar de ação relacioanada a curso.Número

relateduserid Usuário relacionado ao evento. Númeroanonymous Indica se a ação foi efetuada na condição de anonimato. Binárioother Dados complementares. Recebe “N;” caso não haja dados comple-

mentares.Texto

timecreated Data e hora da ação no formato Unixtime. Númeroorigin Origem da ação. Textoip Endereço IP do usuário ao executar a ação. Textorealuserid Usuário que execução a ação em nome do usuário indicado em userid.

Nulo se o próprio usuário executar a ação.Número

4.4 Descrição de uma proposta de processamento com a integraçãode dadosO contexto educacional, a partir do qual os conjuntos de dados utilizados na pre-

sente pesquisa foram retirados, oferece outras origens de dados que, integradas, permitemo desenvolvimento de aplicações nos campos de MDE e LA, tais como as identificadas porRomero e Ventura (2007), Baker e Yacef (2009), Romero e Ventura (2010), Baker, Isotanie Carvalho (2011). A utilização da arquitetura Lambda, por sua vez, contribui para quea integração destas origens de dados ocorra por meio de processamentos em lote e emtempo real, permitindo visualizações dos dados integrados.

Uma proposta de processamento das origens de dados utilizadas neste trabalho édescrita pelas seguintes fases:

1. identificação dos recursos utilizados pelos alunos com base nos logs do Moodle;

Page 59: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 58

2. cálculo da média de todas as notas de cada aluno;

3. sumarização da utilização de recursos por semestre;

4. cálculo do coeficiente de correlação de Pearson entre as variáveis utilização de re-cursos e a média do aluno, por recurso e por semestre.

O coeficiente de correlação de Pearson, r, também chamado de coeficiente de corre-lação do produto de momentos, mede a intensidade da dependência linear entre variáveisde uma amostra, resultando em um valor dentro do intervalo +1 e -1, inclusive, sendoque o valor 1 indica uma correlação total positiva, 0 indica a ausência de correlação e -1indica uma correlação total negativa (TRIOLA, 2008).

Para um conjunto de dados �⃗� = {𝑥1, ..., 𝑥𝑛}, contendo 𝑛 valores, e para um ou-tro conjunto de dados �⃗� = {𝑦1, ..., 𝑦𝑛}, contendo 𝑛 valores, o cálculo do coeficiente decorrelação de Pearson, 𝑟, é dado por:

𝑟 =∑︀𝑛

𝑖=1(𝑥𝑖 − 𝑥)(𝑦𝑖 − 𝑦)√︁∑︀𝑛𝑖=1(𝑥𝑖 − 𝑥)2

√︁∑︀𝑛𝑖=1(𝑦𝑖 − 𝑦)2

(4.1)

Embora o estudo de correlação não corresponda às técnicas de MDE e LA a apli-cação proposta na presente pesquisa suporta a implementação das técnicas de MDE eLA.

4.5 Implementação da aplicação de processamento de dadosPara a implementação da aplicação optou-se pela adoção de serviços em nuvem

com suporte à implementação da arquitetura Lambda, devido à simplicidade desses ser-viços para alocação de recursos computacionais e disponibilização de softwares .

Dentre os serviços de computação em nuvem disponíveis no mercado que dãosuporte à arquitetura Lambda, destacam-se Amazon Web Services (AWS) e MicrosoftAzure. Ambas possuem referências na literatura que comparam seus recursos (KIRAN etal., 2015; AZURE, 2016d). A Tabela 11 apresenta uma comparação dos serviços MicrosoftAzure e Amazon Web Service em categorias de recursos, presentes na arquitetura Lambda.

Para os fins a que se propõe o presente trabalho a decisão de serviço em nuvemocorreu a favor da opção Microsoft Azure, especialmente pela disponibilidade de materialde referência para a implantação.

4.5.1 Descrição da aplicação de processamento de dados

A aplicação proposta neste trabalho deve favorecer o objetivo de processar dadosde múltiplas origens em lote e em tempo real, tais como dados logs do Moodle e de-

Page 60: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 59

Tabela 11 – Comparação de categorias de recursos envolvidos na arquitetura Lambda disponíveis nosserviços Microsoft Azure e Amazon Web Services (AZURE, 2016d).

CATEGORIA DESCRIÇÃO AWS AZURELógica de ca-mada de acessoa dados

Usada para integrar sistemas e executar processosde camada de acesso a dados em resposta a eventosou agendamentos sem provisionamento ou gerencia-mento de servidores.

Lambda FunçõesWeb JobsLogic Apps

Armazenamentode objetos

Serviço de armazenamento de objetos para casos deuso tais como aplicações em nuvem, distribuição deconteúdo, backup, arquivamento, recuperação de de-sastres e análise em Big Data.

S3 Blob Storage

Banco de dadosrelacional

Banco de dados relacional no modelo DBaaS onde aresiliência, a escalabilidade e a manutenção são pri-mariamente manipuladas pela plataforma.

RDS SQL Data-base

Bancos de dadosNoSQL

Serviço de banco de dados documental NoSQL queindexa dados JSON automaticamente para aplica-ções que requerem pesquisas ricas e transações multi-documentos.

DynamoDB DocumentDB

Data Warehouse Serviço de Data Warehouse que analisa dados usandoferramentas de inteligência de negócios. Executa con-sultas SQL em bases relacionais e não-relacionais.

Redshift SQL DataWarehouse

Armazenamentoem tabelas

Armazenamento não-relacional para dados semies-truturados. Inserção e pesquisa de dados por webservices.

DynamoDBSimpleDB

Table Sto-rage

Armazenamentoem cache

Serviço de armazenamento em cache em memóriae distribuído que oferece armazenamento de altodesempenho para tarefas não transacionais de umbanco de dados.

ElastiCache Azure RedisCache

ProcessamentoBig Data

Suporta tecnologias que quebram processamentose múltiplas tarefas e as combinam posteriormente,para processamento massivo paralelizado.

Elastic Ma-pReduce

HDInsight

Orquestração dedados

Processamento e movimentação de dados entre servi-ços de computação e armazemamento, de origens dedados na nuvem ou em origens de dados locais, comacompanhamento e gerenciamento total do processo.

Data Pipe-line

Data Fac-tory

Análise Plataformas de armazenamento e análise que produzinsights para grandes quantidades de dados, ou dadosque se originam de diversas origens.

KinesisAnalytics

StreamAnalyticsData LakeAnalyticsData LakeStore

Visualização Ferramentas de inteligência de negócio que cons-troem visualizações, executam análises ad hoc, e de-senvolvem insights de negócios a partir dos dados.

QuickSight Power BI

Aprendizagemde máquina

Produz um fluxo de ponta a ponta para criar, proces-sar, refinar e publicar modelos preditivos que podemser usados para entender o que pode acontecer a par-tir de conjuntos de dados complexos.

Machine Le-arning

Machine Le-arning

Fluxos de dados Serviços que permitem a ingestão em massa de pe-quenas entradas de dados, tipicamente de dispositi-vos e sensores, para processamento e roteamento dedados.

KinesisFirehoseKinesisStreams

Event Hubs

Internet das coi-sas

Permite a interação entre dispositivos conectados eaplicações na nuvem e outros dispositivos para cap-tura e análise de dados em tempo real.

IoT IoT Hub

Page 61: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 60

sempenho acadêmico de alunos. O modelo de aplicação proposto (Figura 9) prevê que oprocessamento em lote seja a forma de se obter os resultados das fases descritas no métodode análise. A principal razão pela escolha de se fazer processamento em lote deve-se aofato das origens de dados consideradas no processamento que ilustra o uso da arquiteturaLambda possuírem características temporais.

Figura 9 – Modelo da aplicação Big Data para dados educacionais na arquitetura Lambda. Fonte: Autor.

Neste ponto torna-se importante enfatizar a utilidade da arquitetura Lambda comomeio para a integração de múltiplas origens de dados, permitindo visões de dados proces-sados em lote ou em fluxo contínuo. A ilustração de aplicação escolhida para a presentepesquisa buscou dados do contexto acadêmico para um processamento em lote, o que nãoelimina a possibilidade da inclusão de novas origens de dados ou mesmo da aplicação daarquitetura em outros contextos.

No modelo de aplicação proposto, as origens de dados correspondem aos conjuntosde dados mencionados no início do capítulo: [dados acadêmicos], mdl_log e mdl_logstore-_standard_log. Além destas origens de dados, foram utilizadas outras três que corres-pondem às tabelas mdl_user, mdl_modules e mdl_course_module, necessárias para aidentificação dos módulos do Moodle utilizados e para o relacionamento entre usuáriosdo Moodle e usuários do sistema acadêmico. Outras origens de dados poderiam ser adi-cionadas, oportunizando novas análises. Os conjuntos de dados são carregados para umrepositório HDFS, Hadoop Distributed File System, na camada batch, sendo então lidose processados. Os processos p1, p2 e p3 da Figura 9 correspondem às fases 1, 2 e 3 dométodo de análise,a saber:

∙ p1 - identificação dos recursos utilizados pelos alunos com base nos logs do Moodle;

∙ p2 - cálculo da média de todas as notas de cada aluno;

∙ p3 - sumarização da utilização de recursos por semestre.

Page 62: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 61

Os resultados dos processos p1, p2 e p3 são armazenados no repositório distri-buído HDFS para serem disponilizados para a visão batch e posterior entrega de dados àsconsultas, como descrito por Marz e Warren (2015):

visão batch = função(todos os dados)

pesquisa = função(visão batch)

A fase 4 do método de análise corresponde à visão batch, que neste exemplo consisteno cálculo do coeficiente de correlação de Pearson entre as variáveis utilização de recursose a média do aluno, por recurso e por semestre.

4.5.2 Projeto da arquitetura Lambda no serviço Microsoft Azure

A decisão de escolha das ferramentas para a implementação da arquitetura Lambdano serviço em nuvem Microsoft Azure (Figura 10) baseou-se na literatura (MICROSOFT,2015; GARDNER, 2016). Para a implementação da aplicação optou-se pela criação deuma conta de avaliação do serviço que concede ao novo usuário um crédito em Reais paraavaliação. A utilização de recursos de armazenamento e processamento, que é tarifada deformas diferentes, vai consumindo o crédito.

No modelo proposto (Figura 10) os conjuntos de dados [dados acadêmicos], mdl_loge mdl_logstore_standard_log foram carregados para o repositório distribuído Azure BlobStorage (AZURE, 2016a). Para os processos p1, p2 e p3 utilizou-se a solução AzureHDInsight (AZURE, 2016b). Os resultados foram armazenados novamente em repositó-rios Azure Blob Storage. Para a implementação da visão batch adotou-se a ferramentaMicrosoft Power BI (MICROSOFT, 2016b).

Figura 10 – Implementação da aplicação Big Data para dados educacionais na arquitetura Lambda naplataforma de serviços Microsoft Lambda. Fonte: Autor.

Para o armazenamento dos conjuntos de dados criou-se uma conta de armazena-mento no datacenter “Leste dos EUA 2”, na modalidade de replicação LRS5. Dentro daconta de armazenamento podem ser criados serviços de armazenamento para tipos não5 LRS, Locally Redundant Storage, replica os dados na mesma região em que a conta de armazenamento

foi criada (MYERS, 2016).

Page 63: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 62

estruturados de dados (Blob), para bases de dados NoSQL (Tabela), para Arquivos oupara mensagens (Fila). Foram criados contêiners Blob, cujo armazenamento é feito emHDFS (AZURE, 2016a) (Figura 11).

Figura 11 – Reprodução da tela de gerenciamento da conta de armazenamento no Microsoft Azure. Fonte:Autor.

Os arquivos dos conjuntos de dados foram disponibilizados em formato CSV, paraos casos de arquivos menores que 1 GB, ou compactados, para os casos de arquivos maioresque 1 GB. Para a carga dos arquivos utilizou-se a ferramenta Open Source Azure StorageExplorer. Os arquivos compactados foram descompactados a partir de uma das máquinasdo cluster Hadoop e devolvidos novamente para o contêiner Blob padrão utilizado pelocluster HDInsight, dentro de diretórios separados, um para cada arquivo. A separaçãoem pastas permite a criação de tabelas Hive apontando para os arquivos. Os tamanhosdescompactados dos conjuntos de dados foram [dados acadêmicos] (13,57 MB), mdl_log(6,32 GB) e mdl_logstore_standard_log (32,88 GB).

Para a implementação dos processos p1, p2 e p3 optou-se pela utilização do soft-ware Apache Hive, por permitir a manipulação de arquivos em sistemas distribuídosusando linguagem SQL (APACHE, 2016c). A solução de implementação do Apache Hiveutilizada foi a Azure HDInsight (AZURE, 2016b).

A criação do cluster HDInsight requer a definição da quantidade de nós do cluster,o sistema operacional dos nós, a versão do aplicativo adotado, a criação das credenciais deacesso, a definição da conta de armazenamento relacionada ao cluster, o nome do contênierBlob padrão associado ao cluster, a quantidade e a configuração dos nós do cluster e ogrupo de recursos ao qual o cluster está vinculado (Figura 12). A disponibilização do

Page 64: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 63

cluster HDInsight levou cerca de 20 minutos e a tarifação é feita por hora de processamentodos nós (AZURE, 2016c).

Para o processamento foram alocados 4 servidores D3 v2, com quatro núcleoscada, 14 GB de memória RAM e discos SSD locais de 200 GB, a um custo de US$ 0,622por servidor e por hora de processamento (AZURE, 2016c). Dois dos servidores foramalocados para serem os servidores head e outros dois, para serem servidores worker.

Figura 12 – Reprodução da tela de configuração do cluster HDInsight no Microsoft Azure. Fonte: Autor.

Para a visualização dos dados a solução oferecida pelo serviço Microsoft Azureé o Power BI Embedded, que consiste na hospedagem de relatórios previamente desen-volvidos para visualização em aplicações web. Os relatórios são desenvolvidos localmenteutilizando-se a ferramenta Power BI Desktop, acessando os dados reais ou apenas a es-trutura destes dados.

O primeiro passo para a construção dos relatórios utilizando o Power BI Desktopfoi a criação de uma conexão ODBC para o serviço Azure HDInsight, onde os dados estão(Figura 13).

Criada a e testada a conexão ODBC, utilizou-se a ferramenta Microsoft PowerBI Desktop para o desenvolvimento dos relatórios, escolhendo-se como origem de dadosa conexão ODBC e selecionando-se as tabelas Hive contendo as sumarizações dos dados(Figura 14).

4.6 Apresentação dos resultados e discussõesComo resultados dos processamentos individuais p1, p2 e p3 foram obtidos os

dados armazenados no repositório da camada serving da aplicação e utilizados para os

Page 65: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 64

Figura 13 – Conexão ODBC para a base de dados Azure HDInsight. Fonte: Autor.

Figura 14 – Tela de escolha das tabelas Hive, no Microsoft Power BI Desktop. Fonte: Autor.

Page 66: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 65

cálculos executados no processamento p4. A consulta Hive SQL utilizada para obtenção doresultado do processamento p4 está disponível no Anexo A, sendo que cada subconsultaé responsável por um componente da fórmula de cálculo do coeficiente de correlação dePearson (Fórmula 4.1).

A Tabela 12 apresenta os valores para o coeficiente de correlação de Pearson obtidoscomo resultado do processamento p4, além de mostrar a quantidade de pares de dados daamostra (n). Não foram eliminados os outliers e não foram filtrados recursos que de fatodefinem uma interação do aluno com outro aluno ou com o professor (Tabela 8).

Tabela 12 – Valores do coeficiente de correlação de Pearson e quantidade de pares de dados amostraisobtidos no processamento p4, sem retirada de outliers e considerando todas as atividades.

RECURSO VALOR DO COEFICIENTE DE CORRELA-ÇÃO DE PEARSON (r)

PARES DEDADOS (n)

assign -0.2846114692336784 5assignment 0.024284221957311298 2blog -0.09002175113180144 5book 0.06074945278510168 5calendar 0.18923659109960173 5chat 0.11080288580437854 5choice -0.17794240654645277 5course -0.3054237794797056 6createpage Não calculado 1data 0.02564213173668306 4discussion Não calculado 1folder 0.0158159488641876 5forum 0.1592181954873234 8game Não calculado 1glossary -0.051221327050186616 3journal Não calculado 1label -0.2172140929932334 7lesson 0.11496678100514315 3library Não calculado 1lightboxgallery 0.16878625778043552 5login 0.12088380732063975 5message -0.08414183709227464 5page -0.0723695154796706 5questionnaire -0.05886258868523004 5quiz -0.11190849863109625 6resource -0.2689760601783051 6role Não calculado 1scheduler Não calculado 1scorm 0.06786455258636098 5survey -0.09454710571883998 3url -0.3340703752187283 6user -0.19939314435205702 6wiki -0.08730918315433299 5workshop Não calculado 2

Os dados obtidos dos processamentos anteriores foram então submetidos a umprocesso manual de retirada de outliers e eliminação dos itens que não fossem atividades

Page 67: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 66

do Moodle, como as apresentadas na Tabela 8. O novo conjunto de dados foi submetidoa processamento em software de planilha eletrônica para cálculo dos novos valores docoeficiente de correlação de Pearson (r) e enviado ao software de visualização de dadosMicrosoft Power BI. Os resultados numéricos obtidos são apresentados na Tabela 13.

Tabela 13 – Novos valores do coeficiente de correlação de Pearson e quantidade de pares de dados amostraisobtidos no processamento p4 para as atividades do Moodle, desconsiderados os outliers.

ATIVIDADE VALOR DO COEFICIENTE DE CORRELA-ÇÃO DE PEARSON (r)

PARES DEDADOS (n)

chat 0,508513153 5choice -0,846441826 5forum 0,890488203 9glossary -0,944699675 3lesson 0,767615409 3quiz 0,747378821 5scorm 0,327057382 5survey -0,563276344 5wiki -0,419185519 5workshop Não calculado 2

A Figura 15 apresenta o resultado visual da relação entre os dados de médiasdos alunos e a quantidade de fóruns do Moodle, para os mesmos semestres letivos. Osdemais gráficos dos pares de dados notas médias dos alunos e quantidades de atividadesdo Moodle, separados por atividade, podem ser vistos no Anexo B.

Figura 15 – Pares de dados médias dos alunos e quantidade da atividade forum do Moodle, com n=9.Fonte: Autor.

Em complemento ao cálculo da relação entre médias de alunos e uso de recursosdo Moodle foram efetuados três novos cálculos de correlação de Pearson, utilizando-se

Page 68: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 67

os dados de Mendes e Silva (2016) e os dados de médias de alunos obtidos da presentepesquisa, uma vez que todos estes dados têm origem comum: a mesma Unidade Acadêmicada mesma Instituição de Ensino Superior. Para estes processamentos foram sumarizadasas quantidades de fóruns, as quantidades de discussões em fóruns e as quantidades depostagens em fóruns para os semestres letivos 20142, 20151 e 20152. Não foram utilizadosos dados do semestre letivo 20161 devido à ausência de notas de alunos para este períodono conjunto de dados analisado.

Os resultados dos cálculos de correlação encontrados podem ser vistos Tabela 14e são ilustrados pelas Figuras 16, 17 e 18.

Tabela 14 – Valores do coeficiente de correlação de Pearson (r) para as variáveis nota média e quantidadede fórum, quantidade de discussões e quantidade de postagens.

VARIÁVEL X VARIÁVEL Y COEFICIENTE DECORRELAÇÃO (r)

PARES DEDADOS (n)

Nota média Quantidade de fó-runs

0,685944341 3

Nota média Quantidade de dis-cussões em fóruns

0,167190442 3

Nota média Quantidade de pos-tagens em fóruns

0,454674231 3

Figura 16 – Pares de dados médias dos alunos e quantidade de fóruns do Moodle, por ano e semestre,com n=3. Fonte: Autor.

Page 69: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 68

Figura 17 – Pares de dados médias dos alunos e quantidade de discussões em fóruns do Moodle, por anoe semestre, com n=3. Fonte: Autor.

Figura 18 – Pares de dados médias dos alunos e quantidade de postagens em fóruns do Moodle, por anoe semestre, com n=3. Fonte: Autor.

Page 70: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 69

4.7 Discussões finaisA presente pesquisa considera como resultados significativos não os números ob-

servados nas relações entre notas finais de alunos e o uso das atividades do Moodle, mas oatendimento dos objetivos específicos, materializado na seleção da arquitetura Lambda ena utilização de ferramentas Big Data na aplicação que suportou a obtenção dos resultadosnuméricos.

A pesquisa bibliográfica demonstrou que esforços na escolha de uma arquiteturapadrão para aplicações Big Data se justificam pela diversidade de soluções para este tipode problema (PWG, 2014) e que as propostas das arquiteturas pesquisadas são apresenta-das por pesquisadores ligados a Empresas comerciais e não a Academias (FERNANDEZet al., 2015; KREPS, 2014; MARZ; WARREN, 2015).

Foram identificadas duas principais arquiteturas para problemas Big Data, Lambdae Kappa, ambas propondo-se a atender duas demandas relacionadas a problemas Big Data:processamento em tempo real e em lote. A arquitetura Lambda propõe como abordagema delegação dos processamentos em lote e em tempo real para camadas específicas, com ajunção do resultado final em uma camada de serviço. As críticas principais a esta arqui-tetura motivam-se justamente nesta divisão de responsabilidades, especialmente porquea divisão em camadas, que fazem basicamente a mesma atividade, implica duplicidadede codificação e problemas de sincronismo dos dados na camada de serviço. Estes pro-blemas abriram oportunidade para o surgimento da arquitetura Kappa, que propõe comosolução para processamento em lote e em tempo real um sistema produtor/assinante, se-melhante ao modelo de mensageria, que permite vazão de dados compatível com a que oprocessamento em tempo real exige.

A decisão final pela arquitetura Lambda justificou-se pelo tipo de dado a ser pro-cessado e pela oferta de soluções em nuvem para a implementação da aplicação. Os dadosutilizados na aplicação foram apenas dados históricos, caracterizando um tipo de proces-samento em lote. Tanto a arquitetura quanto a solução em nuvem permitem que dadosgerados em tempo real sejam adicionados ao processamento. A escolha das ferramentaspara cada camada da arquitetura tornou-se quase que uma imposição da solução em nu-vem adotada, Microsoft Azure, que dispõe para cada solução de processamento algumasferramentas previamente definidas (MICROSOFT, 2015).

Os resultados do coeficiente de correlação linear de Pearson (r) obtidos pelo pro-cessamento das consultas Hive SQL não foram suficientes para inferências sobre a relaçãoentre as notas médias dos alunos e a realização de atividades do Moodle, uma vez quenão foram satisfeitos os requisitos para este tipo de análise: embora a amostra de dadosemparelhados seja uma amostra aleatória de dados quantitativos independentes, as con-sultas não trataram os outliers. Além disso foi necessário o exame visual dos diagramas de

Page 71: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 4. Metodologia, Projeto e Implementação 70

dispersão (Anexo B) na visão batch, na camada serving, para a confirmação se os pontosse aproximam de um padrão de reta (TRIOLA, 2008).

Novos cálculos de correlação foram então realizados com o conjunto de dadosacadêmicos, já sumarizado, e com os dados de utilização das atividades fórum, postageme discussão obtidos de Mendes e Silva (2016). Os dados acadêmicos foram consultados apartir da camada serving, correspondendo às consultas da arquitetura Lambda (Figuras6 e 9). Os resultados para o coeficiente de correlação de Pearson (r), já desprezados osoutliers, foram 0,686 (n=3) para as variáveis fórum e média, 0,455 (n=3) para as variáveispostagem e média e 0,167 (n=3) para as variáveis discussões e médias.

Page 72: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

71

5 Conclusões e Trabalhos Futuros

A presente pesquisa propôs-se a analisar arquiteturas para processamento em lotee em fluxo contínuo e a implementar uma das arquiteturas em uma aplicação Big Data.Ferramentas Big Data foram então utilizadas no processamento de dados acadêmicos elogs do AVA Moodle com o objetivo de identificar relações entre a utilização de atividadesdeste AVA e a nota dos alunos em uma Unidade Acadêmica de uma Instituição de Ensinode caráter particular.

A pesquisa na literatura revelou a existência de duas principais áreas do conheci-mento dedicadas à melhoria do processo de aprendizagem ou ao conhecimento do fenô-meno da aprendizagem: Mineração de Dados Educacionais (MDE) e Learning Analytics(LA). À medida que o entendimento dos objetivos e das técnicas utilizadas em MDE eLA aprofundou-se, os objetivos da pesquisa identificaram-se com os da MDE e trouxeramà luz a subordinação da Mineração de Dados (MD) à Descoberta de Conhecimento emBases de Dados (KDD), apontando os processos a serem seguidos para a obtenção doresultados das análises.

Compreendidos os processos a que os dados analisados se submeteriam, tornou-se evidente a identidade da pesquisa com a área do conhecimento chamada Big Data:embora o volume de dados analisado não ultrapasse a casa das dezenas de gigabytes, opotencial da pesquisa aponta para a possibilidade da combinação de outras origens dedados do contexto educacional, estruturadas ou não, de origens diversas e em volumescada vez maiores, podendo ser processadas em lote, em tempo real ou quase real. Apossibilidade da utilização da aplicação para a análise de dados do contexto educacional epara a melhoria do processo de aprendizagem estabelece a interseção da presente pesquisaMineração de Dados Educacionais e com Learning Analytics.

Os passos seguintes conduziram a decisões relacionadas à escolha por ferramentaspara análise em Big Data, mas a pesquisa bibliográfica acabou por revelar uma necessidadeanterior e de maior importância: a decisão pela arquitetura a ser adotada pela aplicação.Neste ponto destacaram-se as arquiteturas Lambda e Kappa, tanto pela quantidade dereferências na literatura quanto pela existência de plataformas em nuvem ofertadas porempresas como Amazon, Microsoft e Google. No entanto, notou-se a carência da literaturapor orientações objetivas quanto à seleção da arquitetura, de ferramentas e de plataformaspara a construção de aplicações Big Data. A natureza do processamento proposto pelapesquisa, em lote, e a disponibilidade de referências à arquitetura Lambda na bibliografiaforam decisivas para a adoção deste modelo de arquitetura. A seleção de ferramentas paraas camadas da arquitetura Lambda seguiu a sugestão da plataforma de implementação

Page 73: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 5. Conclusões e Trabalhos Futuros 72

adotada: Microsoft Azure.

A utilização da plataforma Microsoft Azure trouxe o benefício da simplicidade naalocação de recursos computacionais, ganho este materializado nas diversas tentativas atéque se encontrasse a configuração correta dos nós utilizados pelo cluster Apache Hive eque se estabelecesse a comunicação entre o cluster e o repositório de armazenamento dosdados, blob storage. Os arquivos dos conjuntos de dados acadêmicos e de logs do Moodleprecisaram ser compactados para serem carregados nos repositórios blob, mesmo com oauxílio da ferramenta Azure Storage Explorer, e posteriormente descompactados para uso.A obtenção dos gráficos tornou-se tarefa simples devido à disponibilidade dos manuais edos tutoriais consultados na internet.

As atividades de padronização e sumarização, presentes na etapa de pré - proces-samento da Mineração de Dados (KANTARDZIC, 2011) mostraram-se necessárias paraestabelecer-se relacionamento entre o conjunto de dados de logs, os conjuntos de dados au-xiliares (tabelas de usuários, módulos e cursos) e os dados acadêmicos, e para possibilitaro cálculo das relações das atividades do Moodle com as médias dos alunos.

Finalmente, os resultados numéricos do cálculo de relação entre as atividades doMoodle e a nota média dos alunos da Unidade Acadêmica da Instituição de Ensino reve-laram que não há correlação significativa entre as as médias e as atividades chat, choice,glossary, lesson, quiz, scorm, survey e wiki, considerando uma significância 𝛼=0,05. Acorrelação entre a atividade workshop e as médias não pôde ser calculada devido à in-suficiência de pares de dados (n=2). Quanto à atividade forum, o valor crítico mínimopara identificar-se uma correlação linear siginificativa com 9 pares de dados (n=9), de0,798, para uma significância 𝛼=0,01, foi ultrapassado (r=0,891, com arredondamento).No entanto, o exame visual do diagrama de dispersão (Figura 15) sugere a presença deoutliers, uma vez que os pares de pontos não apresentam o padrão de reta (TRIOLA,2008).

Quanto aos processamentos realizados entre os dados de Mendes e Silva (2016) e asnotas médias de alunos da Unidade Acadêmica da Instituição de Ensino para os semestres20142, 20151 e 20152 nota-se que a queda na utilização das atividades fórum, discussõesem fóruns e postagens em fóruns não é acompanhada por queda proporcial nos valoresdas médias dos alunos.

Entre as contribuições da presente pesquisa identificam-se a pesquisa bibliográ-fica, a apresentação de arquiteturas para processamento em lote e em tempo real, e aaplicação da arquitetura Lambda com ferramentas Big Data para fins de pesquisa na áreaeducacional.

A utilização de dados do contexto educacional produzidos em fluxo visando aoprocessamento em tempo real ou em tempo quase real, apresenta-se como oportunidade

Page 74: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Capítulo 5. Conclusões e Trabalhos Futuros 73

de continuidade da presente pesquisa, bem como a análise dos dados utilizados na presentepesquisa utilizando-se as técnicas de Mineração de Dados Educacionais e de LearningAnalytics. Descobertas significativas poderão ser obtidas na utilização da arquitetura emaplicações das áreas de MDE e LA.

Uma oportunidade futura de pesquisa delineou-se na apresentação das arquiteturaspara processamento Big Data, e tornou-se clara com a compreensão de que nem todo pro-cessamento em fluxo é necessariamente um processamento em tempo real. A arquiteturaLiquid propõe-se a preencher esta lacuna (FERNANDEZ et al., 2015).

Outra oportunidade de pesquisa posterior pode ser a análise comparativa das ar-quiteturas Lambda, Kappa e Liquid e as definições, requisitos, taxonomias, padrões earquiteturas apresentados por Laboratory (2016).

Page 75: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

74

Referências

ACHARJYA, D.; AHMED, K. P. A survey on big data analytics Challenges,open research issues and tools. INTERNATIONAL JOURNAL OF ADVANCEDCOMPUTER SCIENCE AND APPLICATIONS, SCIENCE & INFORMATION SAIORGANIZATION LTD 183-02 HILL SIDE AVE, JAMAICA, NY 11423 USA, v. 7, n. 2,p. 511–518, 2016.

ANAGNOSTOPOULOS, I.; ZEADALLY, S.; EXPOSITO, E. Handling big data:research challenges and future directions. The Journal of Supercomputing, Springer,v. 72, n. 4, p. 1494–1516, 2016.

APACHE. Apache Drill. 2016. Disponível em: <https://drill.apache.org>. Acesso em: 31Maio 2016.

APACHE. Apache Hadoop. 2016. Disponível em: <https://hadoop.apache.org>. Acessoem: 23 Maio 2016.

APACHE. Apache Hive TM. 2016. Disponível em: <https://hive.apache.org>. Acessoem: 07 Novembro 2016.

APACHE. Mahout 0.12.0 Features by Engine. 2016. Disponível em: <https://mahout-.apache.org/users/basics/algorithms.html>. Acesso em: 30 Maio 2016.

AZURE, M. Blob Storage. 2016. Disponível em: <https://azure.microsoft.com/en-us-/services/storage/blobs>. Acesso em: 07 Novembro 2016.

AZURE, M. HDInsight. 2016. Disponível em: <https://azure.microsoft.com/en-us-/services/hdinsight>. Acesso em: 07 Novembro 2016.

AZURE, M. HDInsight Pricing. 2016. Disponível em: <https://azure.microsoft.com/en-us/pricing/details/hdinsight>. Acesso em: 07 Novembro 2016.

AZURE, M. Microsoft Azure and Amazon Web Services. 2016. Disponível em:<https://azure.microsoft.com/en-us/campaigns/azure-vs-aws/mapping>. Acesso em: 05Novembro 2016.

BAKER, R. Big Data and Education: A Massive Online Open Textbook (MOOT). 3. ed.[S.l.]: Teachers College, Columbia University e Columbia Center for New Media Teachingand Learning, 2015. http://www.columbia.edu/~rsb2162/bigdataeducation.html.Acesso em: 01 Junho 2016.

BAKER, R. et al. Data mining for education. International encyclopedia of education,Oxford, UK: Elsevier, v. 7, p. 112–118, 2010.

BAKER, R. S.; YACEF, K. The state of educational data mining in 2009: A review andfuture visions. JEDM-Journal of Educational Data Mining, v. 1, n. 1, p. 3–17, 2009.

BAKER, R. S. J. de; ISOTANI, S.; CARVALHO, A. M. J. B. de. Mineração dedados educacionais: oportunidades para o brasil. Revista Brasileira de Informática naEducação, v. 19, n. 2, 2011.

Page 76: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Referências 75

BREWER, E. A. Towards robust distributed systems. In: PODC. [S.l.: s.n.], 2000. v. 7.

CAPUA, M. D.; NARDO, E. D.; PETROSINO, A. An architecture for sentimentanalysis in twitter. In: International Conference on e-Learning. [S.l.: s.n.], 2015. v. 15,p. 214.

CÁRDENAS-BENÍTEZ, N. et al. Traffic congestion detection system through connectedvehicles and big data. Sensors, Multidisciplinary Digital Publishing Institute, v. 16, n. 5,p. 599, 2016.

CASEY, K.; GIBSON, P. (m)oodles of data Mining moodle to understand studentbehaviour. International Conference on Engaging Pedagogy 2010 (ICEP10), 2010.

CEARLEY, D.; CLAUNCH, C. The top 10 strategic technology trends for 2013. TheTop, v. 10, 2012.

CERN. CERN: Computing. 2016. Disponível em: <http://home.cern/about/computing>.Acesso em: 05 Junho 2016.

CHEN, C. P.; ZHANG, C.-Y. Data-intensive applications, challenges, techniques andtechnologies: A survey on big data. Information Sciences, Elsevier, v. 275, p. 314–347,2014.

CHENG, B. et al. Building a big data platform for smart cities: Experience and lessonsfrom santander. In: IEEE. 2015 IEEE International Congress on Big Data. [S.l.], 2015.p. 592–599.

DÍAZ, M.; MARTÍN, C.; RUBIO, B. ∖ lambda-coap: An internet of things and cloudcomputing integration based on the lambda architecture and coap. In: SPRINGER.International Conference on Collaborative Computing: Networking, Applications andWorksharing. [S.l.], 2015. p. 195–206.

DIEBOLD, F. X. On the origin (s) and development of the term’big data’. PIER WorkingPaper, 2012.

DILLENBOURG, P.; SCHNEIDER, D.; SYNTETA, P. Virtual learning environments.In: KASTANIOTIS EDITIONS, GREECE. 3rd Hellenic Conference"Information &Communication Technologies in Education". [S.l.], 2002. p. 3–18.

FAN, W.; BIFET, A. Mining big data: current status, and forecast to the future. ACMsIGKDD Explorations Newsletter, ACM, v. 14, n. 2, p. 1–5, 2013.

FANG, H. et al. A survey of big data research. IEEE network, NIH Public Access, v. 29,n. 5, p. 6, 2015.

FERNÁNDEZ, A. et al. E-learning and educational data mining in cloud computing:an overview. International Journal of Learning Technology, Inderscience Publishers Ltd,v. 9, n. 1, p. 25–52, 2014.

FERNANDEZ, R. C. et al. Liquid: Unifying nearline and offline big data integration. In:CIDR. [S.l.: s.n.], 2015.

FORGEAT, J. Data processing architectures – Lambda and Kappa. 2015. Disponívelem: <https://www.ericsson.com/research-blog/data-knowledge/data-processing-architectures-lambda-and-kappa>. Acesso em: 26 Outubro 2016.

Page 77: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Referências 76

GARDNER, J. Azure Partner Community: Big data, advanced analytics, and lambdaarchitecture. 2016. Disponível em: <https://blogs.technet.microsoft.com/msuspartner-/2016/01/27/azure-partner-community-big-data-advanced-analytics-and-lambda-architecture>. Acesso em: 07 Novembro 2016.

HAND, D. J.; MANNILA, H.; SMYTH, P. Principles of data mining. [S.l.]: MIT press,2001.

HAUNSEBLAS, M. Polyglot Persistence. 2016. Disponível em: <https://www.mapr-.com/products/polyglot-persistence>. Acesso em: 25 Outubro 2016.

HAUSENBLAS, M. Lambdoop. 2013. Disponível em: <http://lambda-architecture.net-/platforms/2013-12-25-lambdoop>. Acesso em: 27 Outubro 2016.

HAUSENBLAS, M.; BIJNENS, N. What is the Lambda Architecture? 2015. Disponívelem: <http://lambda-architecture.net/>. Acesso em: 11 Junho 2016.

HEY, A. J. et al. The fourth paradigm: data-intensive scientific discovery. [S.l.]: Microsoftresearch Redmond, WA, 2009.

IEDMS. International Education Data Mining Society. 2011. Disponível em:<http://www.educationaldatamining.org>. Acesso em: 04 Junho 2016.

IEEE. IEEE 1003.23-1998 IEEE Guide for Developing User Organization Open SystemEnvironment (OSE) Profiles. [S.l.]: IEEE Computer Society, 1998.

IEEE. IEEE 15288-2004 Adoption of ISO/IEC 15288:2002 Systems Engineering—SystemLife Cycle Processes. [S.l.]: IEEE Computer Society, 2004.

IEEE. IEEE 1517-2010 IEEE Standard for Information Technology - System andSoftware Life Cycle Processes - Reuse Processes. [S.l.]: IEEE Computer Society, 2010.

IGLESIAS-PRADAS, S.; AZCÁRATE, C. Ruiz-de; AGUDO-PEREGRINA, Á. F.Assessing the suitability of student interactions from moodle data logs as predictors ofcross-curricular competencies. Computers in Human Behavior, Elsevier, v. 47, p. 81–89,2015.

ISO. ISO/IEC 12207:2008 Systems and software engineering—software life cycleprocesses. [S.l.]: International Organization for Standardization, 2008.

ISO. ISO/IEC 42010:2011 Systems and software engineering — Architecture description.[S.l.]: International Organization for Standardization, 2011.

JAIN, A. K.; MURTY, M. N.; FLYNN, P. J. Data clustering: a review. ACM computingsurveys (CSUR), Acm, v. 31, n. 3, p. 264–323, 1999.

JASPERSOFT. Business Intelligence Software Editions. 2016. Disponível em:<http://www.jaspersoft.com/editions>. Acesso em: 30 Maio 2016.

KAMBATLA, K. et al. Trends in big data analytics. Journal of Parallel and DistributedComputing, Elsevier, v. 74, n. 7, p. 2561–2573, 2014.

KANTARDZIC, M. Data mining: concepts, models, methods, and algorithms. [S.l.]: JohnWiley & Sons, 2011.

Page 78: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Referências 77

KATKAR, J. Study of big data arhitecture lambda arhitecture. 2015.

KIM, H.; MADHVANATH, S.; SUN, T. Hybrid active learning for non-stationarystreaming data with asynchronous labeling. In: IEEE. Big Data (Big Data), 2015 IEEEInternational Conference on. [S.l.], 2015. p. 287–292.

KIRAN, M. et al. Lambda architecture for cost-effective batch and speed big dataprocessing. In: IEEE. Big Data (Big Data), 2015 IEEE International Conference on.[S.l.], 2015. p. 2785–2792.

KREPS, J. The Log: What every software engineer should know about real-timedata’s unifying abstraction. 2013. Disponível em: <https://engineering.linkedin.com-/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying>. Acesso em: 11 Junho 2016.

KREPS, J. Questioning the Lambda Architecture: The Lambda Architecture hasits merits, but alternatives are worth exploring. 2014. Disponível em: <https:/-/www.oreilly.com/ideas/questioning-the-lambda-architecture>. Acesso em: 11 Junho2016.

LABORATORY, N. I. T. Big Data Information. 2016. Disponível em: <https:/-/www.nist.gov/el/cyber-physical-systems/big-data-pwg>. Acesso em: 07 Novembro2016.

LITTLEJOHN, A. et al. Learning in moocs: Motivations and self-regulated learning inmoocs. The Internet and Higher Education, Elsevier, v. 29, p. 40–48, 2016.

MADDEN, S. From databases to big data. IEEE Internet Computing, IEEE, n. 3, p. 4–6,2012.

MARZ, N.; WARREN, J. Big Data: Principles and best practices of scalable realtimedata systems. [S.l.]: Manning Publications Co., 2015.

MENDES, R. de Á.; SILVA, L. A. Mineração de dados educacionais aplicada à análisepreditiva em fóruns no moodle. In: Anais dos Workshops do Congresso Brasileiro deInformática na Educação. [S.l.: s.n.], 2016. v. 5, n. 1, p. 940.

MICROSOFT. Lambda Architecture implementation using Microsoft Azure. 2015.Disponível em: <http://social.technet.microsoft.com/wiki/contents/articles/33626-.lambda-architecture-implementation-using-microsoft-azure.aspx>. Acesso em: 27Outubro 2016.

MICROSOFT. Microsoft Research. 2016. Disponível em: <http://research.microsoft-.com/en-us/projects/dryad>. Acesso em: 23 Maio 2016.

MICROSOFT. Power BI. 2016. Disponível em: <https://powerbi.microsoft.com/pt-br>.Acesso em: 07 Novembro 2016.

MONIZ, L. Arquitetura do Banco de Dados do Moodle 3: Análise sobre Mudançada Estrutura. In: Palestras Ministradas no Moodle Moot. 2015. Disponível em:<http://comunidade.badiu.com.br/mod/forum/discuss.php?d=189>. Acesso em: 02Abril 2016.

Page 79: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Referências 78

MOODLE. Moodle Activities. 2016. Disponível em: <https://docs.moodle.org/30/en-/Activities>. Acesso em: 02 Abril 2016.

MOODLE. Moodle History. 2016. Disponível em: <https://docs.moodle.org/30/en-/History>. Acesso em: 27 Abril 2016.

MOODLE. Moodle Logs. 2016. Disponível em: <https://docs.moodle.org/29/en/Logs>.Acesso em: 13 Dezembro 2016.

MOODLE. Moodle Roles. 2016. Disponível em: <https://docs.moodle.org/dev/Roles>.Acesso em: 05 Novembro 2016.

MOYER, C. Kappa Architecture pushes database to next level. 2016. Disponível em:<http://searchaws.techtarget.com/tip/Kappa-Architecture-pushes-database-to-next-level>. Acesso em: 29 Outubro 2016.

MYERS, T. Replicação de Armazenamento do Azure. 2016. Disponível em: <https:/-/azure.microsoft.com/pt-br/documentation/articles/storage-redundancy>. Acesso em:07 Novembro 2016.

NAIR, V. et al. Aligning machine learning for the lambda architecture. 2015.

NASIR, M. A. U. Fault tolerance for stream processing engines. arXiv preprintarXiv:1605.00928, 2016.

NIERBECK, A. IoT Analytics Platform. 2016. Disponível em: <https://blog.codecentric-.de/en/2016/07/iot-analytics-platform>. Acesso em: 27 Outubro 2016.

NOSQL. NoSQL: Your Ultimate Guide to the Non-Relational Universe! 2016. Disponívelem: <http://nosql-database.org/>. Acesso em: 06 Junho 2016.

NOVET, J. Google has quietly launched its answer to AWS Lambda. 2016. Disponívelem: <http://venturebeat.com/2016/02/09/google-has-quietly-launched-its-answer-to-aws-lambda>. Acesso em: 27 Outubro 2016.

PAPPAS, C. The Benefits of Big Data And Its Impact In The Future of eLearningIndustry. 2014. Disponível em: <https://elearningindustry.com/big-data-in-elearning-future-of-elearning-industry>. Acesso em: 31 Maio 2016.

PARK, Y.; YU, J. H.; JO, I.-H. Clustering blended learning courses by online behaviordata: A case study in a korean higher education institute. The Internet and HigherEducation, Elsevier, v. 29, p. 1–11, 2016.

PENTAHO. Data Sources for Business Analytics. 2016. Disponível em: <http:-//www.pentaho.com/data-sources-for-business-analytics>. Acesso em: 30 Maio2016.

PERERA, S.; PERERA, A.; HAKIMZADEH, K. Reproducible experimentsfor comparing apache flink and apache spark on public clouds. arXiv preprintarXiv:1610.04493, 2016.

PICCOLI, G.; AHMAD, R.; IVES, B. Web-based virtual learning environments: Aresearch framework and a preliminary assessment of effectiveness in basic it skillstraining. MIS quarterly, JSTOR, p. 401–426, 2001.

Page 80: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Referências 79

PWG, N. B. D. Draft nist big data interoperability framework. Reference Architecture,2014.

RESEARCH, S. for L. A. Learning Analytics and Knowledge 2012. 2016. Disponível em:<http://lak12.wikispaces.com/>. Acesso em: 30 Maio 2016.

ROMAN, J. Buildoop: A Lambda Architecture ecosystem builder. 2014. Disponível em:<http://lambda-architecture.net/platforms/2014-06-22-buildoop-package-lambda-tool>.Acesso em: 27 Outubro 2016.

ROMAN, J. Deploop: A Lambda Architecture Provisioning Tool. 2014. Disponível em:<http://lambda-architecture.net/platforms/2014-07-24-deploop-provisioning-tool>.Acesso em: 27 Outubro 2016.

ROMERO, C.; VENTURA, S. Educational data mining: A survey from 1995 to 2005.Expert systems with applications, Elsevier, v. 33, n. 1, p. 135–146, 2007.

ROMERO, C.; VENTURA, S. Educational data mining: a review of the state of the art.Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactionson, Ieee, v. 40, n. 6, p. 601–618, 2010.

ROMERO, C.; VENTURA, S.; GARCÍA, E. Data mining in course managementsystems: Moodle case study and tutorial. Computers & Education, Elsevier, v. 51, n. 1,p. 368–384, 2008.

SHIM, S. S. The cap theorem’s growing impact. Computer, IEEE Computer Society,v. 45, n. 2, p. 0021–22, 2012.

SIEMENS, G. Call for Papers of the 1st International Conference on Learning Analytics &Knowledge (LAK 2011). 2010. Disponível em: <https://tekri.athabascau.ca/analytics>.Acesso em: 05 Junho 2016.

SIEMENS, G.; BAKER, R. S. d. Learning analytics and educational data mining:towards communication and collaboration. In: ACM. Proceedings of the 2nd internationalconference on learning analytics and knowledge. [S.l.], 2012. p. 252–254.

SILVA, L. A. d.; PERES, S. M.; BOSCARIOLI, C. Introdução à mineração de dados:com aplicações em R. 1. ed. [S.l.]: Elsevier, 2016.

SINGH, D.; REDDY, C. K. A survey on platforms for big data analytics. Journal of bigdata, Springer, v. 2, n. 1, p. 1–20, 2015.

SPLUNK. Splunk: Machine Data. 2016. Disponível em: <https://www.splunk.com-/en us/resources/machine-data.html>. Acesso em: 31 Maio 2016.

SQLSTREAM. SQLStream - What is Machine Data ? 2016. Disponível em:<http://www.sqlstream.com/products/what-is-machine-data>. Acesso em: 31 Maio2016.

STOLPE, M. The internet of things: Opportunities and challenges for distributed dataanalysis. ACM SIGKDD Explorations Newsletter, ACM, v. 18, n. 1, p. 15–34, 2016.

TRIOLA, M. F. Introdução à Estatística. 10. ed. [S.l.]: LTC, 2008. ISBN 9788521615866.

Page 81: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Referências 80

UN. United Nations Global Pulse - About. 2016. Disponível em: <http://www-.unglobalpulse.org/about-new>. Acesso em: 03 Maio 2016.

VANHOVE, T. et al. Managing the synchronization in the lambda architecture foroptimized big data analysis. IEICE Transactions on Communications, The Institute ofElectronics, Information and Communication Engineers, v. 99, n. 2, p. 297–306, 2016.

VERAL, R. Kappa Architecture Using Managed Cloud Services (Part II). 2016.Disponível em: <http://www.datio.com/2016/09/30/kappa-architecture-using-managed-cloud-services-part-ii>. Acesso em: 29 Outubro 2016.

WATSON, W. R.; WATSON, S. L. What are learning management systems, what arethey not, and what should they become. TechTrends, Springer, v. 51, n. 2, p. 29, 2007.

WINGERATH, W. et al. Real-time stream processing for big data. it-InformationTechnology, v. 58, n. 4, p. 186–194, 2016.

Page 82: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

Anexos

Page 83: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

82

ANEXO A – Códigos SQL utilizados no cál-culo do coeficiente de correlaçãode Pearson

Código SQL utilizado no Apache Hive para o cálculo do coeficiente de correlaçãode Pearson entre as variáveis utilização de recursos e a média do aluno, por recurso e porsemestre.

WITHQ1 AS(SELECT AVG(NOTA_MEDIA) XMEDIOFROM LAMBDA.MEDIA_GERALWHERE ANO_SEMESTRE NOT IN (20212 ,21031 ,21111 ,22092 ,25011)) ,Q2 AS(SELECT RECURSO,

AVG(QTD) YMEDIOFROM LAMBDA.RECURSO_CONSUMOGROUP BY RECURSO) ,Q3 AS(SELECT MG.ANO_SEMESTRE,

MG.NOTA_MEDIA − Q1.XMEDIO XDESVIO,(MG.NOTA_MEDIA − Q1.XMEDIO)*(MG.NOTA_MEDIA − Q1.XMEDIO) XDESVIOQUADRATICO

FROM LAMBDA.MEDIA_GERAL MGJOIN Q1ON 1=1

WHERE MG.ANO_SEMESTRE NOT IN (20212 ,21031 ,21111 ,22092 ,25011)) ,Q4 AS(SELECT RC.ANO_SEMESTRE,

RC.RECURSO,RC.QTD − Q2.YMEDIO YDESVIO,(RC.QTD − Q2.YMEDIO)*(RC.QTD − Q2.YMEDIO) YDESVIOQUADRATICO

FROM LAMBDA.RECURSO_CONSUMO RCJOIN Q2

Page 84: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

ANEXO A. Códigos SQL utilizados no cálculo do coeficiente de correlação de Pearson 83

ON Q2.RECURSO = RC.RECURSO) ,Q5 AS(SELECT Q4 .RECURSO,

Q4 .ANO_SEMESTRE,Q3 .XDESVIO * Q4.YDESVIO SOMADOSPRODUTOS

FROM Q3JOIN Q4ON Q4.ANO_SEMESTRE = Q3.ANO_SEMESTRE) ,

Q6 AS(SELECT RECURSO,

SUM(SOMADOSPRODUTOS) SOMATOTALFROM Q5GROUP BY RECURSO) ,

Q7 AS(SELECT SUM(XDESVIOQUADRATICO) SSXFROM Q3) ,

Q8 AS(SELECT RECURSO,

SUM(YDESVIOQUADRATICO) SSYFROM Q4GROUP BY RECURSO)

SELECT Q6 .RECURSO,Q6 .SOMATOTAL/SQRT(Q7 . SSX*Q8. SSY) PEARSON

FROM Q6JOIN Q7ON 1=1JOIN Q8ON Q8.RECURSO = Q6.RECURSO

ORDER BY Q6.RECURSO;

Page 85: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

84

ANEXO B – Gráficos dos pares de dados no-tas médias e atividades do Mo-odle

As figuras abaixo correspondem aos gráficos dos pares de dados notas médias dosalunos e as quantidades de atividades do Moodle, separados por atividade. Todos osgráficos foram produzidos no software Microsoft Power BI Desktop.

Figura 19 – Pares de dados médias dos alunos e quantidade da atividade chat do Moodle, com n=5.Fonte: Autor.

Page 86: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

ANEXO B. Gráficos dos pares de dados notas médias e atividades do Moodle 85

Figura 20 – Pares de dados médias dos alunos e quantidade da atividade choice do Moodle, com n=5.Fonte: Autor.

Figura 21 – Pares de dados médias dos alunos e quantidade da atividade glossary do Moodle, com n=3.Fonte: Autor.

Page 87: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

ANEXO B. Gráficos dos pares de dados notas médias e atividades do Moodle 86

Figura 22 – Pares de dados médias dos alunos e quantidade da atividade lesson do Moodle, com n=3.Fonte: Autor.

Figura 23 – Pares de dados médias dos alunos e quantidade da atividade quiz do Moodle, com n=5.Fonte: Autor.

Page 88: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

ANEXO B. Gráficos dos pares de dados notas médias e atividades do Moodle 87

Figura 24 – Pares de dados médias dos alunos e quantidade da atividade scorm do Moodle, com n=5.Fonte: Autor.

Figura 25 – Pares de dados médias dos alunos e quantidade da atividade survey do Moodle, com n=5.Fonte: Autor.

Page 89: APLICAÇÃODAARQUITETURALAMBDA …tede.mackenzie.br/jspui/bitstream/tede/3441/5/RENÊ DE ÁVILA MENDES.pdf“Big Data in Education”, oferecido na modalidade MOOC nos sites Coursera

ANEXO B. Gráficos dos pares de dados notas médias e atividades do Moodle 88

Figura 26 – Pares de dados médias dos alunos e quantidade da atividade wiki do Moodle, com n=5.Fonte: Autor.

Figura 27 – Pares de dados médias dos alunos e quantidade da atividade workshop do Moodle, com n=2.Fonte: Autor.