A plataforma de dados InterSystems Iris agora apresenta suporte nativo completo para Python, liberando o poder da linguagem de programação mais popular do mundo para criar aplicativos de missão crítica com uso intensivo de dados.
Essa decisão estratégica leva em consideração vários fatores:
• A grande escala no uso de Python dentro das corporações
• Python passou ser a um padrão de fato para desenvolvimento de modelos de Machine Learning (ML)
• A grande oferta e demanda de programadores Python.
A seguir iremos explorar esses pontos.
O crescimento do Python
Inegável o crescimento explosivo do uso de Python nas grandes corporações. Isso é facilmente comprovado em várias publicações acessadas na web, tanto acadêmicas quanto jornalísticas. Não é à toa que os desenvolvedores focados nas aplicações de missão crítica com uso intensivo de dados passaram unanimemente a preferir as plataformas de dados de arquitetura única para suportar todo tipo de dados e cargas de trabalho.
Afinal, análise de bases de dados e baixa latência, além da interoperabilidade, são características muito vantajosas dessas plataformas para se trabalhar com modelos analíticos e de aprendizado de máquina (Machine Learning-ML). Esse trabalho tem como base a criação de modelos de análise que precisam passar por um “treinamento”, que consiste em expor esse modelo a dados históricos e observar como o modelo de ML se comporta e se as conclusões do cientista de dados estão corretas ou não.
O gráfico abaixo mostra o aumento da demanda por programadores em Python.
Para os programadores independentes, Python oferece um grande ecossistema de desenvolvedores e “peer-support” (algo como suporte solidário) onde desenvolvedores menos experientes podem contar com a sabedoria e experiência de uma comunidade de milhões de desenvolvedores.
Além disso, existem milhares de bibliotecas de funções analíticas e de ML que aceleram o desenvolvimento de modelos de ML: TensorFlow, NumPy, Ramp, Matplotlib, e Pandas para citar apenas algumas. Esses são alguns dos motivos que tornaram Python tão popular entre os cientistas de dados, a ponto de superar o desenvolvimento de modelos em R.
Um novo padrão para Machine Learning
Os modelos analíticos e de Aprendizado de Máquina ou “Machine Learning” (ML) são baseados na criação de modelos de análise que precisam passar por um “treinamento”, que consiste em expor esse modelo a dados históricos e observar como o modelo de ML se comporta e se as conclusões do cientista da dados estão corretas ou não.
Um dos pontos mais importantes do ML, no entanto, e que muitas pessoas se esquecem ou não levam em consideração, é a qualidade dos dados usados na etapa de treinamento. A seu respeito, um dos pensadores mais respeitados da comunidade de TI no Brasil, Cezar Taurion, fez o seguinte comentário em um post: “(…) Hoje gasta-se, pelo menos 80% do tempo na preparação e limpeza dos dados para um sistema de ML ser treinado. Modelos com esse conceito tendem a apresentar resultados ruins quando os dados mudam, por exemplo, quando entrando em produção.”
O tempo e o esforço que as corporações dispendem preparando os dados para serem ingeridos nos modelos de ML é muito grande e é “preconceituoso”. O pré-conceito é fazer os dados se adequarem ao modelo, quando o correto seria o inverso. Os dados acumulados representam a vida como ela é, ou seja, a realidade.
O uso de um “Smart Data Fabric”, onde os dados são tratados como cidadãos de primeira classe, permite que os dados sejam tratados, limpos e anonimizados sem perder a sua significância e a sua ligação com a realidade.
Um dos grandes gargalos de processamento de modelos analíticos ou de ML, é a tempo necessário para preparar os dados, que residem num sistema de armazenamento de dados transacional, e levá-los para o sistema de processamento analítico. Os modelos analíticos requerem uma grande massa de dados e mesmo o tempo de transferência do resultado de uma query entre os dois sistemas, pode ser significativo.
Um dos grandes apelos de se usar Python dentro do InterSystems Iris é conseguir rodar esses processos analíticos no servidor de banco de dados, eliminando a necessidade de transferir os dados do banco transacional para o servidor de processamento analítico.
A partir da versão 2021.2 do InterSystems Iris, Python é uma das linguagens de desenvolvimento que rodam nativamente dentro do InterSystems Iris, que também permite o desenvolvimento em Java, .Net e ObjectScript. Os modelos de ML que já existem podem ser portados para rodar no InterSystems IRIS, com poucas ou nenhuma adaptação, agilizando o desenvolvimento e a entrada em produção dos modelos de ML.
InterSystems Iris um banco de dados translítico ou HTAP
O InterSystems Iris é um banco translítico, termo usado pelo Forrester Group para descrever um banco de dados que é capaz de executar operações transacionais tradicionais concomitantemente com operações analíticas, HTAP do inglês “Hybrid Transactional and Analytical Processing” é outro termo usado para descrever esse tipo de servidor.
A figura acima mostra a arquitetura de um teste de ingestão transacional num ambiente translítico, esse teste de performance foi desenvolvido pela InterSystems e é auditado por uma consultoria externa para garantir a idoneidade dos resultados. Maiores detalhes do teste podem ser encontrados neste link:
https://www.intersystems.com/speedtest
Os resultados dos testes de performance HTAP mostram que o InterSystems Iris apresenta melhor performance, em comparação com outros bancos de dados, em um ambiente misto de ingestão de dados e tempo de resposta das queries.
Os resultados variam entre 60% e 4860% em termos da quantidade de novos registros ingeridos, enquanto os tempos de resposta das queries analíticas variam entre 170% e 5600% na média em favor do InterSystems Iris.
No link acima, também é possível encontrar os procedimentos para executar o teste em seu próprio ambiente ou em uma Nuvem como AWS.
A natureza híbrida do InterSystems Iris, permite que ele seja extremamente performático em ambientes de ML, e agora com a possibilidade de executar código em Python nativamente na plataforma, isso permite que os cientistas de dados executem os processos no servidor de dados ao invés de levar os dados para o servidor de processamento analítico.
Além disso o InterSystems Iris suporta PMML (Predictive Model Markup Language) que permite que ele importe ou exporte modelos preditivos de Machine Learning, o que torna o InterSystems Iris a plataforma ideal para a implementação de MLOps, ou Machine Learning Operations.
MLOps implementa ferramentas para o gerenciamento do ciclo de vida completo de um modelo de ML: treinar o modelo, conduzir análise dos erros para identificar os tipos de dados nos quais o algoritmo apresenta baixa performance, conseguir mais dados via nova coleta ou conseguir marcações mais consistentes para os dados que foram detectados como ambíguos. E finalmente o teste em produção no mundo real, onde os novos dados são usados para refinar continuamente o modelo. Uma pesquisa recente aponta que um terço das organizações não monitoram rotineiramente ou retreinam seus modelos de ML para melhorar a performance.
Novamente, o suporte ao Python dentro do InterSystems Iris alavanca e acelera este processo, tornando o InterSystems Iris a plataforma de dados ideal para projetos de ML que se alimentam de dados oriundos de um sistema transacional.
Espero que este breve artigo tenha despertado o seu interesse no uso de Python com o InterSystems Iris, verdadeiramente um “Casamento Perfeito”!
Publieditorial
Leia nesta edição:
CAPA | TECNOLOGIA
Centros de Dados privados ainda geram bons negócios
TENDÊNCIA
Processadores ganham centralidade com IA
TIC APLICADA
Digitalização do canteiro de obras
Esta você só vai ler na versão digital
TECNOLOGIA
A tecnologia RFID está madura, mas há espaço para crescimento
Baixe o nosso aplicativo