2.4 Big Data
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 delas desenvolvidas 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
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 tabelas3,4e5agrupam 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 outras ferramentas não analisadas pelos autores e que serão citadas posteriormente.
As ferramentas listadas na Tabela 3 são categorizadas como ferramentas em lote porque, embora possam processar grandes quantidades de dados inclusive em paralelo, não são adequadas para processamento de dados em fluxo contínuo.
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ção
Infraestrutura e Plataforma
Apache Ha- doop
Plataforma para processamento paralelo distribuído composta um núcleo comum (Hadoop Commom), um sistema de arquivos distri- buído (HDFS), um framework para agendamento e gerenciamento de recursos do cluster (Hadoop YARN) e um sistema de proces- samento paralelo (Hadoop MapReduce) (APACHE,2016b). Infraestrutura e
Plataforma
Microsoft Dryad
Infraestrutura para programação paralela e distribuída onde a computação é executada como um grafo direcionado (MICRO- SOFT,2016a).
Análise de da- dos
Apache Mahout
Ambiente de programação que permite o uso de algoritmos de aprendizagem de máquina escaláveis. Suporta algoritmos de fil- tragem, classificação, agrupamento, redução de dimensionalidade e outros (APACHE,2016d). Business Intelli- gence Jaspersoft Business Intelligence
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ão licenciada 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, bases de dados NoSQL e bancos de dados analíticos. Conecta-se tam- bém com os principais bancos de dados relacionais e com outras origens de dados, inclusive em nuvem (PENTAHO,2016). Análise avan-
çada por apren- dizagem de máquina
Skytree Ser- ver
Plataforma de análise de dados Big Data que interage com im- plementações Hadoop e que implementa algoritmos de sistemas de recomendação, análise preditiva, agrupamento e pesquisa de similaridade.
Visualização de dados
Tableau Ferramenta de visualização de dados que suporta integração com origens de dados Hadoop, NoSQL, relacionais e arquivos.
Gerenciamento e integração de dados
Talend Open Studio
Plataforma Open Source baseada em Apache Hadoop que permite integração e análise de dados Big Data.
A Tabela4lista algumas das ferramentas projetadas para processamento em fluxo contí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 velocidade e com tipos complexos. Esses tipos de dados são chamados de streams e requerem fer- ramentas projetadas especificamente para este tipo de processamento. O processamento em fluxo contínuo requer baixa latência de resposta, característica esta não presente no modelo de processamento Map/Reduce (CHEN; ZHANG,2014).
As Tabelas3e4não apresentam uma lista exaustiva de plataformas e softwares de Big Data. Nomes não listados mas não menos importantes são a arquitetura distribuída Beowulf, o modelo MPI/OpenMP, as ferramentas HTCondor1, BOINC2, HaLoop3, IU
Twister, Microsoft Project Daytonas, os ambientes Labview4 e a plataformas de proces-
1 www.cs.wisc.edu/condor 2 http://boinc.berkeley.edu
3 https://code.google.com/archive/p/haloop/ 4 http://www.ni.com/labview
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ção
Processamento em tempo real
Apache Storm
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.
Processamento contínuo de dados
Apache S4 Sistema de computação distribuída desenvolvido pelo Yahoo! e liberado para a Apache. Processa fluxos contínuos de dados de forma distribuída, tolerante a falhas e componentizada.
Processamento em tempo real de machine data
SQLstream s-server
Plataforma para processamento analítico de dados em tempo real baseada em processamento em memória de fluxos de dados não estruturados com consultas SQL. Aplicável a dados gerados por máquinas (machine data) (SQLSTREAM,2016).
Processamento em tempo real de machine data
Splunk Ferramenta de visualização e análise em tempo real de machine
data. Machine Data pode ser definido como “registro definitivo de
todas 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 de diagnóstico, registros detalhados de chamadas e dados de sensores de sistemas industriais, e outros dados” (SPLUNK,2016). Sistema de
mensageria distribuída
Apache Kafka
Sistema de distribuição de mensagens que analisa dados operaci- onais e dados de atividades de usuários em websites em fluxo e com persistência de dados.
Plataforma de negócios em tempo 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 bancos de 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 4
de 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 modalidade
Open 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ção
Google 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 de processamento e que permite consultas ad hoc baseadas em SQL em grandes volumes de dados (APACHE, 2016a)
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)