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)"

Thursday, July 24, 2014

(E) Revendo conceitos e quebrando paradigmas com o QlikView - Parte 3


Outra coisa que me chamou muita atenção nesta ferramenta é a possibilidade de aplicar uma metodologia Ágil no desenvolvimento de projetos de BI. Sabemos das etapas e dos processos que envolvem um projeto de BI e sempre se dicutiu muito sobre a possibilidade de se levar as boas práticas de uma metodologia ágil para projetos desta natureza. Mas, sempre se esbarra nos detalhes de operação das ferramentas. Vejamos:

Soluções tradicionais de BI que utilizam queries poderiam ser usadas para criar um aplicativo analítico que fornecesse uma experiência associativa para o usuário: isso quer dizer que o usuário poderia clicar em qualquer campo no modelo e também laçar dados em diagramas e gráficos, aplicando filtros instantaneamente tornando as associações dos dados visíveis.

Porém, seria necessária uma quantidade incrível de tempo e recursos para codificar manualmente todas as associações necessárias para que o usuário pudesse realmente fazer e responder suas próprias perguntas, sem recorrer à TI para novas consultas ou novas visualizações dos dados. Queries demandam muita mão-de-obra e podem se tornar ineficientes, além de que manter as associações manualmente seria um pesadelo. Se um usuário quisesse adicionar uma nova fonte de dados, por exemplo, para se aprofundar mais em um aspecto dos negócios, o desenvolvedor precisaria voltar e codificar todas as associações à mão novamente.

Com o QlikView, todas as associações entre os dados são realizadas automaticamente. Nem os usuários, nem os desenvolvedores precisam gerenciar as associações. Consequentemente, os clientes do QlikView podem passar rapidamente da criação de protótipos à implementação e ao refinamento.
 
As plataformas de Business Discovery são ideais para a exploração e a análise. O BI tradicional é adequada a outros tipos de uso. Segundo o Gartner as plataformas tradicionais de BI são adequadas para relatórios e painéis de indicadores chave de desempenho (KPI). Além disso, as soluções tradicionais de BI são ótimas para situações em que há uma abordagem de cima para baixo, com camadas semânticas modeladas pela TI e nas quais os usuários podem obter aquilo de que precisam consultando repositórios existentes. Outro ponto interessante e recomendado pelo Gartner é que as organizações de TI retornem da busca obstinada de padronização com um único fornecedor para uma abordagem de portfólio mais pragmática, incluindo data discovery e o BI tradicional.



A plataforma de Business Discovery QlikView, consiste em uma forma inteiramente nova de realizar BI. Trata-se de ajudar as pessoas a compartilhar conhecimento e análises entre indivíduos, grupos e organizações. Ele fornece informações e análises focadas precisamente nos problemas de negócio que as pessoas estão tentando resolver.

O QlikView proporciona uma experiência ao usuário que funciona da mesma forma que a mente: de maneira associativa, com uma tecnologia altamente diferenciada no mercado e com um modelo de adoção pelo cliente que é incomum para software empresarial. Da mesma forma que a Salesforce.com fez com o CRM, o Google fez com a pesquisa e a Apple fez com os tablets, a Qlik está transformando o mercado com uma tecnologia altamente sofisticada nos bastidores, mas que proporciona uma experiência intuitiva e divertida para os usuários.

Experimente o QlikView você mesmo? Visite www.qlikview.com.

Referências:

Gartner: Business Users Are Choosing BI Tools”

(E) Revendo conceitos e quebrando paradigmas com o QlikView - Parte 2

  • Núcleo da tecnologia:
O segundo principal fator que diferencia o QlikView é o núcleo da nossa tecnologia. O QlikView é conhecido como pioneiro do BI em memory. A tecnologia in memory é importante por questões de desempenho. Mas apenas o in memory não basta para fornecer uma plataforma de Business Discovery. Alguns fornecedores que oferecem soluções tradicionais de BI que utilizam como base tecnológica queries e cubos estão trabalhando na reengenharia de suas ofertas para a execução in memory. Essas soluções podem melhorar o tempo de resposta para o usuário. Porém, enquanto elas tiverem por base queries e cubos, a manutenção das associações nos dados exigirá a codificação manual e, portanto, muito tempo e dinheiro. O que faz a diferença é o que o QlikView faz com a tecnologia in memory. A plataforma de Business Discovery QlikView:
  • Mantém os dados em memória para o acesso de vários usuários e deste modo proporcionar uma experiência de uso extremamente rápida. O QlikView mantém todos os dados necessários para a análise em memória, onde ficam disponíveis para exploração imediata pelos usuários. Os usuários recebem respostas de forma imediata, enquanto o QlikView realiza os cálculos necessários para fornecer o resultado das agregações solicitadas. O “pulo do gato” está na rapidez com que os cálculos são executados. O QlikView trabalha em ambiente distribuído multi-usuário; ele armazena cálculos comuns e os compartilha entre os usuários, de forma que os cálculos não necessitem ser refeitos sempre que alguém precisar deles.
  • Mantém associações entre os dados automaticamente. O mecanismo de inferência do QlikView permite a experiência associativa através das cores verde/branco/cinza. Esse mecanismo mantém automaticamente as associações entre cada dado e todo o conjunto dos dados existentes em um aplicativo, desta forma, desenvolvedores e os usuários não têm que efetuar essas associações. Como resultado, os usuários não ficam limitados a relatórios estáticos, caminhos predefinidos ou painéis pré-configurados. Em vez disso, eles podem navegar pelos seus dados em qualquer sentido, explorando-os da forma que desejarem.
  • Calcula agregações de forma dinâmica conforme necessário. O mecanismo de inferência do QlikView calcula agregações de forma dinâmica com base nas seleções feitas pelo usuário (o que chamamos de “estado” do aplicativo). Como resultado, os usuários não ficam limitados aos cálculos predefinidos (e, portanto, às percepções pré-concebidas baseadas em agrupamentos de dados feitos pela equipe de TI). Os usuários podem definir qualquer visão ou tipo de percepção que desejarem, e o QlikView calcula a resposta de forma dinâmica. O QlikView calcula apenas as agregações solicitadas pelo usuário; ele não pré-calcula agregações da mesma forma antiga que tem por base em queries e cubos. Ele processa os cálculos instantaneamente, conforme eles são necessários.
  • Compacta os dados a 10% de seu tamanho original. O QlikView atinge uma redução significativa no tamanho dos dados usados para análise com a utilização de um dicionário de dados (uma tabela de hash) e por usar apenas o número de bits necessário. Por exemplo, o campo “dia da semana” tem apenas sete valores de campo possíveis, e esses valores são armazenados em memória apenas uma vez, independentemente de quantos registros cada valor contém. Assim, o QlikView pode ser dimensionado para lidar com conjuntos de dados muito grandes, sem elevar os custos de investimentos em hardware apenas para colocar um conjunto de dados inteiro para ser executado in memory.
  • Otimiza a capacidade do processador. O QlikView distribui os cálculos por todos os núcleos disponíveis a fim de maximizar o seu desempenho para o usuário. Diferentemente das tecnologias que simplesmente “suportam” ao hardware com vários processadores, o QlikView é otimizado para tirar máximo proveito de toda a capacidade do hardware com múltiplos processadores, maximizando assim o desempenho e o investimento em hardware.

(E) Revendo conceitos e quebrando paradigmas com o QlikView - Parte 1



As primeiras perguntas que as pessoas fazem sobre o QlikView:

O que há de especial sobre o QlikView? Quais as diferenças entre este software e outros existentes no mercado?

Naturalmente essas são as primeiras perguntas que as pessoas que ouvem e estão conhecendo o QlikView fazem. Algumas delas têm experiência com soluções tradicionais de business intelligence (BI), então elas querem entender o QlikView nesse contexto. Outras estão curiosas sobre o conceito do "Business Discovery". 

Este post sobre o QlikView aborda a combinação de três fatores que me impressionou bastante e que estão tornando o QlikView único: uma experiência associativa do usuário, o núcleo desta tecnologia e o caminho para adoção do Business Discovery.

O que é Business Discovery?

Business Discovery é BI orientado ao usuário, que auxilia na tomada de decisões a partir de várias fontes de conhecimento: dados, pessoas, ambiente.

Os usuários podem criar e compartilhar conhecimento e análises em grupos e em toda a organização. As plataformas de Business Discovery auxiliam as pessoas a realizar e responder seu fluxo de questões, ao seguirem seus próprios caminhos no processo de adquirir conhecimento, sozinhos ou ao trabalhar em grupos formais ou informais. As plataformas de Business Discovery permitem acesso ao conhecimento a partir de qualquer lugar, quer seja por um aplicativo local, por acesso móvel, através da capacidade de reorganização e remontagem, além de permitir uma experiência social e colaborativa.

O que torna o QlikView único?

São elas, a experiência associativa, o núcleo da tecnologia e o caminho da adoção do conceito Business Discovery.
  • Experiência associativa:
A plataforma de Business Discovery QlikView, possibilita os usuários a capacidade de explorar dados, fazer descobertas e desvendar percepções que podem ser usadas para ajudá-los a solucionar problemas de negócio de novas maneiras. Um dos principais diferenciais do QlikView é a experiência associativa que ele proporciona aos usuários. Os usuários de negócio podem realizar pesquisas e interagir com painéis e análises dinâmicas a partir de diversos dispositivos. Os usuários podem alcançar percepções inesperadas porque o QlikView: 
  • Funciona da mesma forma que a mente: Com o QlikView, a descoberta é flexível. Os usuários podem navegar pelos dados e interagir com eles da forma que desejarem. Eles não ficam limitados a caminhos predefinidos ou ao uso de painéis pré-configurados. Os usuários elaboram e respondem sequências de perguntas sozinhos, em grupos e em equipes, abrindo novos caminhos para as percepções e decisões. Com o QlikView, os usuários de negócio conseguem visualizar tendências ocultas e realizar descobertas de uma forma diferente de qualquer outra plataforma de BI do mercado. 
  • Esclarecer pelo poder do cinza: Com o QlikView, os usuários podem, literalmente, ver as relações entre os dados. Além de ver quais dados estão associados com suas seleções, eles também podem ver facilmente quais dados não estão associados (veja a figura abaixo). Como? As seleções do usuário são realçadas em verde. Os valores de campos associados à seleção são realçados em branco. Os dados não relacionados são realçados em cinza. Por exemplo, quando um usuário clica na subcategoria de um produto (digamos, biscoitos) e em uma região (como Japão), o QlikView mostra instantaneamente tudo o que há em todo o conjunto de dados associado a essas seleções, além dos dados não associados. O resultado são novas percepções e descobertas inesperadas. Nesse exemplo, o usuário poderia ver que não foram vendidos biscoitos no Japão em janeiro, ou em junho e começar uma investigação sobre os motivos. 
  • Permite a pesquisa direta e indireta: Com a pesquisa do QlikView, os usuários digitam palavras ou frases relevantes, em qualquer ordem, e obtêm resultados instantâneos e associativos. Com uma barra de pesquisa global, os usuários podem pesquisar em todo o conjunto de dados em um aplicativo. Com caixas de pesquisa associadas a listas individuais, os usuários podem restringir a pesquisa apenas àquela lista. Eles podem realizar pesquisas diretas e indiretas. Por exemplo, se um usuário quiser identificar um representante de vendas, mas não conseguir lembrar seu nome, apenas detalhes sobre ele, como o fato de ele vender peixe a clientes na região norte, o usuário poderá pesquisar “Norte” e “peixe” na lista de representantes de vendas para obter os nomes dos representantes de vendas que atendem esses critérios. 
  • Fornece respostas com a mesma rapidez com que os usuários podem pensar em perguntas: Um usuário pode fazer uma pergunta no QlikView de diversas maneiras diferentes, por exemplo, ao delimitar uma área em diagramas, gráficos e mapas. Ao clicar em itens em listas, ao utilizar deslizadores e ao selecionar datas em calendários. Todos os dados no aplicativo são filtrados instantaneamente de acordo com as seleções do usuário. O usuário pode de forma rápida e fácil, visualizar relações e descobrir o significado dos dados, no processo de definição de suas percepções.

Lastest Posts

(T) Using shared variables and key-value pairs