Total de visualizações de página

sábado, 28 de janeiro de 2012

BI2-BI e a Governança de Dados- A interseção



Quando eu trabalhava na Cemig, me envolvendo com os bancos de dados que davam suporte aos sistemas  de faturamento e arrecadação, um dos assuntos que sempre vinha à tona era a medição dos valores de consumo de energia. O processo era absolutamente manual, com a figura do leiturista percorrendo rotas pré-definidas, por onde ele ziguezagueava pelos bairros, realizando a leitura dos valores de consumo, numa espécie de “ tête a tête”  com os medidores. Medidores são aqueles aparelhos que ficam escondidos atrás de umas portinholas metálicas, com cara de relógio que não marcam horas e  com escalas que não entendemos claramente. São aqueles reloginhos cujos ponteiros gostávamos de ver numa espécie de corrida circular, quando pequenos. Esses marcadores numéricos ou digitais apontam valores que são transferidos para uma folha de anotação que o leiturista traz, já com a identificação da chave do consumidor. Por vezes, esses processos eram interrompidos por cães ferozes que surgiam de repente no alpendre das residências, fazendo com que os leituristas se tornassem uma espécie de fortes candidatos aos jogos olímpicos, na modalidade 50 metros, ou salto com obstáculos. Esse processo continua até hoje, mas já ganhou tons de modernidade. Hoje já é possível que o registro de consumo  seja feito através de leitores remotos, num diálogo bluetooth,  ou pela transmissão de rádio-frequência, evitando assim que o leiturista tenha que se postar defronte aos medidores. Isso não impede a sua visita aos pontos de consumos, embora permita evitar confrontos desconfortáveis com rotweilers pouco sociáveis.
Em 2012, a SCE(Southern California Edison), gigante  elétrica da região mais importante do oeste americano, começará uma nova fase, com a implantação dos SmartReaders , ou seja os leitores inteligentes, para mais de 5 milhões de seus consumidores. Os leitores inteligentes são equipamentos digitais instalados no ponto de consumo, que funcionam como um ponto da rede elétrica e também um “ nó” da rede de dados. Ou seja, os medidores farão parte de uma rede de dados que conectará cada ponto de consumo à empresa, permitindo a leitura de hora em hora para consumidores residenciais e de 15 em 15 minutos para consumidores comerciais. Essa nova topologia permitirá a transformação da rede elétrica tradicional num conceito de smart grid, onde os elementos de engenharia elétrica(transformadores, disjuntores,etc)  que formam uma rede de  transmissão e distribuição serão conectados de forma muito mais inteligente do que por elementos eletro-mecânicos.
Bom, mas qual a correlação disso tudo com BI, Governança de dados e Big Data? Simples:  Com relação a Big data, as empresas elétricas se prepararam com o advento do smartmeter, para uma nova ordem de armazenamento de dados de consumo. Vamos considerar a ocorrência de 24 leituras por dia, multiplicadas por 365 dias por ano, para os mais de 5 milhões de consumidores. Considerando que os dados medidos tenham, por exemplo 1000 bytes, teremos aproximadamente   50TB por ano. Isso habitará um  Data Warehouse que integrará dimensões tempo(data-hora-minuto-segundo), localização(referências geográficas do ponto de consumo), identificação do ponto de rede elétrica, com os fatos armazenando as diferentes leituras das variáveis elétricas, conforme o modelo dimensional, a seguir, que ilustra o conceito. Com a montagem desses dados na forma dimensional, a empresa agregará valor através da possibilidade de acesso, via internet, dos consumidores aos seus dados. Assim, cada consumidor poderá  rapidamente obter o seu perfil  de consumo, por hora do dia, ou por dia da semana, ou por mês do ano, moldando o seu comportamento de consumidor e podendo reduzir ou otimizar seus gastos na conta. A empresa, por outro lado, poderá, através de promoções enviadas aos consumidores, modificar tarifas em tempo quase real, definidas em função do horário de consumo, incentivando os consumidores a , por exemplo, tomar banho, fora do horário de pico, e consequentemente, pagar menos. Com os dados em grande quantidade, os indicadores de interrupção nos domínios de duração e frequência também poderão ser facilmente obtidos, definindo de forma mais clara o nível de SLA que a “utility” oferecerá aos seus consumidores. Os aspectos de Governança entram na equação, forçando a empresa  a definir procedimentos de dados, aspectos de segurança na transmissão e no armazenamento, padronização de metadados, uso dos dados , regulações vigentes sobre o assunto e os riscos que implicarão esse novo volume de dados. E assim, os pulsos  analógicos da rede elétrica se encontrarão com os bits da rede de dados, transformando a grande grade inteligente(smart grid) em zeros e uns. Logo, logo os pontos de consumo ganharão um endereço IP e a grande aldeia global estará mais chique e menos choque!

Figura-Modelo dimensional


sexta-feira, 13 de janeiro de 2012

BI2-A inspiração e a arte de escrever podem ser “automatizadas” ?



Na revista Veja de 14 de Setembro de 2011, uma reportagem chama a atenção, se não pelo título “ O autor fast food”, mas pela forma inventiva e colaborativa que o escritor James Patterson, grande fabricante de best-seller, desenvolveu no seu domínio de criação. A “fera”  Patterson, que já vendeu mais de 230 milhões de exemplares, bate todos os outros  grandes autores juntos(Dan Brown, Stephen King etc) e hoje é o maior vendedor de livros do planeta. O grande lance do autor é a forma como escreve os seus best-sellers. Ele desenvolveu um processo de escrever livros de sucesso. Isso mesmo: um processo ágil, digamos assim. Ele projeta a ideia central da história, como que registrando o seu product backlog, faz um diagrama esquemático sobre o “ todo” do enredo e depois distribui para a sua equipe de colaboradores (em torno de 7), que desenvolvem as partes, que depois serão integradas pelo autor. O livro é desenvolvido em vários “sprints”  paralelos. Tal como um processo de software orientado a objetos e componentes, James Patterson criou o conceito de componentização de subenredos e integração contínua de inspirações. Claro que  algumas reuniões  periódicas(daily scrum, ou retrospective meeting) com a equipe de colaboradores garantem as interfaces dos componentes com o “trunk” principal. Com um faturamento estimado de US$84 milhões de dólares/ano, Patterson terceiriza e componentiza algo que os escritores de cepa nunca antes ousaram imaginar: a inspiração. Mas as coisas ainda vão longe, muito mais do que imaginam nossos tímidos neurônios ludibriados. Segundo o New York Times, de 10/09/11, foi lançado no mercado americano um produto de software da empresa Narrative Science, localizada em  Evanston, Illinois. Esse produto, fruto de muitos anos de pesquisa em data mining e inteligência artificial, cria textos, somente baseados em números e estatísticas montadas em tabelas. Por exemplo, se você entregar para ele uma tabela contendo o “scout” de um jogo de futebol, o programa será capaz de criar um texto escorreito, ou seja um conjunto de linhas que você juraria ter sido escrito por um bípede, como nós, e não por um algoritmo  entremeado por “uns” e “zeros”. Os autores, durante muitos anos foram os responsáveis pelo laboratório de Intelligent Information da Universidade de Northwestern, onde desenvolveram os conceitos e o código, capaz, pasmem, de gerar textos com narrativas perfeitas, prontos em alguns segundos, conforme  a observação atenta de alguns analistas e jornalistas. Como em todas as ocasiões quando algoritmos inteligentes geram coisas que até então somente nós fazíamos, sobressaltam as dúvidas: Esses softwares vieram aqui para ajudar ou para nos substituir? O jornalismo tradicional não foi(ainda) substituído pela tecnologia, mas ambos se dão muito bem, num estado marital, cada vez mais integrado. A publicidade digital (ainda) não varreu a publicidade impressa para debaixo da lata, e ambas (ainda) convivem harmoniosamente. Segundo os seus autores, a “idéia pincel”, como diz Caetano Veloso, é ajudar nos apressados  ambientes de redações, quando houver necessidade de maior produção de texto, sem o aumento do budget da editora ou do jornal. Algumas empresas como a Fox Networks e Big 10 Conference já adotam o produto visando a criação de textos sintéticos sobre jogos de baseball ou softball, colocados no web site depois de um minuto do final das partidas. Também “scouts”  de lutas de boxes, de futebol, basquete etc  tem sido transformados em textos  fluídos instantaneamente publicados. O produto, diga-se de passagem, é bem mais do que um simples criador de textos originado por algoritmos Java. Além de ser um produtor rápido de textos, o software também analisa dados passados, retidos nos seus Bancos de dados de textos e pode fazer inferências sobre “coisas”, como  jogos por acontecer, possibilidades de vitória.  Ou seja, o danado,  além de escrever rápido, ainda é capaz de ter um certo raciocínio inferencial.  Enquanto a primeira alternativa adotada por Patterson trabalha com inspiração distribuída para ganhar em escala, a segunda alternativa, via Narrative Science, automatiza a produção do texto, desde que a inspiração esteja na forma numérica e tabular. Em outras palavras, basta ter uns números em excel, para se produzir um texto word. Ou seja, daqui a pouco tempo, um texto como esse não será mais assinado por um Carlos Barbieri, mas sim por algo chamado de QuickText, ou FastText, ou WriteforMe . Nesse momento, estarei descansando na minha meia-água em Hope Woods, um condomínio fechado, verde e silencioso, bucólico e discreto, onde a vizinhança não atrapalha e ninguém admira o luar, nem critica o sol a pino. Fica no final da Cristiano Machado, nas imediações da fábrica da San Marino......

quinta-feira, 29 de dezembro de 2011

Big Data- Parte X- Os Big Data e a cafeína.



Na primeira semana de Novembro, eu retornava  de um jantar com amigos do MPS, quando chegando em casa olhei os “posts” do Twitter. Um deles, contava sobre o caso de uma tentativa de estupro numa Universidade, aqui pertinho de casa, que tinha acabado de acontecer, há não mais do que 2 horas. Naquele evento, na realidade, consumi uma informação  fornecida pelo poder das redes sociais, informação essa que ainda não estava dos domínios do Dr. Google, que, em tese, tudo sabe e tudo informa, ou pelo menos assim deveria. Ou seja, em certas circunstâncias, as redes sociais estão informando antes que o Dr. Google e isso aos olhos atentos de Larry Page e Sergei Brin não é boa coisa. E essa tem sido justamente  uma das preocupações da grande empresa de busca: As informações estão chegando rapidamente à rede, via contatos sociais, mas  demoram um pouco mais para serem pescadas pelos  seus analisadores de páginas web, que vasculham o universo digital. No início do mês de Novembro, a gigante anunciava uma mudança nos seus métodos e algoritmos de buscas, a fim de produzir respostas mais atualizadas. Essa mudança é o reconhecimento pela Google de sua dependência da atualidade da informação e de certa forma, da sombra de ameaça que as redes sociais estão trazendo para cima da maior empresa de informações do planeta. Os resultados de um jogo de futebol, nas tardes de domingo, aparecem muito mais rapidamente no Twitter, FB,etc , com comentários inclusive, e somente depois são pescados pelos “crawlers” do Google. As redes sociais, por seu lado, tem incentivado fortemente  a colocação de informações em tempo real, criando um ambiente com o maior grau possível de atualidade. Bem que a gigante de Mountain View já havia tentado um acordo com o Twitter a fim de analisar em tempo(quase)  real as suas mensagens de 140 toques. O acordo foi definido por um tempo, mas depois as empresas não convergiram em termos de renovação do acerto e o mecanismo do Google foi desabilitado. É claro que  a Google ainda responde por 66% das pesquisas web nos EUA, mas o americano já está se acostumando a buscar nas redes sociais a informação do tipo “break news” que só depois(horas, minutos?) estará nas estruturas de Big Table da Google.   Nesse campo, o Twitter é imbatível com a sua instantaneidade de 140 batidas e oferece um produto colateral interessante: As informações poderão já vir com certa análise, crítica, percepções de  espanto, alegria, frustação,etc . Ou seja, além da informação “ in-natura”, certas considerações de “sentimento”  poderão tecer o seu contexto. Dai o crescimento de “Sentiment Analysis”, que discutiremos depois.  O Google acostumou o seu público a consumir informações com certa latência. Páginas “velhas” com as indicações sobre os restaurantes em NYC, ou a escalação do Vasco no jogo que já aconteceu são a tônica do grande depósito. O Google tem uma média de 500 alterações  no seu algoritmo por ano e esse desafio de buscar mais atualidade está na tela de radar da  grande empresa. A ideia é analisar os termos de buscas colocados na caixa de pesquisa e tentar entender  o grau de “freshness(sem tradução, por favor) daquilo que está por ser mostrado. No último anúncio de melhoria de sua máquina de busca(fevereiro de 2011), a ideia foi aumentar o ranking de páginas “mais interessantes”, a fim de “esconder” as de baixa qualidade de interesse, que insistem em inundar as pesquisas com artigos de menor interesse, porém atreladas a consultas também populares. Isso, garante o Google, melhorará a disponibilização de informações mais atuais. Essas melhorias estão escoradas no novo método de indexação definido pela Google, que tem o sugestivo nome de “Cafeina” (Caffeine), que além de varrer a teia digital de forma mais rápida, também o fará de forma constante, em vez de latência de algumas semanas, como acontecia. Como cafeína é um composto alcalóide que tem a propriedade de manter as pessoas mais acesas e alertas, o algoritmo, pelo menos no nome, faz todo o sentido......    

quarta-feira, 21 de dezembro de 2011

Big Data- Parte IX- Os Big Data e as formas de armazenamento-Novas soluções-II.



Continuação do post anterior: Discutindo alternativas para implantação de Big Data com novas proposições e estruturações físicas.


Triplestore:
Outra forma de estruturação de dados se avizinha, buscando uma maior flexibilidade na definição dos bancos de dados construídos na era dos zettabytes. É chamada de Triplestore e nasceu como uma forma de embutir dados e metadados na própria estrutura armazenada. Diferentemente dos modelos relacionais que se baseiam na definição de ênuplas(várias colunas com valores, numa relação normalizada), conceito simplificado para tuplas, a abordagem de triplestore chega com uma proposta diferente. A ideia é que a unidade de armazenamento mínima seja uma tripla, ou seja a conjugação de “sujeito” “predicado”  e “objeto”. Por exemplo, “Barbieri” “escreveu” “livro” , ou “Isabella”  “toca”  “violão”, ou “Cláudio”  “tem”  “30”  (idade). Dessa forma, o armazenamento se dá conjugando os metadados com os dados, explicitados através da tripla combinação desses elementos. Isso sugere uma maior flexibilização na incorporação de novos atributos, visto que se insere uma estrutura atômica do modelo, sem impacto direto em conceitos de tabelas, linhas, etc. O modelo se baseia no framework RDF- Resource Description Framework (RDF) . Semelhantemente ao modelo relacional existe também acoplado a ele uma linguagem de acesso e possibilidades de indexações instantâneas. Os gerenciadores de triplestore já se mostram com a capacidade para  armazenar bilhões de triplas e alguns nomes já surgem nesse novo cenário, engrossando os conceitos da Web semântica. Por exemplo, 3store, Allegrograph, Bigdata, BigOWLIM, Sesame, Soprano,Virtuoso,etc são nomes que aparecem nesse cenário de novas alternativas estruturais. O site da W3C http://www.w3.org/wiki/LargeTripleStores mostra uma relação com diversos produtos desta nova cepa e alguns resultados alcançados por mais de 15 desses RDF Data Base Engine. Alguns desses produtos, como Virtuoso apresenta novas formas de indexações com bitmap, tradicionalmente usado em pesquisas de campos de baixa cardinalidade.
Casssandra:
Outra variante de modelo de dados para esses novos tipos de Bancos de dados é, por exemplo, o usado no Cassandra:
a)As colunas, que são as residências das informações, são associadas logicamente em conjuntos chamados “família”. Uma família de colunas pode ter várias colunas, ou até uma outra família dentro dela. As famílias são definidas no momento da criação do BD. Porém, após esse momento, pode-se criar colunas novas dentro daquela família de colunas;
b)As colunas são associadas a chaves específicas, ou seja uma tupla(linha no relacional) pode ter colunas diferentes. No modelo relacional deve-se usar o conceito de “nulos” para as colunas que não tem valores naquela tupla. Os valores de uma família de colunas, associadas a uma chave, são armazenadas juntas.
Em alguns produtos semelhantes, as colunas são armazenadas também contendo as regras de  de domínios, numa espécie de acoplamento dos dados com os seus metadados, todos habitando o mesmo espaço. Isso permite que  consistências e integridades sejam aplicadas no momento de acesso ao dado, agilizando as verificações e manipulações  aplicadas sobre eles e definidas como regras.
MongoDB
Um dos produtos que começa a aparecer nessa nova seara de NoSQL é o MongoDB. Já usado em algumas aplicações específicas em BH, o produto se denomina um Banco de dados de documentos. Na realidade, o conceito de documento apresentado pelo produto pode ser entendido como o de um “objeto complexo”. Semelhantemente aos SGBDOO(Bancos de Dados orientados a objetos) dos anos 80, o Mongo permite sob a capa de um documento, a definição de um objeto complexo.  E o que é um objeto complexo, então? Um objeto complexo é a definição de uma estrutura de dados, totalmente flexível e sem regras estruturais colocadas, como vimos no modelo relacional, ou um pouco nos anteriores(hierárquico e rede). Nessa nova proposta, por exemplo, cada linha(só para dar a equivalência conceitual com os relacionais), pode conter qualquer número de dados associados a uma chave primaria, um Object-id definido internamente. Os dados associados a cada chave podem formar famílias de colunas, sendo que cada coluna pode ser , por sua vez, uma estrutura complexa, como outra família de colunas, ou array, ou apontadores recursivos. Cada linha, identificada, pode ter um número de colunas diferente de outras linhas da mesma Entidade.  Por exemplo, um  certo cliente poderá ter 20 colunas, e outro 100, fugindo um pouco das abordagens de campos nulos, trazidos nos conceitos relacionais, para tornar as linhas homogêneas. Assim, por exemplo,  um documento (objeto) Projeto pode ser formado de dados de projetos, de dados de Equipes, que por sua vez são formadas de dados de Empregados. O que acontece é que o que seriam estruturas bem comportadas em modelos relacionais ou hierárquicos, no MongoDB, pode aparecem como um objeto complexo, como que já “joined” e entrelaçados. Embora com uma estruturação complexa, passível de recursividades, o produto permite que a busca seja feita somente trazendo os pedaços de informações desejadas. Usam a indexação baseada em BTree e permitem acessos muito rápidos em dados estruturados segundo essa concepção. Não oferece conceitos transacionais padrão de ACID e de SQL, ficando por conta do programador a incumbência de estabelecer esses controles, caso desejados. Tem forte vocação para inserções em massa, com dados sem grande volatilidade de modificações. Exatamente como se espera em aplicações como Twitter, Linkedin,Facebook, e-mails, etc onde milhões de “posts”  são inseridos, mas não deletados ou modificados. A sua estrutura de objeto complexo permite a modelagem de informações de forma rica, criando possibilidades de aplicações em gerência de conhecimento, repositórios para produtos de BPM, etc.


Resumo da ópera:

Com a diminuição de custos de armazenamento e a busca por maior rapidez e flexibilidade nas estruturações e pesquisas, o conceito de BI2 também se valerá dessas novas proposições, principalmente para armazenamento de grandes volumes de dados que se mostram como forte tendência nessa década. Existe um conjunto enorme de alternativas desenvolvidas e em desenvolvimento, na sua maioria dentro do espaço dos códigos livres. O segredo para se adotar uma proposição correta  será:
1)Analisar cuidadosamente os seus requisitos de dados(estruturados, semi-estruturados, ou não estruturados), com análise crítica das necessidades de volumes, velocidade de processamento e periodicidade e tipos de atualização;
2)Executar provas de conceitos, usando essas novas propostas e verificando a sua efetiva aplicação no item anterior(requisitos). Essas ferramentas podem ser “baixadas” de núcleos sérios como Fundação Apache, por exemplo;
3)Analisar a relação custo benefício, que envolverá não somente a parte de arquitetura de “nós” , mas também a capacitação da equipe em técnicas em conceitos returbinados como DFMS(Distributed File Management System), processamentos em arquiteturas  paralelas, ambiente de alta tolerância, replicações,etc;
4)Finalmente decidir na teoria do melhor “encaixe” nas necessidades da empresa,  cuidando para deixar de lado o ímpeto pelo uso dos modismos. Lembre-se que para cada problema poderá aparecer uma solução adequada, seja ela o velho e tradicional SGBDD, ou os novos e desafiadores frameworks, como Hadoop/MapReduce, ou soluções NOSQL.
A figura abaixo ilustra os principais conceitos que diferenciam o tradicional modelo relacional e os novos modelos NoSQL.
A figura abaixo ilustra os principais conceitos que diferenciam o tradicional modelo relacional e os novos modelos NoSQL.



Fontes:

Barbieri,C. BI2-Business Intelligence-Modelagem e Qualidade. Elsevier,2011
Roebuck, K. Storing and managing  big data-NoSQL,Hadoop and more
O´Reilly Radar Team. Big Data Now: Current perspectives from O´Reilly Radar
Sydle-Entrevista com a equipe de BD da empresa, sobre a aplicação de MongoDB-Novembro de 2011