Nouvelle publication

Pesquisar

Question
· Juil 3, 2024

Polybase and IRIS

Hi all, I am trying to use Polybase in SQL Server 2019 to access an external Cache/IRIS Database. I have followed the initial steps of enabling Polybase, creating a Database, DB scoped credential and then an External Data Source. These steps have not caused any issues and appear to be successful, I am using the same DSN we use for a Linked Server connection that works normally. I am running into an Error when trying to Create an External Table. The error is a generic Native Code 469 "Driver Not Capable". 

105082;Generic ODBC error: [Iris ODBC][State : HYC00][Native Code 469]
[C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\Polybase\mpdwsvc.exe]
Driver not capable .
 

I am using the below syntax which I believe "should" be correct but have tried several variations. This was initially just a test to confirm Polybase was working and connected so I'm only pulling in one column so the complexity is pretty low.  I have seen at least one or two other posts where someone has stated they created a successful connection to Cache with Polybase but I've not seen anyone mention Iris specifically. Has anyone been able to get this working with IRIS? Any help would be appreciated.

 --Create External Table
   CREATE EXTERNAL TABLE [SYSTEM.billing_tx_master_table]
  ([SERVICE_CODE] [VARCHAR](20) NOT NULL)
  WITH (
  LOCATION='[SYSTEM.billing_tx_master_table]',
  DATA_SOURCE= AVATARLIVE
   )
  ;

Adam Doherty DBA

2 Comments
Discussion (2)2
Connectez-vous ou inscrivez-vous pour continuer
Question
· Juil 3, 2024

HL7 message field display in Business Rules

Hello Community

I'm unable to view the  HL7 message field in the Business rules of the latest version of IRIS while tying HL7. syntax

ex: HL7.{PID:PatientName().givenname}

Latest Rule editor

Old Rule editor

3 Comments
Discussion (3)3
Connectez-vous ou inscrivez-vous pour continuer
Article
· Juil 3, 2024 6m de lecture

Base de Datos Multivolumen ¡una salsa asombrosa!

 

IS Comunidad de Desarrolladores, I 👑 you.

Base de Datos Multivolumen

He obtenido esta explicación directamente de la documentación, pero supongamos que lo he preguntado a una LLM para evitar decir que la he copiado :)

Por defecto, vuestra base de datos en IRIS utiliza un único archivo IRIS.DAT. Podéis configurar vuestra base de datos para que se expanda automáticamente en volúmenes adicionales (IRIS-0001.VOL, IRIS-0002.VOL, y así sucesivamente) al alcanzar un umbral de tamaño especificado. También podéis expandir deliberadamente vuestra base de datos en volúmenes adicionales. Los volúmenes adicionales pueden residir en el mismo directorio que IRIS.DAT y/o en un conjunto de directorios adicionales.

Estoy pasando rápidamente por esta característica y la estoy poniendo a prueba, pero lo que quiero hacer es establecer un umbral pequeño y revisar la operación de expansión en múltiples volúmenes en un PVC alternativo (directorio). Sin duda, las ramificaciones en cuanto a Mirroring, Rendimiento (¡juerga!) y Gestión son enormes y lo siguiente que necesito es un medio simple para entenderlo, así que aquí está. La solución más directa considera si hay un "callback" donde podamos por ejemplo portar un nuevo volumen en la nube sobre la marcha antes de la expansión por llegar al umbral tamaño.

Entorno

Tengo un despliegue en ejecución en 2024.1 (Build 263U) con un PVC OpenEBS de 50 GiB para mi $ISC_DATA_DIRECTORY, lo configuré hace aproximadamente un mes.

He añadido un PVC OpenEBS adicional a mi namespace:

#kind: PersistentVolumeClaim
#apiVersion: v1
#metadata:
#  name: jiva-iris-volume-claim
#spec:
#  storageClassName: openebs-jiva-csi-default
#  accessModes:
#    - ReadWriteOnce
#  resources:
#    requests:
#      storage: 50Gi
#--
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: jiva-iris-volume-claim-mv
spec:
  storageClassName: openebs-jiva-csi-default
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi

Lo he aplicado

sween@run1:~$ kubectl apply -f deezwatts-volume.yaml -n rivian
persistentvolumeclaim/jiva-iris-volume-claim-mv created

Lo adjunté y he "parcheado" mi despliegue a través de mi contenedor init:

<snips>
volumes:
   - name: task-pv-storage
        persistentVolumeClaim:
            claimName: jiva-iris-volume-claim
        - name: task-pv-storage-mvd
          persistentVolumeClaim:
            claimName: jiva-iris-volume-claim-mv
<snips>
volumeMounts:
    - name: task-pv-storage
   mountPath: /data
    - name: task-pv-storage-mvd
   mountPath: /data-mvd

Ahora estamos configurando otro volumen para la expansión multinivel hacia `/data-mvd`.



Configuración

Aquí está la forma rápida en la que lo he hecho disfrazándome de Administrador de Sistemas (Advertencia: Modo Oscuro no activado 🕶️)

Cread la base de datos en el volumen principal para la instancia y revisad las nuevas propiedades de la operación.

Creando la base de datos "mvd" en el volumen principal, las novedades son las siguientes:

El umbral del nuevo volumen es donde planeáis las cosas inicialmente desencadenar la expansión, hay otros lugares para configurar la ubicación donde se crearán los archivos .DAT de desbordamiento. Por supuesto, prestad atención al texto de ayuda que aparece debajo del parámetro de configuración, recibiréis de inmediato una lección sobre las mejores prácticas 💯💯.

Poned el valor cero para deshabilitar la creación automática de nuevos volúmenes. Si ingresáis un valor distinto de cero, cuando IRIS.DAT se expanda más allá de este umbral, se creará un nuevo archivo de volumen llamado IRIS-0001.VOL. Cuando la expansión haga crecer ese archivo más allá del umbral, se creará IRIS-0002.VOL, y así sucesivamente. Para valores distintos de cero, se recomienda un mínimo de 1 terabyte para evitar un número excesivo de archivos. Cada base de datos está limitada a 200 volúmenes.

Ahora, montad la nueva base de datos. No podréis configurarla posteriormente hasta que esté montada.

Encontraréis en la lista de bases de datos la columna de Volúmenes.

Aquí es donde se configura la ubicación alternativa para la base de datos en la que queremos expandir múltiples volúmenes.



Expandir

Con el umbral de la base de datos siendo bastante pequeño, me confundí un poco con el orden de las cosas, pero valió la pena mostrarlo.

Para generar agotamiento de espacio en IRIS.DAT, añadí un namespace encima de la base de datos:

Una vez que tuve el namespace configurado, configuré el gestor de paquetes ZPM e instalé algunas cosas de openexchange.
 

irisowner@iris-deezwatts-deployment-7b9bfcff8f-dssln:~$ irissession IRIS

Node: iris-deezwatts-deployment-7b9bfcff8f-dssln, Instance: IRIS

USER>zn "MVD"
MVD>zn "%SYS" d ##class(Security.SSLConfigs).Create("z") s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="z" d r.Get("/packages/zpm/latest/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c")

Load started on 06/04/2024 13:43:08
Loading file /data/IRIS/mgr/Temp/z9mu1CvnPnaGbA.xml as xml
Imported class: %ZPM.Installer
Compiling class %ZPM.Installer
Compiling routine %ZPM.Installer.1
Load finished successfully.

%SYS>zpm

=============================================================================
|| Welcome to the Package Manager Shell (ZPM). version 0.7.1               ||
|| Enter q/quit to exit the shell. Enter ?/help to view available commands ||
|| Current registry https://pm.community.intersystems.com                  ||
=============================================================================
zpm:%SYS>install "zpm-registry"

Y ahora le podemos echar un vistazo a la "salsa" de base de datos multivolumen en la interfaz de usuario de la base de datos:

Y también en la estructura de carpetas del pod:

irisowner@iris-deezwatts-deployment-7b9bfcff8f-dssln:/data-mvd$ ls -ltr /data-mv*
total 5140
drwxrwxrwx 2 irisowner irisowner   16384 Jun  4 11:56 lost+found
-rw-rw---- 1 irisowner irisowner      20 Jun  4 12:11 iris.dbdir
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:25 IRIS-0022.VOL
irisowner@iris-deezwatts-deployment-7b9bfcff8f-dssln:/data-mvd$ ls -ltr /data/IRIS/mgr/mvd
total 164
drwxrwxrwx 2 irisowner irisowner    4096 Jun  4 11:15 stream
-rw-rw---- 1 irisowner irisowner      63 Jun  4 12:01 iris.lck
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0001.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0002.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0003.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0004.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0005.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0006.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0007.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0008.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0009.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0010.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0012.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0015.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0018.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0016.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0019.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0020.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0017.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0014.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0013.VOL
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 12:11 IRIS-0011.VOL
-rwxrwxrwx 1 irisowner irisowner 5242880 Jun  4 13:08 IRIS.DAT
-rw-rw---- 1 irisowner irisowner 5242880 Jun  4 13:08 IRIS-0021.VOL

¡Creo que tengo un nuevo juguete con el que entretenerme!

Conclusión
Definitivamente esto ha sido una publicación rápida, y tengo que volver al trabajo. Probablemente debería haberla convertido en una discusión en lugar de un artículo, pero espero con ansias futuras experiencias y acciones compartidas de la comunidad con esta característica a medida que se produzca la adopción.

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Annonce
· Juil 3, 2024

InterSystems开发者社区中文版:每月摘要(2024年6月)

您好,欢迎了解开发者社区本月摘要。
统计信息
✓ 六月发布了 9 篇新帖子:
 6篇新文章
 3个新公告
✓ 六月有 38 位新成员加入
✓ 截至目前共发布了 2,123 篇帖子
✓ 截至目前共有 1,877 位成员加入
最高排名
本月最佳作家
文章
公告
六月, 2024Month at a GlanceInterSystems Developer Community
Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Résumé
· Juil 3, 2024

InterSystems 开发者社区摘要,六月 2024

您好,欢迎阅读 六月 2024 开发人员社区通讯。
统计信息
✓ 六月发布了 9 篇新帖子:
 6篇新文章
 3个新公告
✓ 六月有 38 位新成员加入
✓ 所有时间发布了 2,123 篇帖子
✓ 所有时间有 1,877 位成员加入
最高职位
本月最佳作家
文章
公告
六月, 2024Month at a GlanceInterSystems Developer Community