Olá comunidade,

Quero compartilhar minha experiência trabalhando em projetos que lidam com um volume masivo de dados. Ao longo dos anos, tive a oportunidade de lidar com enormes volumes de dados de pacientes, dados de pagadores e logs transacionais enquanto trabalhava na indústria hospitalar. Tive a chance de criar relatórios enormes, que precisavam ser escritos usando lógicas avançadas para buscar dados em múltiplas tabelas, cujos índices não ajudavam a escrever código eficiente.

Aqui está o que aprendi sobre como gerenciar grandes volumes de dados de forma eficiente.

Escolhendo o melhor método de acesso aos dados

Como todos nós da comunidade sabemos, o IRIS oferece múltiplas maneiras de acessar dados. A escolha do método correto depende do requisito.

  • Acesso direto a global: o mais rápido para operações de leitura/gravação em massa. Por exemplo, se eu precisar percorrer índices e buscar dados de pacientes, posso percorrer as globais para processar milhões de registros. Isso economiza muito tempo.
Set ToDate=+H
Set FromDate=+$H-1 For  Set FromDate=$O(^PatientD("Date",FromDate)) Quit:FromDate>ToDate  Do
. Set PatId="" For  Set PatId=$Order(^PatientD("Date",FromDate,PatID)) Quit:PatId=""  Do
. . Write $Get(^PatientD("Date",FromDate,PatID)),!
  • Usando SQL: Útil para relatórios ou necessidades analíticas, embora seja mais lento para conjuntos de dados muito grandes.

1 0
0 18

Motivação

Eu não conhecia ObjectScript até começar meu novo emprego. Objectscript não é exatamente uma linguagem de programação jovem. Comparada a C++, Java e Python, a comunidade não é tão ativa, mas estamos empenhados em tornar este lugar mais vibrante, não estamos?

Notei que alguns dos meus colegas acham complicado entender as relações de classes nesses projetos enormes. Não existe nenhuma ferramenta moderna de diagrama de classes fácil de usar para ObjectScript.

Trabalhos Relacionados

Eu testei trabalhos relevantes:

0 0
0 21

Olhando para o meu banco de dados, vejo que tenho um ^rINDEXSQL muito grande! Por que isso? 😬

Na página de SQL do Management Portal, em "SQL Statements", vejo um botão 'Clean stale' – o que ele faz? 🤔

Na lista de Statements, alguns têm um valor em 'Location' e outros não. Como isso acontece? 🤨

0 0
0 22

Embeddedpy-bridge: Um kit de ferramentas para Embedded Python

Visão geral

Embedded Python é um divisor de águas para o InterSystems IRIS, oferecendo acesso ao vasto ecossistema Python diretamente dentro do banco de dados. No entanto, fazer a ponte entre ObjectScript e Python às vezes pode parecer como traduzir entre dois mundos diferentes.

0 0
0 25

A versão 2025.3 do InterSystems IRIS® data platform, InterSystems IRIS® for Health, e HealthShare® Health Connect já estão disponíveis para o público em geral (GA). Esta é uma versão de distribuição contínua (CD).

1 0
0 47
Artigo
· Nov. 24, 2025 4min de leitura
O que Aprendi com Múltiplas Migrações de Dados

Olá!

A migração de dados costuma parecer uma simples "tarefa de mover dados de A para B" até você realmente fazê-lo. Na realidade, é um processo complexo que combina planejamento, validação, testes e precisão técnica.

Em vários projetos nos quais lidei com a migração de dados para um HIS (Sistema de Informação Hospitalar) que roda em IRIS (TrakCare), percebi que o sucesso é resultado de uma combinação de disciplina e automação.

Aqui estão alguns pontos que desejo destacar:

1. Comece com um Formato de Dados Definido.

Antes mesmo de abrir seu primeiro arquivo, certifique-se de que todos, especialmente os fornecedores de dados, entendam claramente o formato de dados exato que você espera. Definir modelos (templates) logo no início evita idas e vindas desnecessárias e retrabalho mais tarde.

Embora os formatos Excel ou CSV sejam comuns, eu pessoalmente sinto que usar um arquivo de texto delimitado por tabulação (.txt) para upload de dados é a melhor opção. É leve, consistente e evita problemas com vírgulas dentro de campos de texto.

PatID   DOB Gender  AdmDate
10001   2000-01-02  M   2025-10-01
10002   1998-01-05  F   2025-10-05
10005   1980-08-23  M   2025-10-15

Certifique-se de que os formatos de data fornecidos no arquivo estejam corretos e constantes em todo o arquivo, pois todos esses arquivos geralmente são convertidos de um arquivo Excel e um usuário básico de Excel pode cometer erros ao fornecer formatos de data incorretos. Formatos de data errados podem ser irritantes ao tentar converter para o formato $Horolog.

1 0
0 51

Documentação Técnica — Quarkus IRIS Monitor System

1. Objetivo e Escopo

Este módulo permite a integração entre aplicações Java baseadas em Quarkus e as capacidades nativas de monitoramento de performance do InterSystems IRIS.
Ele possibilita que o desenvolvedor anote métodos com @PerfmonReport, acionando automaticamente as rotinas ^PERFMON do IRIS durante a execução do método e gerando relatórios de performance sem intervenção manual.

0 0
0 38

Oi pessoal! Esse artigo é para quem está começando com InterSystems IRIS. Espero que ajude!

O InterSystems IRIS é uma plataforma de dados unificada: uma base de dados de alta performance com ferramentas de interoperabilidade e análise integradas em um só produto. Você tem SQL e NoSQL na mesma máquina, além de jeitos nativos de rodar Python com seus dados. Em resumo: menos peças móveis, mais capacidade de processamento.

1 0
0 55

Uma coisa que aprendi ao longo dos anos é que, não importa o quão aprimorada seja a lógica do seu aplicativo, o desempenho do banco de dados acabará por determinar o sucesso ou fracasso da experiência do usuário. Trabalhando com o InterSystems IRIS, recentemente vivenciei isso em primeira mão. Um de nossos clientes estava construindo um painel de relatórios que funcionava perfeitamente durante os testes, mas assim que o conjunto de dados de produção cresceu para milhões, os tempos de resposta ficaram extremamente lentos.

0 0
0 64

Introdução

MonLBL é uma ferramenta para analisar o desempenho da execução de código ObjectScript linha por linha. codemonitor.MonLBL é um wrapper baseado no pacote %Monitor.System.LineByLinedo InterSystems IRIS, projetado para coletar métricas precisas sobre a execução de rotinas, classes ou páginas CSP.

O wrapper e todos os exemplos apresentados neste artigo estão disponíveis no seguinte repositório do GitHub: iris-monlbl-example

0 0
0 41
Artigo
· Abr. 14, 2025 10min de leitura
Estatísticas SQL com Grafana, InfluxDB e Telegraf

Introdução

O desempenho do banco de dados tornou-se um fator crítico de sucesso em um ambiente de aplicações moderno. Portanto, identificar e otimizar as consultas SQL que consomem mais recursos é essencial para garantir uma experiência de usuário fluida e manter a estabilidade da aplicação.

Este artigo explorará uma abordagem rápida para analisar as estatísticas de execução de consultas SQL em uma instância InterSystems IRIS para identificar áreas de otimização dentro de uma macro-aplicação.

Em vez de focar no monitoramento em tempo real, configuraremos um sistema que coleta e analisa estatísticas pré-calculadas pelo IRIS uma vez por hora. Essa abordagem, embora não permita o monitoramento instantâneo, oferece um excelente compromisso entre a riqueza de dados disponíveis e a simplicidade de implementação.

Usaremos o Grafana para visualização e análise de dados, o InfluxDB para armazenamento de séries temporais e o Telegraf para coleta de métricas. Essas ferramentas, reconhecidas por seu poder e flexibilidade, nos permitirão obter uma visão clara e explorável.

Mais especificamente, detalharemos a configuração do Telegraf para recuperar estatísticas. Também configuraremos a integração com o InfluxDB para armazenamento e análise de dados, e criaremos dashboards personalizados no Grafana. Isso nos ajudará a identificar rapidamente as consultas que exigem atenção especial.

Para facilitar a orquestração e o deploy desses vários componentes, empregaremos o Docker.

logos.png

0 0
0 92

As soluções de Infraestrutura Hiperconvergente (HCI) têm ganhado força nos últimos anos, com o número de implementações agora aumentando rapidamente. Os tomadores de decisão de TI estão considerando HCI ao planejar novas implementações ou atualizações de hardware, especialmente para aplicações já virtualizadas no VMware.

0 0
0 44

Eu e os outros Arquitetos de Tecnologia frequentemente precisamos explicar aos clientes e fornecedores os requisitos de E/S do Caché e a forma como as aplicações Caché utilizarão os sistemas de armazenamento. As tabelas a seguir são úteis ao explicar o perfil e os requisitos típicos de E/S do Caché para uma aplicação de banco de dados transacional com clientes e fornecedores. As tabelas originais foram criadas por Mark Bolinsky.

Em publicações futuras, discutirei mais sobre E/S de armazenamento, portanto, estou publicando essas tabelas agora como referência para esses artigos.

0 0
0 57
Artigo
· Fev. 27, 2025 6min de leitura
De volta ao início: Por que InterSystems?

A InterSystems está na vanguarda da tecnologia de bancos de dados desde sua criação, sendo pioneira em inovações que consistentemente superam concorrentes como Oracle, IBM e Microsoft. Ao se concentrar em um design de kernel eficiente e adotar uma abordagem intransigente em relação ao desempenho de dados, a InterSystems criou um nicho em aplicações de missão crítica, garantindo confiabilidade, velocidade e escalabilidade.

2 0
0 61