Arquitetura de Big Data para o Hospital de Clínicas (Estudo de Caso)

Recentemente fiz uma matéria de Fundamentos de Big Data e Arquitetura da Informação no meu MBA de Big Data Aplicado ao Marketing (que já está quaaase no finzinho).

Foi uma experiência bem diferente, porque a minha formação é em publicidade e, apesar do gosto que adquiri em relação à programação e análise de dados, a parte de engenharia foi um horizonte novo e totalmente desconhecido.

Durante a matéria foi proposta uma atividade onde deveríamos construir uma arquitetura de informação para o Hospital de Clínicas de Porto Alegre. Deveria ser uma solução para questões relacionadas a dados não estruturados, semiestruturados e aspectos de self service BI, a partir de uma arquitetura existente.

O Hospital de Clínicas de Porto Alegre - HCPA (www.hcpa.ufrgs.br) é o Hospital escola da Universidade Federal do Rio Grande do Sul, integrante da rede de hospitais universitários do Ministério da Educação. Foi inaugurado em 1972, com a missão de oferecer serviços assistenciais de nível terciário no sul do Brasil, contando com 735 leitos, 143 consultórios ambulatoriais e 3817 funcionários.

Neste ambiente são desenvolvidas três atividades principais, intrinsecamente relacionadas: assistência, ensino e pesquisa.

Este amplo espectro de atuação evidencia a complexidade dos serviços prestados. O HCPA possui um banco de dados corporativo operacional, construído para suportar as aplicações transacionais inerentes a sistemas de controle dos processos do hospital. Esta base de dados é composta de sistemas clínicos e administrativos com 1400 tabelas e 100 GB de dados armazenados em banco de dados Oracle. Possui uma rede de alta velocidade de 1.500 pontos, distribuídos em todos os locais onde se geram informações, viabilizando o atendimento assistencial a uma população que se beneficia anualmente de 550 mil consultas, 27 mil internações, 2 milhões exames e 29 mil cirurgias.

A solução atual segue a proposta de Kimball. Por meio de uma série de Data Marts físicos temos um Data Warehouse lógico que contempla todos os aspectos indicados nos aspectos informados anteriormente.

Atualmente, com o advento de redes sociais, que geram dados semiestruturados, percebeu-se a necessidade integrar esse tipo de dado, que certamente enriquecerá o conhecimento do hospital acerca do pensamento de seus pacientes e do público em geral.

Por outro lado, vários equipamentos hospitalares geram dados, que atualmente não são analisados, pois não há pessoal capaz de manipular essa enorme quantidade de dados gerados.

Temos ainda uma infinidade de dados existentes em planilhas, e-mails e mesmo em sistemas que não são aproveitados pela solução clássica de BI.

Deveríamos propor uma solução arquitetônica que respeitasse a situação atual, mas implementasse novas estratégias capazes de permitir que esses dados fossem aproveitados para a tomada de decisão.

Foi considerada uma arquitetura que recebe dados gerados por equipamentos num processo de ingestão, mas com características analíticas tipicamente encontradas em modelos dimensionais. O problema é que eram dados de máquina, ou seja, grande volume e aspectos técnicos dos dados de difícil análise por humanos.

Além disso, temos também a entrada de dados por redes sociais, predominantemente na forma de textos. Esses dados precisam ser armazenados em um Logical Data Warehouse, num Data Lake ou em alguma outra estrutura de armazenamento de forma a possibilitar sua posterior junção numa área de Sand Box.

Abaixo segue uma representação da arquitetura desenvolvida:

Características da Oracle:

  • Banco de dados relacional
  • Arquitetura padrão para armazenamento de dados transacionais
  • Consistência em todas as transações
  • Baixa latência para análise de dados transacionais
  • Confiabilidade na informação
  • Versatilidade: pode ser instalado em diversos sistemas operacionais, como Linux e Windows.
  • Flashback Technology: recuperação de dados

Foi escolhido o HDFS do HADOOP como trabalho inicial para a análise de Big Data do hospital pois apresenta as vantagens:

  • Fácil implementação inicial: por armazenar as informações em modelo de documentos JSON, consegue entender e analisar diferentes entradas de informação, deixando sua implantação menos custosa;
  • Integração com o banco transacional ORACLE;
  • Integração com outros tipos de bancos (ex. Cassandra), para futuras expansões de análises.
  • Principais características:
  • Banco de dados baseado em documentos;
  • Informações armazenadas no formato JSON;
  • Escalável;
  • Custo benefício;
  • Tolerância ao erro;
  • Rápido;
  • Código aberto.

Com este trabalho deu pra perceber como é complexa a criação de uma arquitetura de informação para big data. Inicialmente foi um pouco difícil se familiarizar com uma grande quantidade de arquiteturas e softwares com nomes cada um mais maluco do que o outro (vide o ecosistema do hadoop, haha), mas foi uma experiência extremamente válida para adquirir um tipo de conhecimento muito específico e restrito.