O problema que define a nossa época corrente, em BI, é o grande volume de dados. Parece que todo o restante é um problema secundário quando alguém joga as palavras BigData na sala.

Como reinar sobre eles? Como manter uma vida pessoal, ser um profissional de BI de sucesso e mesmo assim conseguir atender às necessidades gasgantuescas de acúmulo de dados e – pior ainda – análise desses?

Conseguindo uma Big Fragging Gun for BI. ;-)

BFG

Quem é velho (ou novo) o bastante para ter jogado muito video-game vai se lembrar de um jogo chamado Doom. Nele havia uma arma, a Bio Force Gun, ou BFG, que disparava o tiro mais poderoso do jogo. Ninguém nunca a chamava de Bio-Force Gun, mas sim de Big F****** Gun, por que ela arrasava (hehe) tudo no caminho. Nada resistia à ela.

Big Fragging Gun!
Big Fragging Gun!

Quando você tem um problema muito grande, você o resolve com ferramentas ainda maiores.

Em 28/04/2015 eu proferi uma palestra no SERPRO exatamente sobre isso: como resolver um problema do tamanho do governo federal brasileiro?

Usando uma ferramenta maior. >:-)

O Tamanho da Bagaça

A IBM é uma das maiores empresas do mundo, e tem cerca de 400.000 empregados em 2015. A esfera federal do governo brasileiro emprega mais de 1.900.000 pessoas.


Permitam-me frisar: UM MILHÃO E NOVECENTAS MIL pessoas. Dá quase cinco IBMs (e olhe que uma IBM existe no mundo inteiro. Estamos falando de quase cinco dessas, circunscritas ao Brasil.)


Se cada uma dessas 1.9M pessoas gerar duas linhas de dados por dia, dá quase quatro milhões de dados só sobre o próprio governo, por dia.

Quatro milhões? Pff, dirão meus leitores, que sabem que eu chamo fato com 10 milhões de linhas de pequena (pequena, para mim, era um milhão, mas é um número tão carne de vaca – qualquer coisinha já gera um milhão de linhas – que eu precisei atualizar esse meu patamar.)

Bom, uma parte considerável desse contingente todo – quase 2 milhões de pessoas – opera os sistemas que movem o governo federal, e que fazem o governo federal mover as coisas no Brasil. É um mundaréu de gente e dados: começa por orgãos como a Receita Federal, o Tesouro Nacional e o Ministério do Planejamento, que detêm o grosso do trabalho informatizado, vai até fundações como a Biblioteca Nacional e diversos museus, e passa por universidades, hospitais, todas as forças-armadas, ONGs etc. etc. etc.

Não há Teradata que aguente, na boa.

O Tamanho do Problema

Preciso dizer mais?? Cada empresa já sofre um parto para montar um punhado de estrelas para análises, imagine cruzar dados entre empresas! E fazer isso oferece capacidade real e imediata de ganhos para nós, pagadores de impostos.

Se um ministério tem um custo de infra-estrutura, e todos os ministérios tem custos semelhantes, temos muito a ganhar em gestão entendendo esses gastos e buscando oportunidades de economia. Aproveitando um tema que anda pela moda, o potencial de terceirização – com ganhos de produtividade, qualidade e custos – são gigantescos!

Mas não compre ainda!

Como uma mega-instituição, complexa, pesada, coisas mais sutis passam completamente despercebidas! Você consegue imaginar a quantidade de perdas, desperdícios, erros e fraudes que pode acontecer em um sistema composto por tantos sistemas, e cada um com sabe-se lá quantas partes móveis? Todos esses dados, consolidados, integrados e deduplicados, se analisados com critério, podem mostrar muitas oportunidades de melhorias.

E se pudéssemos integrar os dados financeiros aos dados do DNIT? E se pudéssemos colocar lado-a-lado os dados das polícias de todo país e dos hospitais? Pense nos dados dos ministérios da Saúde, do Trabalho, da Fazenda, unidos! O que isso não poderiam nos dizer?

Como se não bastasse, de onde saem os parâmetros para definição de políticas? De onde tiramos que um projeto social está dando o resultado desejado, ou uma política de estado está tendo o efeito planejado?

Para arrematar, no meio de todos esses dados operacionais do Governo Federal existem os nossos dados, aos quais a Lei de Acesso nos granjeia acesso livre e imediato.

Conseguem ter uma noção da monstruosidade que é coletar e integrar todos esses dados, quiçá analisá-los??

Inteligência Institucional

Eu diria que ser um Governo Eletrônico é ser capaz de fazer mais que informatizar e automatizar os processos. Ser um Governo Eletrônico é ser capaz consumir esse planeta de dados para melhorar a si mesmo e para entregar serviços melhores. (Oceano de dados agora me parece uma coisa muito pequena. Já, já eu vou estar falando de Sistema Solar de Dados, ou Pequena Nuvem de Magalhães de Dados, hehe.)

Malgrado as dificuldades do mundo real, conseguir a capacidade de acumular e analisar esses dados é um imperativo para qualquer instituição, e um imperativo ainda mais forte para uma instituição tão central a um nação quanto seu Governo Federal.

Soluções

Tradicionalmente, uma solução de BI que analise os dados da empresa inteira tem esta aquitetura:

Arquitetura tradicional de EDW.
Arquitetura tradicional de EDW.

Ou seja, existe um banco de dados (relacional, quase sempre) que serve como Enterprise Data Warehouse (EDW ou Armazém de Dados Corporativo.) Quase sempre, também, esse EDW armazena os dados em um modelo dimensional, composto por uma coleção de estrelas (conjuntos de tabelas dimensão ligadas a uma fato.) Cada estrela representa um assunto dentro da empresa, e as estrelas são integradas via um barramento de dimensões conformadas.

Finalmente, um processo de ETL cuida de ler os dados na origem, limpá-los, arrumá-los, integrá-los e finalmente depositá-los no banco de dados, no EDW.

Uma empresa de porte médio, talvez até grande, pode conseguir viver com um EDW assim. Mas o modelo dimensional funciona bem para analisar, para explorar os dados, não para armazená-los eternamente, muito menos para integrá-los. Tanto é assim que a integração é feita pelo processo de ETL.

A partir de um certo ponto, essa estrutura colapsa sobre o próprio peso e se torna impossível de receber manutenção. Em bom informatiquês, torna-se imanutenível.

E esse não é o único galho dessa abordagem, não senhor! Que tamanho você acha que um banco de dados relacional, por mais parrudo que seja, consegue atingir? Você consegue imaginar uma tabela em um Postgres ou Oracle ou Teradata recebendo gigabytes e gigabytes diariamente, por meses, anos, décadas?? Nem eu!

Mas há soluções para cada um destes problemas.

A mais fácil é o volume de dados. Um cluster Hadoop consegue armazenar uma quantidade razoavelmente (petabytes) grande de dados, com performance de consulta aceitável, a um custo viável por gygabyte. Não vou entrar em detalhes aqui pois há muito sobre isso na web.

Sobrou a outra ponta: acumular e integrar esses dados.

A solução não fácil, ou mágica, mas existe: Data Vault. Veja essa arquitetura:

Arquitetura de EDW adequada a mega-empresas.
Arquitetura de EDW adequada a mega-empresas.

Ela propõe um EDW baseado em Data Vault, armazenado em um cluster Hadoop.

Isso resolve dois grandes problemas de uma vez:

  1. Integração: o modelo de dados de um Data Vault integra os dados. Quando uma nova fonte é incorporada ao EDW do Governo, o GDW (Government-sized Data Warehouse), os dados redundantes já entram nas tabelas pré-existentes e apenas os dados novos entram em tabelas novas. O processo de ETL, por outro lado, passa a ser completamente “burro”, pois vai apenas mover os dados novos dos sistemas de origem para dentro do EDW;
  2. Manutenção: a inclusão, alteração e remoção de fontes de dados, bem como a integração entre as fontes, passa a ser uma atividade padronizada, organizada e repetível. Acaba o pesado de inconsistência entre dimensões “parecidas mas diferentes”, comuns em DWs dimensionais.

Fábrica de Dados

A minha proposta nada mais é que a reedição do conceito de Fábrica de Informações Corporativas do Bill Inmon, com um Data Vault no meio, e com dados gravados em um cluster Hadoop. Isso mesmo: nada de novo. Já poderia ter sido feito há anos. Talvez até há mais de uma década, já que outra vantagem do Data Vault é a relativa facilidade de migração de fontes de dados. Ainda teria havido um bom retrabalho passar de um Data Vault 1.0, típico em bases relacionais, para o Data Vault 2.0, adequado ao Hadoop, mas nada teria sido intransponível.

Lei de Acesso à Informação

E como fica o atendimento à Lei de Acesso à Informação neste cenário?

Consideravelmente mais simples:

  • Ao invés de cada orgão ter que atender à demandas em separado, um único centro de dados do Governo faria isso;
  • Novas demandas de inclusão passam a ser tratadas uma única vez, em um único ponto: se um orgão pode atender seus pedidos de acesso à dados com dados já capturados por conta de outra demanda dos mesmos dados;
  • O pedido de novos dados, ainda não coletados, entra em uma linha de produção muito mais previsível e estável que a loucura tradicional de montar um serviço para cada demanda, em cada orgão.

E é claro, essa integração daria um poder fantástico ao gestor público.

Conclusão

Você pode baixar o PDF da apresentação clicando aqui e ver um pouco mais de argumentação. Esse material nunca foi aproveitado para nada dentro do SERPRO, e foi criado por mim mesmo por puro diletantismo, em meus períodos de lazer. Eu cheguei a propor como um produto, mas haviam outras coisas mais interessantes ou urgentes.

Pensando um pouco, acho que essa solução não precisa se limitar à esfera federal. Seria relativamente simples construir o mesmo em esferas estaduais e municipais, e integrá-las.

7 comentários sobre “Big Fragging Gun!

  1. O texto é bom, infelizmente você tem pouco conhecimento sobre os sistemas do governo federal. Os dados financeiros são centralizados há décadas. O FNDE, MDS, INEP e órgãos correlatos tratam e analisam os dados de politicas sociais. A troca de dados e informações entre os órgãos funciona muito bem.
    A melhor forma de ter um custo menor e aumentar a integração de dados é cada órgão começar a trabalhar em uma abertura de dados conectados nível 5 estrelas.
    O custo e tempo para criar uma uma fábrica de informações corporativas não justifica no caso.
    Se você começar a estudar melhor os dados que cada setor governamental produz, irá perceber que para essa análise ser centralizada talvez a empresa responsável ou órgão ficasse do tamanho da IBM. Cada dado e informação de uma área carrega uma carga semântica absurda.Por isso, reforço que o melhor modelo é o descentralizado com interfaces de troca de dados bem definidas.

    PS: os dados financeiros do DNIT estão no SIAFI assim como os dados financeiros de todo os entes federais.

    1. Muito obrigado pelo comentário, Thiago. E você tem razão: eu conheço pouco sobre como os sistemas são organizados. Você diz que não temos nenhuma dificuldade em analisar e/ou publicar os dados, e que isso já é feito?

      O custo de se construir a arquitetura proposta é muito menor que um projeto tradicional de DW dimensional do mesmo porte. Na verdade, eu diria que um DW dimensional do mesmo porte é tecnicamente inviável. Não vou nem considerar a 3FN, aliás.

      Por outro lado note que eu não proponho análise centralizada. Cada orgão deve fazer as análises que precisar. O que eu desenhei foi uma proposta de centralizar os dados, tal que qualquer um possa solicitar um recorte para análise.

      Não sei se entendo o que significa uma integração “5 estrelas” – é uma técnica, ou é uma integração “excelente, 5 estrelas!” ?

      O modelo descentralizado parece possuir desafios interessantes. Você está sugerindo uma arquitetura na qual cada orgão mantém um SGBD com os próprios dados, carregados segundo um processo específico e comum a todos, e uma interface padronizada de acesso? Ou entendi errado?

      1. O conceito de dados abertos 5 estrelas vem do autor Tim Berners Lee. Estou comentando que só a centralização do armazenamento já gera custos desnecessários. Não estou falando de modelo, esqueça 3FN,DW. Cada instituição mantém seus dados e informações como quiserem(poder ser um dw,orientado a grafo,orientado a documentos). A única coisa que tem de ser definida é a interface pro mundo externo. Como esses dados serão divulgados para o público ou algum outro órgão que os solicite.APIs, metadados bem definidos…etc. Atualmente os órgãos trocam informações de forma eficiente, a única coisa que a atrapalha é uma definição clara da gestão da informação, quase nenhum órgão tem o processo definido.
        Sim você entendeu certo,uma interface padronizada de acesso.

      2. Obrigado, Thiago. Vou pesquisar sobre o que meu ilustre colega propôs. Enquanto isso, olhando para o lado concreto da coisa, ainda tenho mais duas perguntas: 1) como fica a questão do histórico nesta visão de dados-5-estrelas? e 2) neste cenário de APIs e dados distribuídos, a integração deve ser feita por cada consumidor de dados, correto?

      3. Thiago, eu li um pouco sobre o conceito de 5 estrelas. Ele é uma escala de classificação é trata apenas de dados abertos. Ainda que seja intuitiva e faça sentido, é muito pouco para alguém construir alguma coisa. Há muito trabalho para transformar mesmo dados no estágio 5 (que eu ainda não vi) em alguma coisa mais palpável, mais útil – como um cubo OLAP ou tabelão para Data Mining.

        O que eu proponho no post não é uma solução para ofertar dados abertos. Eu proponho algo que vai além: uma solução para o problema gargantuesco que o Governo (Federal ou em qualquer outra esfera) enfrenta ao tentar integrar dados de fontes díspares. O formato de APIs pode ser muito sedutor, mas é inviável como arquitetura para os problemas do dia-a-dia. O mero tráfego do volume de dados envolvido entupiria os servidores de cada lado. Sem contar que cada um que quiser analisar vai precisar entender completamente do assunto.

        Eu proponho outra abordagem: o Governo acumula seus dados, em um grande cofre-forte. As demandas são atendidas a partir deste concentrador. Note que eu pensei nisso como um produto para o SERPRO, que seria uma linha de montagem de soluções de dados para o Governo Federal. Ao invés de pedir os dados e depois integrá-los, como é no fundo sua proposta, o cliente (Governo) vem ao SERPRO encomendar essa ou aquela solução – seja para dados abertos, seja para análise.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s