Pesquisar

Announcement
· Jun 11, 2024

[Video] Migrating Our Data Lake from MS SQL Server to InterSystems IRIS

Hey Community,

Watch this video to learn how the InterSystems AppServices team migrated a data lake powering a suite of marketing reports off of Microsoft SQL Server to InterSystems IRIS, leading to such benefits as lower maintenance, better performance, and a better overall development fit:

⏯ Migrating Our Data Lake from MS SQL Server to InterSystems IRIS @ Global Summit 2023

🗣  Presenter: @Jean Millette, Senior Applications Developer, InterSystems

Subscribe to our YouTube channel InterSystems Developers to stay tuned!

2 Comments
Discussion (2)2
Log in or sign up to continue
Question
· Jun 11, 2024

Difference between %Stream.FileBinary and %Stream.FileBinaryGzip

Hello,

 

With my team, we're evaluating the different streams existing in order to find good pratices for our project using InterSystems IRIS. In doing so, we found that there exists different forms of the same stream with the %Stream.FileBinary and %Stream.FileBinaryGzip classes. We think that the %Stream.FileBinaryGzip takes less space to be stored, but is there other diferences between these two classes and what would you recomend to use ? Is it the same thing for %Stream.FileCharacter and %Stream.FileCharacterGzip ?

 

Thanks for your help,

Vincent Dheilly

2 Comments
Discussion (2)2
Log in or sign up to continue
Article
· Jun 11, 2024 3m read

Pesquisando os limites do novo tipo de dados VECTOR

Traduzido do Concurso de Artigos da Comunidade Espanhola 

Seguindo o último concurso de programação no OEX (Open EXchange) eu tive algumas observações surpreendentes.
Havia aplicações quase exclusivas baseadas numa combinação de IA (Inteligência Artificial) com módulos Python "pré-cozidas".
Porém, indo mais a fundo, todos os exemplos usaram os mesmos fatores técnicos do IRIS.

Considerando o ponto de vista do IRIS, foi praticamente a mesma coisa seja buscando por textos, ou imagens, ou outro tipo de padrão. Acabou em métodos quase intercambiáveis.

Isso me lembra de uma situação privada na minha casa.
Minha mulher e esposa mantém uma coleção incrivelmente
grande (na minha opinião) de saias, blusas e todos as outras
roupas. Mas no fim, é a minha mulher e minha filha com
quem eu converso e vivo - não importa o que as esteja
envolvendo.

Voltando ao concurso:
Vários invólucros para mais ou menos o mesmo conteúdo técnico de IRIS.
Todos estavam correndo pela mesma estrada. Ninguém nunca tocou nenhum limite.

Então, eu tentei ir mais a fundo e descobrir os limites do tipo de dados VECTOR.
Todos os vetores tem 2 parâmetros de base
- DATATYPE estático: "integer" (ou "int"), "double", "decimal", "string" e "timestamp".
- LEN(gth) (comprimento) semi-dinâmico: > 0 frequentemente referenciado também como POSITION (posição); um Integer (número inteiro) puro.

Esse parâmetro LEN/POSITION é o equivalente ao que você conhece por dimensões matemáticas de um vetor.
Claro que no universo de Einstein você pode necessitar apenas de 4 dimensões ou menos, baseado em sua Teoria da Relatividade.
Mesmo a Teoria Cosmológica de Cordas que surgiu nos anos 60 não passa de 11 ou 12 dimensões.
Mas todas os bons pacotes de soluções para análises textuais "pré-cozidos"  usam 238, 354, >1200... dimensões e talvez até mais.

Então: Qual é o limite definido pelo IRIS para as possíveis posições?
A documentação oficial não tem a resposta.
Então, eu peguei minha janela do terminal e tentei

for i=1:1 set $vector(test,I,"int")=i
;; muito rápido
<VECTOR>
zwrite i
i=65537

Tentei com todos os tipos de dados: o limite é  65536

OK. O comprimento de tipos numéricos * 65536 é claro por baixo do mágico limite <MAXSTRING> maior que 3 Mb

MAS: O que está acontecendo com o tipo "string" se seu tamanho tem uma dimensão significativa?

O resultado impressionante:
Eu tive sucesso com 65536 posições e uma STRING de 3.600.000 bytes.
A string_teste está alguns kB abaixo de <MAXSTRING>
No entanto!  Isso é um total de 225.000 MB em um só VECTOR!
Eu não consigo imaginar como isso poderia ser feito.

Sem dúvida, manejar esse gigante incomum leva tempo e você terá que esperar tempo o suficiente para qualquer acesso.
Mas isso demonstra que o tipo de dados VECTOR é capaz de servir todo requisito prático sem ser limitado por design.

Desejo muito sucesso a você quando trabalhar com VECTORs.

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

How To Calculate Date and Time in Different Column ?

Hy Friends,

I need some help, how to calculate date and time in different columns ?  

Does Anyone could help me ?

Thank you

Best Regards,

Steven Henry

8 Comments
Discussion (8)1
Log in or sign up to continue
Article
· Jun 11, 2024 6m read

スーパーサーバポートを SSL/TLS 設定した後、管理ポータルに接続できなくなった場合の対処方法

SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成した際に、「管理ポータルに接続できなくなった」というお問い合わせを時々いただきます。
こちらの記事では、その際の対処法をご案内します。


スーパーサーバを SSL/TLS 化するために、以下のドキュメントにある方法を設定されると思います。
TLS を使用するための InterSystems IRIS スーパーサーバの構成

その際に、SSL/TLSサポートレベル  を 「必須」にしてしまうと、管理ポータルに接続できなくなる場合があります。

    
※管理ポータル:
     IRIS2024.1 ~ [システム管理] > [セキュリティ] > [スーパーサーバ]
     ~IRIS2023.1  [システム管理] > [セキュリティ] > [システム・セキュリティ] > [システムワイドセキュリティパラメータ]


「必須」に設定する場合、すべてのクライアントからの接続を SSL/TLS 化する必要があります。
これは、WebゲートウェイからIRISへの接続にもあてはまるため、「Webゲートウェイ <==> IRIS」間を SSL/TLS 設定していない場合は、管理ポータル(REST/CSPを含む)に接続ができなくなってしまいます。

「有効」に設定する場合は、 SSL/TLS を使用するクライアント接続を受け入れますが、それは必須ではありません。
つまり、 SSL/TLS を使用するクライアントからの通信は暗号化されますが、そうではないクライアントからの通信は暗号化されません。


管理ポータルに接続できない状態になってしまった場合、以下のような「サーバアベイラビリティエラー(Server Availability Error)」となります。

   


この場合、以下の2つの回避策があります。


1. WebゲートウェイからIRISサーバへの接続を SSL/TLS 設定にする方法

2. IRISサーバのSSL/TLSサポートレベルを「有効」に設定する方法



1.WebゲートウェイからIRISサーバへの接続を SSL/TLS 設定にする方法


こちらの場合、Webゲートウェイ管理ページで設定を行います。

http://localhost/iris/csp/bin/Systems/Module.cxw


① [サーバ接続] メニューより、接続するサーバを選択します。

 


② 以下の設定をして保存します。
  接続セキュリティレベル:SSL
  SSL CA 証明書ファイル:(CA証明書パス)
  ※その他、必要に応じて

 


③ サーバ接続のテストを行います。テストに成功すれば、管理ポータルには接続できる状態となっています。

 

↓ 接続成功の場合

 


2.IRISサーバのSSL/TLSサポートレベルを「有効」に設定する方法

こちらの場合、管理ポータルには接続できないため、ターミナルで ^SECURITY ユーティリティを使用して設定を行います。
バージョンによって、設定箇所が違うため、それぞれのバージョンでご説明します。


※2024.1以降のバージョン

USER>zn "%SYS"
%SYS>do ^SECURITY
1) User setup
2) Role setup
3) Service setup
4) Resource setup
5) Application setup
6) Auditing setup
8) SSL configuration setup
9) Mobile phone service provider setup
10) OpenAM Identity Services setup
11) Encryption key setup
12) System parameter setup
13) X509 User setup
14) KMIP server setup
15) Superserver setup
16) Exit
 
Option? 15          <-- 15 + <Enter>
 
1) Create superserver
2) Edit superserver
3) List superservers
4) Detailed list superservers
5) Delete superserver
6) Export superservers
7) Import superservers
8) Exit
 
Option? 2            <-- 2 + <Enter>
 
Superserver port to edit? ?
 
 Num  Port                           BindAddressDisplay
  1)  1972
Superserver port to edit? 1 1972 Bind Address   <-- 設定したいスーパーサーバポート(既定は1972); 1 + <Enter>
Description? System default port =>             <-- <Enter>
Enable Clients? Yes => Yes                      <-- <Enter>
Enable CSP? Yes => Yes                          <-- <Enter>
Enable DataCheck? Yes => Yes                    <-- <Enter>
Enable Shadows? No => No                        <-- <Enter>
Enable ECP? Yes => Yes                          <-- <Enter>
Enable Mirror? Yes => Yes                       <-- <Enter>
Enable Sharding? Yes => Yes                     <-- <Enter>
Enable SNMP? Yes => Yes                         <-- <Enter>
Enable NodeJS? No => No                         <-- <Enter>
Enable CacheDirect ? No => No                   <-- <Enter>
Enable WebLink? No => No                        <-- <Enter>
 
   SSL/TLS support level
   ---------------------
1) None
2) Accept
3) Require
 
What type of SSL/TLS connections are allowed for the server? 3 => 2   <-- 3(必須) を 2(有効) に変更 + <Enter>
SSL/TLS configuration? %SuperServer =>          <-- <Enter>
Enable this superserver? Yes => Yes             <-- <Enter>
Confirm changes to Port 1972? Yes => Yes        <-- <Enter>
Superserver 1972 updated                        <-- <Enter>
 
Superserver port to edit?                       <-- 以下全て <Enter>
:


※2023.1以前のバージョン

USER>zn "%SYS"
%SYS>do ^SECURITY
1) User setup
2) Role setup
3) Service setup
4) Resource setup
5) Application setup
6) Auditing setup
8) SSL configuration setup
9) Mobile phone service provider setup
10) OpenAM Identity Services setup
11) Encryption key setup
12) System parameter setup
13) X509 User setup
14) KMIP server setup
15) Exit
 
Option? 12      <-- 12 + <Enter>
 
1) Edit system options
2) Edit authentication options
3) Edit LDAP options
4) Display system options
5) Export All Security settings
6) Import All Security settings
7) Exit
 
Option? 1       <-- 1 + <Enter>
Enable configuration security? No => No                     <-- <Enter>
Default security domain? iscinternal.com =>                 <-- <Enter>
Inactive limit? 0 =>                                        <-- <Enter>
Invalid login limit (0=No limit)? 5 =>                      <-- <Enter>
Disable user account when login limit reached? No => No     <-- <Enter>
How many days until passwords expire (0=No expiration)? 0 =>  <-- <Enter>
Password pattern? 3.128ANP =>                               <-- <Enter>
Password Validation Routine (label^routine format)?         <-- <Enter>
Enable writing to % globals? No => No                       <-- <Enter>
Role required to connect to this system?                    <-- <Enter>
Allow multiple security domains? No => No                   <-- <Enter>
 
   SSLServer connect type
   ----------------------
1) None
2) Accept
3) Require
 
What type of SSL/TLS connections are allowed for the super server? 3 => 2  <-- 3(必須) を 2(有効) に変更 + <Enter>
 
   SSL Telnet Server connect type
   ----------------------
1) None
2) Accept
3) Require
 
What type of SSL/TLS connections are allowed for the telnet server? 1 =>  <-- 以下、全て <Enter>
:


こちらで無事、管理ポータルへの接続ができるようになるでしょう。

「TLS を使用するための InterSystems IRIS スーパーサーバの構成」を行う場合は、十分にご注意ください。

Discussion (0)0
Log in or sign up to continue