Encontrar

Artigo
· Out. 30, 2025 3min de leitura

Consejos para manejar grandes volúmenes de datos

Hola comunidad,

Quería compartir mi experiencia trabajando en proyectos con grandes volúmenes de datos. A lo largo de los años, he tenido la oportunidad de manejar enormes cantidades de datos de pacientes, datos de aseguradoras y registros transaccionales mientras trabajaba en la industria hospitalaria. He tenido la oportunidad de crear informes muy extensos que requerían usar lógicas avanzadas para obtener datos de múltiples tablas, cuyos índices no me ayudaban a escribir un código eficiente.

Esto es lo que he aprendido sobre cómo gestionar grandes volúmenes de datos de manera eficiente.

Elegir el método de acceso a datos adecuado

Como todos sabemos en esta comunidad, IRIS ofrece múltiples formas de acceder a los datos. Elegir el método correcto dependerá de lo que necesitemos.

  • Acceso directo a los Globales: el más rápido para operaciones masivas de lectura/escritura. Por ejemplo, si tengo que recorrer índices y obtener datos de pacientes, puedo iterar sobre los globales para procesar millones de registros. Esto ahorra mucho tiempo.
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)),!
  • Uso de SQL: útil para requisitos de generación de informes o análisis, aunque más lento para conjuntos de datos muy grandes.

Optimización de operaciones masivas

Procesar millones de registros uno por uno es lento y pesado. Para optimizar, he comprobado que guardar en lotes, usar globales temporales para los pasos intermedios y dividir los trabajos grandes en tareas más pequeñas marca una gran diferencia. Desactivar los índices no esenciales durante las inserciones masivas también acelera el proceso.

Uso de Streams

Para textos largos o cargas en formato XML o JSON, los objetos Stream evitan la sobrecarga de memoria. Trabajar con archivos muy grandes puede consumir mucha memoria si se cargan de una sola vez. Prefiero usar objetos Stream para leer o escribir los datos por partes. Esto mantiene el proceso rápido y eficiente.

Set stream = ##class(%Stream.GlobalCharacter).%New()
Do stream.CopyFromFile("C:\Desktop\HUGEDATA.json")
w "Size: "_stream.Size(),!

Esta será una forma sencilla de manejar los datos de manera segura sin ralentizar el sistema.

Así que eso es todo. Manejar grandes volúmenes de datos no se trata solo de hacer las cosas más rápidas, sino de elegir la forma correcta de acceder, almacenar y mantener el sistema equilibrado de manera inteligente.

Desde la migración de millones de registros de pacientes hasta la creación de API que gestionan conjuntos de datos bastante grandes, estos enfoques han marcado una verdadera diferencia en el rendimiento y la capacidad de mantenimiento.

Si estás trabajando con conceptos similares y quieres intercambiar ideas, no dudes en ponerte en contacto con la autora original de este artículo, @Harshitha

 

¡Muchas gracias!

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Out. 30, 2025 7min de leitura

IRIS環境でのPythonプログラミング入門

img

この記事では、IRIS環境におけるPythonプログラミングの基礎について紹介します。

本題に入る前に、重要なトピックである「Pythonの仕組み」について説明します。これは、IRIS環境でPythonを使用して作業する際に起こりうる問題や制限を理解するのに役立ちます。

すべての記事と例は、以下のgitリポジトリで確認できます: iris-python-article

Pythonの仕組み

インタープリター型言語

Pythonはインタープリター型言語であり、コードはランタイム時に1行ずつ実行されます。スクリプトをインポートする場合でも同様です。

これはどういうことでしょうか? 以下のコードを見てみましょう。

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Out. 29, 2025

一个学习和探索 InterSystems 技术的新渠道:InterSystems Community GitHub

Hi 大家好!来推荐一个学习的新途径!

除了InterSystems Open Exchange 应用程序库,InterSystems Community GitHub 还提供使用 InterSystems 技术构建的示例、库和演示。

InterSystems Community GitHub (github.com/intersystems-community)

它包括

  • 示例应用程序和模板
  • 库和连接器
  • 实验项目和演示

这些代码库并未得到 InterSystems 公司的官方支持,但对于学习和探索 InterSystems 技术非常有用。

欢迎您探索这些资源库,并将它们作为您自己项目的参考。

Discussão (0)1
Entre ou crie uma conta para continuar
Discussão
· Out. 29, 2025

Survey on IRIS Vector Search usage

Hi, 

We very much appreciate the interest in the Developer Community for IRIS Vector Search and hope our technology has helped many of you build innovative applications or advanced your R&D efforts. With a dedicated index, integrated embeddings generation, and deep integration with our SQL engine now available in InterSystems IRIS, we're looking at the next frontier, and would love to hear your feedback on the technology to prioritize our investments.

If you used Vector Search already and could spare 10 minutes of your busy schedule, here's a brief survey on your use of the technology so far, and which further opportunities would benefit you most: https://forms.office.com/r/VE5sXshJR6

If you haven't really explored it, you've just saved yourself 10 minutes ;-)

Many thanks in advance for your response!

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Out. 29, 2025

Failure to compile *.inc with simple "If" statement

Environment:
    Targeted *.inc file (with hundreds of defined macros) is in use throughout the application and included into every class declaration.
    Statement "set a = $$$TestIf(3)" is included into a classmethod with no other code in. Expected output 5
Same macro options in *.inc:
    #define TestIf(%arr)    if %arr>0 QUIT 5
    #define TestIf(%arr)    if (%arr>0) {QUIT 5}
Issue:
    failure to compile class with the same error on all tried definition options as:

13 Comments
Discussão (13)5
Entre ou crie uma conta para continuar