fevereiro 26 2016 0comment

Sugestão de um ecossistema Hadoop para análises em Grandes Bancos de Dados de séries temporais

Por Alessandro Lemes da Silva

Quando o “Descobridor dos Mares”, “Pai da Oceanografia Moderna e Meteorologia Naval” Matthew Fontaine Maury ficou imobilizado por conta de uma lesão na perna, aproveitou seu tempo para ampliar seus estudos de navegação, meteorologia, ventos e correntes. Ele estudou milhares de registros e cartas dos navios e analisou mais de um bilhão de pontos de dados para publicar gráficos de ventos e do tempo. Ele fez diversas cartas náuticas, que ensinam a marinheiros de todo o mundo como usar correntes oceânicas e vento para reduzir a duração das viagens.

Passados cerca de 150 anos, percebemos como os dados históricos ou dispostos em séries temporais são fundamentais para a tomada de decisões orientada por dados. Hoje, milhões de pontos de dados são recolhidos por sensores, medidores inteligentes, RFID e outros – cada segundo de nossas vidas.

O mundo está se tornando mais e mais conectado e inteligente, o que costumo chamar de os 3 Vs de big data:

  1. Volume;
  2. Velocidade;
  3. Variedade.

Como os custos de armazenamento diminuiu significativamente na última década e o surgimento da computação distribuída, as empresas querem capturar e organizar esses dados para realização de análise de grandes volumes históricos para a abrangência completa de seus segmentos de negócio e o apoio efetivo à tomada de decisões.

Nos segmentos modernos de supply chains, toda a viagem da origem ao destino é rigidamente monitorada através de sensores, que transmitem continuamente dados telemáticos, informações de veículos como o desempenho do motor, consumo de combustível, o desempenho de frenagem, etc.; Os dados de GPS transmite continuamente localização; as etiquetas RFID são usadas para rastrear embarques em centros de distribuição e dados de clientes coletados em diferentes interfaces.

Todos esses dados é imensamente valioso, e oferece insumo para identificar oportunidades de otimização, redução de custos e alavancagem de novos de negócios.

Para embarcar, classificar e analisar esse grande volume de dados é preciso uma infraestrutura específica, a construção de um ecossistema dedicado e com requisitos que atendam ao tempo de resposta sobre a vastidão dos dados.

Porque não o bom e velho RDBMS?

Honestamente, RDBMS em seu formato natural não foi concebido para armazenar e analisar grandes volumes de dados dispostos em séries temporais. Por exemplo, uma empresa de logística que tem 16 milhões de embarques diários, transmitindo informações a cada hora, realizará mais de 300 milhões de inserções de dados na base por dia.

Agora, se os dados forem retransmitidos quatro vezes por hora, já somos mais de um bilhão de pontos de dados em um dia. Um banco de dados relacional normal armazena dados em linhas separadas, o que significa que a tabela continua crescendo verticalmente. Além disso, há um monte de duplicação de dados, como dados de envios estáticos, como informações de clientes, dados de origem e de destino, etc. repetido em cada linha. Idealmente, você pode evitar tudo isso através da normalização em várias tabelas e criar índices.

 

Um bom DBA iria dizer-lhe como fazer a normalização ou de-normalização e especificar que esse é o caminho a percorrer. No entanto, mesmo que criar tabelas para armazenar de forma eficiente tais grandes volumes de dados, a consulta desses dados é uma história diferente. Com mais de um bilhão de linhas que estão sendo adicionados a cada dia, combinando SLAs dos clientes de hoje é realmente desafiador.

 

Leia os dados, não os armazene. Eis a questão.

Num banco de dados de séries de temporais, consultas usuais é uma comparação dos pontos de dados em intervalos de tempo diferentes. Por exemplo:

  • É o número de transferências ocorridas hoje comparadas aos últimos 5 anos;
  • É o tempo médio gasto de transporte nas estradas comparado aos últimos 3 anos e com aplicação de modelagem preditiva para análise de tendências;
  • É avaliar a quilometragem de alguns tipos de caminhões nos últimos 6 meses e cruzar com o comportamento de outro modelo de transporte para avaliação de eficiência modal.

 

Produzir uma grande quantidade de dados é fácil e produzir uma grande quantidade de dados derivados é ainda mais fácil.

 

Considerando o tamanho qual a solução? Comprimir todos os dados.

Mas como responder a consultas, então? Percorrer os dados.

Isso é rápido? Definitivamente não!

 

Esperar resultados de consultas nunca é produtivo. Nós precisamos de compressão, mas não à custa da velocidade. Para reduzir o tempo de consulta, o objetivo deve ser o de minimizar o tempo de I/O, reduzindo o número de registros lidos à cada tempo.

As soluções para grandes bancos de dados de séries temporais são especializadas baseados em tecnologias de código aberto e um modelo de dados inteligente para superar deficiências.

Temos hoje a tecnologia do Apache Parquet que é um formato de armazenamento colunar disponível para qualquer projeto dentro do ecossistema Hadoop, independentemente da escolha da estrutura de processamento de dados, modelagem ou linguagem.

 

 

Quais as vantagens  da armazenagem colunar dos dados?

  • A organização de dados por colunas permite uma melhor compactação, já que os dados tornam-se homogêneos.
  • O I/O é reduzido consideravelmente porque podemos verificar eficazmente apenas um subconjunto das colunas.
  • Como dados do mesmo tipo são armazenados em cada coluna, isso permite técnicas de codificação eficientes.
  • Por último, o Spark SQL é conhecido por trabalhar melhor com tabelas em formato Parquet.

 

 

 

 

Que vantagem temos com esse tipo de implementação?

PERFORMACE

O modelo colunar para armazenagem de dados oferece maior velocidade e eficiência. Ele é otimizado para bancos de dados de séries temporais com altíssima performance no desempenho de consultas, agregação e análise.

ESCALABILIDADE

Esse tipo de implementação usa HDFS e computação distribuída em seu núcleo. Como o volume de dados aumenta, mais máquinas podem ser adicionadas para lidar com o aumento da carga. Em todos os setores, como instituições financeiras, serviços públicos, telecomunicações e petróleo e gás, mais e mais empresas estão adotando o armazenamento colunar para grandes volumes de dados.

VELOCIDADE DE RESPOSTA

Bases de dados de séries temporais normalmente têm dois desafios; a taxa a que novos dados são adicionados é muito elevado e os dados históricos sobre o qual são feitas consultas não vastos. Assim, qualquer solução deve ser capaz de combinar ingestão rápida em um curto tempo de resposta. Combinando Spark SQL com tabelas em formato Apache Parquet.

 

BAIXO TCO

Usando tecnologias open-source e infraestrutura de nuvem ajuda a reduzir drasticamente o custo total das operações, especialmente quando comparamos alternativas muito mais caras.

 

Agora que a tecnologia é capaz de armazenar e analisar grandes volumes de dados, o que isso nos permitirá fazer?

 

Há uma variedade de casos de uso, incluindo BI, análises exploratórias e classificação e detecção de anomalias. Tecnologias open-source e computação distribuída abriram portas para novas possibilidades e novas fronteiras no BI em bancos de dados de séries temporais.

 

O que seria das ferramentas de Analytics sem o elemento humano

Por Alessandro Lemes

Há muitos exemplos de empresas usando análise de dados para aumentar vendas e reduzir custos. Da mesma maneira, médicos estão listando aplicações de analytics para diagnosticar doenças mais precisamente, e atletas têm feito uso disso para aumentar sua performance.

A maior capacidade dos computadores e o surgimento das ferramentas especializadas de analytics são alguns dos responsáveis por esse fenômeno, mas não são os únicos. A curiosidade humana nesse processo desempenha um papel fundamental.

O papel humano em business analytics

infomevO uso das ferramentas de analytics permite criar modelos preditivos para prever o que poderá acontecer até três meses a frente. A maioria se baseia no histórico de dados.

Esses modelos não conseguem fazer esse trabalho o tempo todo, mas certamente é bem melhor que os antigos processos manuais.

Alguns argumentam que os humanos não são necessários para estabelecer correlações inicialmente, pois ferramentas sólidas de análise de dados, quando munidas de todo e qualquer dado da empresa, podem encontrar correlações facilmente sozinhas.

Teoricamente, isso é verdade, porém, na prática, NÃO.

Na prática não existe isso de “todo e qualquer dado da empresa”, pois não temos capacidade de saber do que vamos precisar até que a necessidade (ou suspeita) apareça. A informação necessária para estabelecer essas correlações pode estar em lugares inusitados e profissionais que entendam do negócio intimamente e consigam ver potenciais padrões ou correlações são um componente essencial do uso efetivo de ferramentas de analytics.

Por isso, antes de tudo, é preciso se certificar de ter as pessoas certas, mantê-las e uni-las a novos talentos para criar um “time reserva”. As ferramentas são tão necessárias quanto as pessoas, mas são secundárias em um projeto de analytics.

As organizações precisam colher dados em tempo real, permitindo correlações e análises que gerem informações úteis. A partir dessa premissa, um time bem formado pode oferecer o serviço de Analytics combinando as funcionalidades da computação com a democratização da informação trazida pelo big data, por exemplo. Essa abordagem dá poder à empresa de maneira inovadora, permitindo análises e acesso centralizado às informações em tempo real.

O importante é ter em mente que nenhuma iniciativa séria de Business Analytics terá sucesso ou atingirá os objetivos esperados sem o elemento humano. Dessa forma, antes de gastar milhares de Reais como investimento, busque estabelecer a maturidade do time interno que irá usufruir dos recursos computacionais e fazer valer o investimento.

Até o próximo artigo.

O BI como ato de criação

infomev_cursos sas_treinamento sas

Por Alessandro Lemes da Silva

O que BI tem a ver com criatividade ?

Estou aqui considerando que BI é um processo que procura por causas (de problemas ou boas práticas). Por exemplo, não basta saber qual o produto mais vendido, queremos saber por que ele é o mais vendido, para replicar as boas práticas para outros produtos. Não basta saber que uma loja não vende tão bem quantas as outras, queremos saber por que para eliminar ou minimizar as causas do fracasso.

Hoje em dia, BI é muito confundido com apresentar informações em dashboards. Mas para que as decisões sejam apoiadas adequadamente, precisamos saber que informações devem ser apresentadas nos dashboards. E muitas vezes este é um processo feito em parceria entre o Analista de BI e o usuário/cliente (aquele que toma a decisão e precisa de informações).

O processo de BI é, de certa forma, semelhante a um músico procurando uma nota que faça a conexão entre 2 partes de uma música, um investigador policial procurando o autor de um crime, um mecânico investigando a causa de um defeito em uma máquina, um pintor procurando um meio de expressar suas ideias mentais e surpreender aqueles que olham sua obra.

Mas para que o momento Eureka ocorra, algumas coisas devem acontecer antes. O insight da solução não vem por acaso, como Koestler e Johnson descrevem em tantos exemplos nos seus livros. (Koestler: “a sorte favorece a mente preparada”; Johnson: “a sorte favorece a mente conectada”).

Arquimedes só viu a solução porque tinha estudado ardentemente o problema que lhe havia sido imposto, porque estava estudando outros temas e conseguiu conectá-los.

Segundo Koestler e Johnson, 2 elementos principais são necessários (entre outros):

a) Maturação de ideias

Koestler fala em ripeness. Steven Johnson fala em palpite lento (slow hunch).

Isto significa muito estudo. Coletar muitas informações, propor teorias (hipóteses), testar a teoria com exemplos reais e refazer o processo muitas vezes. Tim Berners-Lee maturou a ideia da WWW por mais de 10 anos. E perseverou. Christianson (2012) inclusive apresenta uma cópia do manuscrito original, onde o orientador de Tim escreve a mão: “vago mas excitante …”.

b) Junção de contextos diferentes

Koestler fala em bissociação de matrizes (bisociation of matrices); Johnson, em colisão de ideias (collision of hunches).

Koestler descreve como passar repentinamente de um plano (assunto) para outro (como Arquimedes), conectando as partes e gerando uma solução nova. Johnson diz que é preciso completar nossas teorias com as ideias de outros.

É preciso também ter conhecimentos generalizados, além dos especializados. Darwin foi influenciado pelo trabalho do economista Thomas Malthus sobre o crescimento da população, a falta de alimento e a possível morte de pessoas por causa desta disparidade. E Darwin iniciou sua jornada de estudos investigando pedras (na área de

geologia). Steve Jobs revolucionou as interfaces homem-computador, criando telas encantadoras. Boa parte deste sucesso se deve a seus estudos de caligrafia, que o ajudaram a criar as fontes de textos.

Você tem medo do Big Data ?

Por Alessandro Lemes da Silva

Mais do que uma tendência, o chamado “Big Data” já tornou-se um diferencial de mercado para aqueles que já o utilizam como ferramenta de tomada de decisão e para os que ainda pensam em utilizá-lo.

Mas por que podemos considerar Big Data como um diferencial competitivo ?

1Essa resposta por ser obtida analisando a evolução do processo de Business Intelligence, sim, pense que ao logo das últimas décadas as empresas acumularam milhares de dados sobre todas as coisas relativas aos seus negócios e esse dados estão acumulados em diversos ambientes transacionais, diversos Data Warehouses, Data Marts e também muitos volumes de dados não estruturados contidos em planilhas, arquivos de som, imagem e fluindo pelas redes sociais onde as empresas são citadas, fazem campanhas e apresentam seus produtos.

Tendo em mente todo esse “ecossistema” de dados espalhados em diversos organismos e em diversos ambientes é que entendemos que os métodos, técnicas e meios tradicionais não seriam mais suficientes para tratar, enriquecer e extrair informação consistente de todo esse volume de forma rápida e concisa.

Entende agora a necessidade de buscarmos outros meios ? Entende que a competitividade se dá ao passo em que dominamos a informação e extraímos dela o melhor para obtermos respostas às perguntas do negócio e do mercado onde esse negócio está inserido?

O chamado “Big Data” não pode ser visto como um recurso único e estático, mas como um mecanismo composto de diversos recursos e com alta acoplagem e todos esses novos recursos faz desse mecanismo a forma mais adequada para analisas informações nos dias atuais.

Em termos práticos, se a necessidade da sua empresa é conhecer seus clientes de forma abrangente, identificando particularidades comportamentais, aumentando a capacidade de prever compras com base no comportamento e assim oferecer produtos e serviços, temos então a necessidade de análise de grandes volumes de dados, dados esses que originam-se dentro da própria empresa, porém são enriquecidos à partir de birôs externos, informações contidas em redes sociais e em diversos mecanismos que ofereçam condições de melhores a inferência sobre as informações relativas ao clientes e aos que podem vir à ser clientes. As empresas estão cada vez mais capazes de angariar e explorar grandes “insights” sobre suas bases de clientes em uma escala sem precedentes lançando mão dos recursos embarcados do Big Data.

Naturalmente que dado o volume de informações e de todas as novas exigências do mercado, como por exemplo para o segmento financeiro que é regido por organismos normativos de âmbito mundial como a Basiléia, SOX e outros, o volume de dados que obrigatoriamente precisam ser armazenados para atender a exigências regulatórias também é muito grande, da casa de anos e naturalmente que todo esse volume pode ser objeto de análise que aumentariam ainda mais assertividade e o poder preditivo considerando sua vastidão e abrangência.

Como adquirir todo o conhecimento sobre clientes e produtos utilizando o Big Data, não poderíamos utilizar o modelos tradicionais de armazenagem e tratamento de dados?

A resposta é categoricamente não, pois os meios tradicionais de armazenagem e tratamento de dados não são dotados de recursos que proporcionam escalabilidade, alta velocidade e algoritmos estatísticos embarcados para estabelecer a inteligência aplicada ao dado convertendo-o em informação de valor ao negócio.

Dentro de um escopo de analise de dados, o cientista de dados deve ter condições de realizar técnicas especificas que dariam margem ao insight, ou seja, ao encontro de conhecimento e da sabedoria através da investigação de padrões, analise descritivo e preditivo. Como exemplo posso citar o análise de texto ou text miner, além disso, recursos computacionais podem ser empregados de forma direta e on-line para se antever ocorrências de fraudes e modelos preditivos podem analisar a condutada de transações computacionais para se identificar comportamento fraudulentos. Esses mecanismos de analise dependem de grandes volumes para terem bases históricas longas e com isso serem assertivos.

É por esses e outros motivos que um mecanismos de Big Data vem dotado de recursos não encontrados em recursos tradicionais de armazenagem e análises de dados como In-Memory ou In-Database,  noSQL, Paralelismo e uma arquitetura própria que viabilizam o acesso e tratamento de grandes volumes de dados de forma simultânea.

Se você deseja entrar num mundo de novas possibilidade, trazendo maturidade ao seu modelo analítico e diferencial competitivo ao negócio, pense no que o Big Data pode trazer para sua empresa. Considere antes disso a avaliação de uma arquitetura de dados e a integração do seu ferramental analítico e avance com o amadurecimento das informações.