Monday, August 11, 2014

(T) Entendendo o que é Big Data


O que é Big Data?

O termo "Big Data" tem sido usado para descrever conjuntos de dados que são tão grandes que os meios típicos e tradicionais de armazenamento de dados, gestão, pesquisa, análise e outro processamento tornou-se um desafio. Big Data é caracterizado pela magnitude da informação digital que pode vir de muitas fontes e formatos de dados (estruturados e não-estruturados), e os dados que podem ser processados ​​e analisados ​​para encontrar ideias e padrões usados ​​para tomar decisões com base nas informações.

Ou seja, podemos concluir que Big Data é definido como o conjunto de soluções tecnológicas capazes de lidar com dados digitais em volume, variedade e velocidade sem precedentes. Na prática, esta tecnologia permite analisar qualquer tipo de informação digital em tempo real, sendo fundamental para a tomada de decisões.

Definições mais técnicas e aprofundadas acerca do que é Big Data, assim como uma metodologia para gerenciar tais informações, podem ser obtidos através dos seguintes links:

http://mike2.openmethodology.org/wiki/Big_Data_Definition
http://mike2.openmethodology.org/wiki/Big_Data_Solution_Offering


Aplicação prática do Big Data

Quem assistiu ao filme: “Moneyball” (O homem que mudou o jogo) com o ator Brad Pitt, no qual o gerente de um time de beisebol usa os conceitos e as técnicas de Big Data para reunir um elenco de primeira linha sem gastar muito.

Um filme que retrata bem a realidade do mundo corporativo apesar de ser baseado no esporte. Com a globalização e o modelo “just in time” a expansão virtual se tornou necessária; a partir da ultima década de 2000 houve um crescimento exponencial dos dados que já preocupavam os especialistas pela falta de espaço. Segundo estatísticas da IBM, em 2008 foram produzidos cerca de 2,5 quintilhões de bytes todos os dias e surpreendentemente 90% dos dados no mundo foram criados nos últimos dois anos, decorrente da adesão das grandes empresas à internet, como exemplo as redes sociais, dados dos GPS, dispositivos embutidos e móveis.

Outros exemplos, que podemos citar:

Um hospital Canadense se utilizou de uma tecnologia proposta pela IBM, para o monitoramento dos quadros de bebês prematuros, permitindo aos médicos antecipar as ameaças às vidas das crianças.
Em busca dos melhores lugares para instalar turbinas eólicas, uma empresa Dinamarquesa analisou petabytes de dados climáticos do nível das marés, mapas de desmatamentos, entre outros. No fim o que costumava demorar semanas durou apenas algumas horas.
Segundo especialistas, o Big Data foi de grande importância para o descobrimento do pré-sal, devido a sua velocidade, que agilizava os processamentos de dados sísmicos captados pelas sondas que procuram petróleo no fundo do mar. Como são milhões as variáveis, o trabalho exige intermináveis simulações de imagens, e só o Big Data é capaz de dar conta do trabalho em um tempo melhor.

O cenário e os desafios

Como podemos armazenar, processar e analisar uma quantidade tão grande de dados para identificar padrões e obter conhecimento a partir deste enorme mar de informações?

Analisar Big Data exige armazenamento e uma grande quantidade de poder de processamento. Como a informação digital começou a aumentar na última década, as organizações tentaram diferentes abordagens para resolver estes problemas. No início, o foco foi dado nas máquinas: adicionando mais espaço de armazenamento, poder de processamento e memória. Esta solução durou o tempo suficiente até descobrir rapidamente que somente expandir o armazenamento e o processamento das máquinas não eram suficientes. Com o tempo, a promessa de solução para este problema passou a ser a adoção dos sistemas distribuídos (distribuição de tarefas sobre diversas máquinas). Mas aí o problema passou a ser outro: executar soluções analíticas de dados neste tipo de arquitetura era muito complicado, propenso a erros e o resultado não era muito rápido.

Além disso, a massificação de dados, ainda enfrenta outros obstáculos. O maior deles seria a privacidade, ou seja, a ameaça à privacidade representada pelo aumento de armazenamento e integração de informações pessoalmente identificáveis. Se a recomendação de links patrocinados pelo Google já parece invasiva à maioria das pessoas, o mundo e a legislação atual não estão preparadas para as possibilidades que o Big Data oferece de agregar, analisar e tirar conclusões a partir de dados até então esparsos. Outro problema é a escassez de profissionais, que terão de se adaptar a tal tecnologia, com a previsão que em 2018 só os Estados Unidos podem enfrentar a falta de 140 mil a 190 mil com profundas capacidades analíticas.

Comparativo entre o Big Data e o Data Warehouse

Conceitualmente, um Data Warehouse, é um conjunto de dados baseado em assuntos integrados, não voláteis, variáveis em relação ao tempo, e destinado a auxiliar em decisões de negócios. Diferentemente do Big Data que se baseia em grande volume de dados, voláteis ou não, com maior velocidade. E também em vez de criar um subconjunto de dados (tratados) para serem colocados no “data warehouse” e depois disponibilizados a partir de um número limitado de formas pré-determinadas para consulta e análise, o software de Big Data recolhe todos os dados que uma organização gera e permite que os administradores e analistas se preocupem em como usá-los mais tarde. Neste sentido são mais escaláveis do que os bancos de dados tradicionais e os “datas warehouses”.

Ou seja, eu arriscaria dizer que na sua grande totalidade os dados são estruturados e as soluções de data warehouse buscam entregar respostas para perguntas conhecidas. Enquanto que o Big Data, na sua grande totalidade os dados não estão estruturados e as soluções buscam entregar respostas para perguntas muitas vezes desconhecidas (business discovery).

O mercado de trabalho e as tecnologias

As oportunidades de trabalho na área de estatística estão aumentando graças à proliferação de programas para análise de dados e seu uso, especialmente, na tomada de decisão com objetivos estratégicos como: políticas de governo, seleção de investimentos, gestão de empresas e negócios, etc. O Big Data permite trabalhar com grandes volumes de dados, por vezes, não aceitos pelos grandes programas estatísticos. No Brasil, a existência da profissão de Estatístico, é vantagem do conhecimento nacional frente aos países desenvolvidos, uma vez que esse profissional é o que melhor pode trabalhar com esse tipo de sistema porque é treinado em estruturas de dados, em seu manuseio para extração de informação estratégica, nos métodos estatísticos de análise e em programação para sua análise estatística, de modo a se obter conclusões com margens de erro controladas para a tomada de decisões com base nos dados disponíveis. Tanto, que a IBM criou recentemente a "Big Data University" que fornece certo conhecimento acerca do Big Data.

Nos últimos 10 anos, o Hadoop tem evoluído a partir de suas origens relacionadas com o motor de busca para uma das mais populares plataformas de computação de propósito geral para a resolução de desafios de Big Data. Este Framework está rapidamente se tornando a base para a próxima geração de aplicações de bases de dados. A empresa de pesquisa de mercado IDC prevê que o Hadoop está direcionando um mercado de Big Data que deve atingir mais de US$ 23 bilhões até 2016. Desde o lançamento da primeira empresa focada neste framework, Cloudera (em 2008), dezenas de startups baseadas em Hadoop atraíram alguns milhões de dólares em investimentos de capital de risco. Simplificando, as organizações descobriram que Hadoop oferece uma abordagem comprovada para análise de Big Data.

Este framework da Apache (Hadoop) atende aos desafios do Big Data, simplificando a implementação de aplicações distribuídas que fazem um uso intenso de dados. Tem sido usado em todo o mundo por algumas empresas, universidades e outras organizações, permitindo que as tarefas de análise sejam divididas em fragmentos de trabalho e distribuído ao longo de milhares de computadores, fornecendo assim um tempo de resposta rápido nas análises através do armazenamento distribuído de grandes quantidades de dados. O Hadoop oferece custo-benefício quando falamos de armazenamento de grandes quantidades de dados e computação distribuída. Além disso, fornece um mecanismo escalável e confiável para o processamento deste grande volume de dados através de um conjunto de hardware e software. Fornecendo novas técnicas de análises que possibilitam o processamento analítico sofisticado de dados multi-estruturados.

(O) Criando um gráfico tipo "Stephen Few" no QlikView

This chart as a replacement for a traditional gauge.
A traditional gauge takes up a large amount of space to encode, usually, only one value. A bullet chart is linear and can encode more than one value.
The main components of a bullet chart (from Stephen Few's perceptualedge.com)
are as follows:
  • A text label
  • A quantitative scale along a single linear axis
  • The featured measure
  • One or two comparative measures (optional)
  • From two to five ranges along the quantitative scale to declare the featured measure's qualitative state (optional)
There is no native bullet chart in QlikView. However, we can create one by combining a couple of objects. Items 1, 2, 4, and 5 can be achieved with a linear gauge chart. The bar, item 3, can then be overlaid using a separate and transparent bar chart.

Hands-On

  •  Load the following script:

LOAD * INLINE [
    Country, Sales, Target
    USA, 1000, 1100
    UK, 800, 1000
    Germany, 800, 700
    Japan, 1000, 1000
];
  •  Add a new gauge chart. You should add a title and enter text for Title in chart. Click on Next.
  • There is no dimension in this chart. Click on Next.
  • Enter the following expression: Sum(Target)
  • Click on Next.
  • There is no sorting (because there is no dimension), so click on Next.
  • On the Style tab, select a linear gauge and set the orientation to horizontal.Click on Next.
  • There are a few changes needed in the Presentation tab:
     
  • There should be two segments by default, add a third segment by clicking on
    the Add button. The settings for each segment are as follows:
  • Apply appropriate colors for each segment (for example, RAG or Dark/Medium/
    Light gray).
  • Click on Finish.
  •  Most of the bullet chart elements are now in place. In fact, this type of linear chart may be enough for some uses. Now we need to add the bar chart.
  • Add a new bar chart. Don't worry about the title (it will be hidden). Turn off Show Title in Chart. Click on Next.
  • There is no dimension in this chart either. Click on Next.
  • Add the following expression: Sum(Sales)
  • Click on Next.
  • There is no sort (as there is no dimension). Click on Next.
  •  Select a plain bar type. The orientation should be horizontal. Leave the style at the default of Minimal. Click on Next.
  •  Set the following axis settings:
  •  Click on Next.
  •  On the Color tab, set Transparency to 100%. Set the first color to a dark color.
    Click on Next.
  • Continue to click on Next until you get to the Layout tab. Set the shadow to No
    Shadow and the border width to 0. Set the Layer to Top. Click on Next.
  • Turn off the Show Caption option. Click on Finish.
  •  Position the bar chart over the gauge so that the scales match (Ctrl + arrow keys are useful here). The bullet chart is created.
 Conclusion

By matching the Static Max setting of the bar and the gauge (to the sum of target * 1.2), we ensure that the two charts will always size the same. The 1.2 factor makes the area beyond the target point of 20 percent of the length of the area before it. This might need to be adjusted for different implementations.

It is also crucial to ensure that the layer setting of the bar chart is at least one above the layer of the gauge chart. The default layer (on the Layout tab) for charts is Normal so, in that situation, you should change the bar chart's layer to Top. Otherwise, use the Custom option to set the layers.

Using techniques such as this to combine multiple QlikView objects can help us create many other visualizations.

Thanks and see you on the next post!

PS: This article has adapted from the original: "Discover the strategies needed to tackle the most challenging tasks facing the QlikView developer (Stephen Redmond)"

Lastest Posts

(T) Using shared variables and key-value pairs