New post

検索

Article
· Dec 26, 2024 3m read

Rechercher les limites du nouveau type de données VECTOR

Traduit du concours d'articles de la communauté espagnole.

Suite au dernier concours de programmation sur OEX j'ai eu une observation surprenante.
Il existait des applications presque exclusives basées sur l'IA en combinaison avec des modules Py précuits.
Mais en creusant plus profondément, tous les exemples utilisaient les mêmes éléments techniques d'IRIS.

Du point de vue d'IRIS, c'était à peu près la même chose que la recherche de texte
ou la recherche d'images ou d'autres motifs.  Cela s'est terminé par des méthodes presque échangeables.

Cela me rappelle ma situation privée à la maison. Ma femme et ma fille entretiennent
(selon moi) une incroyable collection de jupes, de chemises et de tous les autres vêtements. Mais à la fin
du jour c'est ma femme et ma fille avec qui je parle et avec qui je vis - 
peu importe l'enveloppement appliqué.

Retour au concours :
Beaucoup de présentations sophistiquées pour plus ou moins le même contenu technique IRIS.
Tout le monde courait sur la même autoroute. Personne n’a jamais touché aucune limite.

J'ai donc essayé de creuser plus profondément et de trouver les limites du type de données VECTOR.
Tous les vecteurs ont 2 paramètres de base
- TYPE DE DONNÉES statique : "entier" (ou "int"), "double", "décimal", "chaîne" et "horodatage".
- LEN (longueur) semi-dynamique : > 0 souvent également appelé POSITION ; un entier pur.

Ce paramètre LEN/POSITION est l'équivalent de ce que vous appelez les dimensions mathématiques d'un vecteur.
Bien sûr, dans l'univers d'Einstein, vous n'aurez peut-être besoin que de 4 dimensions ou moins
basé sur sa théorie de la relativité.
Même la théorie cosmologique des cordes apparue dans les années 60 ne dépasse pas les 11..12 dimensions.
Mais tous les jolis packages de solutions d'analyse de texte pré-préparés utilisent 238, 364, >1200, ....
dimensions et probablement plus.

Alors : Quelle est la limite fixée par IRIS aux positions possibles ?
La documentation officielle n'a pas de réponse.
Alors j'ai pris la fenêtre de mon terminal et j'ai essayé

for i=1:1 set $vector(test,i,"int")=i
;; very fast
<VECTOR>
zwrite i
i=65537

J'ai essayé avec tous les types de données : la limite est 65536

OK. La longueur des types numériques * 65536 est claire sous la limite magique <MAXSTRING> supérieure à 3 Mo.

MAIS: Que se passe-t-il avec le type "string" si sa taille a une dimension significative ?

Le résultat impressionnant : 
J'ai réussi avec 65536 positions et un STRING de 3.600.000 octets
La test_string fait quelques Ko sous <MAXSTRING>
Cependant!  Cela représente 225 000 Mo au total dans un seul VECTEUR !
Je n'arrive pas à imaginer comment cela pourrait être fait.

Sans aucun doute, gérer ce géant inhabituel prend du temps et il faut attendre suffisamment longtemps pour y accéder.
Mais cela démontre que DataType VECTOR est capable de répondre à toutes les exigences pratiques.
sans être limité par la conception.

Je vous souhaite beaucoup de succès dans votre travail avec les VECTOR.

1 Comment
Discussion (1)1
Log in or sign up to continue
Article
· Dec 26, 2024 1m read

Obtened una certificación en tecnología de InterSystems

certification badge

Con los exámenes de certificación estándar de la industria de InterSystems, vosotros y vuestro equipo podéis certificaros para validar vuestras habilidades y demostrar vuestra experiencia en la tecnología de InterSystems. ¡Encontrad el examen adecuado para vuestro rol!

¿Sabíais que las empresas con cuatro o más empleados certificados pueden obtener la certificación organizacional?

Contactad con certification@intersystems.com o visitad el sitio web de Certificación de InterSystems para más información.

Discussion (0)0
Log in or sign up to continue
Question
· Dec 26, 2024

Journal not applied to any directory

***Restoring /opt/iris2024/mgr/user/ at 15:06:28
1 blocks restored in 0.0 seconds for this pass, 1 total restored.***Restoring /opt/iris2024/mgr/user/ at 15:06:28
1 blocks restored in 0.0 seconds for this pass, 2 total restored.***Restoring /opt/iris2024/mgr/user/ at 15:06:28
1 blocks restored in 0.0 seconds for this pass, 3 total restored.Mounting /opt/iris2024/mgr/user/
   /opt/iris2024/mgr/user/  ... (Mounted)[Journal not applied to any directory]
 

What does it mean that the last line after recovery shows 'Journal not applied to any directory '.

1 Comment
Discussion (1)2
Log in or sign up to continue
Article
· Dec 25, 2024 2m read

第五十八章 File 输入 输出 - WRITE 命令

第五十八章 File 输入 输出 - WRITE 命令

WRITE 命令

在定位的 READWRITE 之后,后续的 READWRITE 操作将按顺序进行,直到下一个带有 position 参数的 USE 命令。

WRITE 命令将数据(一次一条记录)写入作为当前设备的顺序文件。

语法

WRITE x
  • x 变量 x 中的数据将作为一条记录写入顺序文件中。

CLOSE 命令

CLOSE 命令放弃对顺序文件的所有权。

如果指定的文件未打开或不存在,则 IRIS 将忽略 CLOSE 并返回而不发出错误。

Discussion (0)1
Log in or sign up to continue
Question
· Dec 25, 2024

FHIR facade, override FHIR Search and return OperationOutcome

Hello,

I'm trying to customize error handling in the overriden HS.FHIRServer.Storage.JsonAdvSQL.Interactions::Search method. It is clear how to add to the resultset a valid FHIR resource (pseudocode):

1 Comment
Discussion (1)1
Log in or sign up to continue