Columnar storage is one of the newer offers provided by InterSystems IRIS. Unlike traditional row-based storage, it optimizes query processing by storing data in columns rather than rows, enabling faster access and retrieval of relevant information.

A couple of articles have been written on when it should be used to give a system the biggest boost, how to create tables like that using SQL

CREATE TABLE table (column1 type1, column2 type2, column3 type3) WITH STORAGETYPE = COLUMNAR  -- ex 1
CREATE TABLE table (column1 type1, column2 type2, column3 type3 WITH STORAGETYPE = COLUMNAR)  -- ex 2

and even the performance tests.

As we all know, InterSystems IRIS is a multi-model DBMS and it gives seamless access to the same data using relational and object access. So the former is covered in other articles, but what about the latter?

6 0
2 301

The InterSystems IRIS data platform underlies all InterSystems applications, as well as thousands of customer and partner applications across Healthcare, Financial Services, Supply Chain, and other ecosystems. It is a converged platform, providing transactional-analytical data management, integrated interoperability, and data integration, as well as integrated analytics and AI. It supports the InterSystems Smart Data Fabric approach to managing diverse and distributed data.

6 2
2 187

Hi Devs!

Last weekend I had been testing the newborn csvgen module and was looking for a CSV file to test - thus I came across an interesting datafile on Data.World with Game of Throne episodes statistics. Death statistics. These folks documented all the murders through all the 8 seasons and noted where, who, from what clan with what weapon had killed another one.

So I imported it and made an IRIS Analytics dashboard.

You Know Nothing, Jon Snow | You Know Nothing, Jon Snow | Know ...

Don't worry, Jon, with this dashboard we can figure out something ). See the details below.

6 0
2 718

IMPORTANT NOTE InterSystems no longer provides a separate InterSystems Reports Server container. To run containerized InterSystems Reports Server, use Logi Reports Server container and your InterSystems Reports Server license. Documentation.

InterSystems Reports is powered by Logi Report (formerly named JReport), a product of Logi Analytics. InterSystems Reports is supported by InterSystems IRIS and InterSystems IRIS for Health. It provides a robust modern reporting solution that includes:

  • Embedded operational reporting which can be customized by both report developers and end users.
  • Pixel-perfect formatting that lets you develop highly specific form grids or other special layout elements for invoices, documents, and forms.
  • Banded layouts that provide structure for aggregated and detailed data.
  • Exact positioning of headers, footers, aggregations, detailed data, images, and sub-reports.
  • A variety of page report types.
  • Large-scale dynamic report scheduling and distribution including export to PDF, XLS, HTML, XML, and other file formats, printing, and archiving for regulatory compliance.

InterSystems Reports consists of:

  • A report designer, which provides Design and Preview Tabs that enable report developers to create and preview reports with live data.
  • A report server which provides end users browser-based access to run, schedule, filter, and modify reports.

From InterSystems documentation.

This article focuses on the Server part of InterSystems Reports and provides a guide on running Report Server in containers while persisting all the data.

6 2
3 855

The last days I've work with the great new feature: LOAD DATA With this post I would like to share my first experiences with you. The following points do not contain any order or other evaluation. These are only things that I noticed when using the LOAD DATA command. It should also be noted that these points are based on the IRIS Version 2021.2.0.617 which is a preview release. So it may be that my observations do not apply to newer IRIS versions.

6 5
2 1.1K
Article
· Jan 28, 2022 2m read
Embedded SQL Bug and Workaround

We recently encountered an Embedded SQL issue while upgrading to IRIS 2021.1, and thought the issue and workaround might be interesting to share.

Key takeaway: Host variables in an ORDER BY clause of an embedded SQL query that is inside of a method don't work as expected. IRIS versions starting with 2020.1 are affected. As a workaround, add the host variable to the Method's PublicList list and "new" them so the embedded query has access to them.

6 1
0 393

IRIS can use a KMS (Key Managment Service) as of release 2023.3. Intersystems documentation is a good resource on KMS implementation but does not go into details of the KMS set up on the system, nor provide an easily followable example of how one might set this up for basic testing.

The purpose of this article is to supplement the docs with a brief explanation of KMS, an example of its use in IRIS, and notes for setup of a testing system on AWS EC2 RedHat Linux system using the AWS KMS. It is assumed in this document that the reader/implementor already has access/knowledge to set up an AWS EC2 Linux system running IRIS (2023.3 or later), and that they have proper authority to access the AWS KMS and AWS IAM (for creating roles and polices), or that they will be able to get this access either on their own or via their organizations Security contact in charge of their AWS access.

6 0
0 266

Hi Developers!

Often I find questions on how to install IRIS, connect to IRIS from IDE, setup the environment, compile, debug, maintain the repository.

Here below possibly the shortest way to set up all the environment and start development with ObjectScript on InterSystems IRIS.

Prerequisites

Make sure you have Git, Docker, and VSCode installed

Install Docker and ObjectScript extensions into VSCode

Sign in or Create an account on Github

Here we go!

6 9
6 1.5K
Article
· Nov 23, 2020 1m read
Iris key uploader

Introduction

This is iris-key-uploader a frontend in Angular with it's rest API.

The aim of this project is to easily import key file to Iris from a web ui.

Why this project

Unfortunatly the IRIS panel to change key doesn't give the opportunity to upload the license.

Panel

As you can see, you can only browse from the server side.

What if, you don't have a direct access to it ?

6 6
0 511

In response to a community question asking to view Request and Response message types in Production settings..

A community helper class was implemented should people need this. ( alwo.EnsHelper.HostRequestResponseInfo )

Install

zpm install alwo-enshelper

The code may serve as an example, to project bespoke configuration into Production settings.

6 1
3 266

Index

Part 1

  • Introducing Flask: a quick review of the Flask Docs, where you will find all the information you need for this tutorial;
  • Connecting to InterSystems IRIS: a detailed step-by-step of how to use SQLAlchemy to connect to an IRIS instance;

Part 2

  • A discussion about this kind of implementation: why we should use it and situations where it is applicable.
6 2
0 804
Article
· Aug 1, 2019 3m read
Nested set model for ObjectScript

In many projects I was faced with storing hierarchical data (tree) in classes.
By tree, I mean such data, where each node has a parent node — an object of the same class.
Many examples of such data can be given. For example, a catalog in the online store. Suppose that this online store sells books, in this case, the category tree might look like this:

6 1
1 1.1K

What is %SQLRESTRICT

%SQLRESTRICT is a special %FILTER clause for use in MDX queries in InterSystems IRIS Business Intelligence. Since this function begins with %, it means this is a special MDX extension created by InterSystems. It allows users to insert an SQL statement that will be used to restrict the returned records in the MDX Result Set. This SQL statement must return a set of Source Record IDs to limit the results by. Please see the documentation for more information.

Why is this useful?

This is useful because there are often times users want to restrict the results in their MDX Result Set based on information that is not in their cubes. It may be the case that this information may not make sense to be in the cube. Other times this can be useful when there is a large set of values you want to restrict. As mentioned before, this is not a standard MDX function, it was created by InterSystems to handle cases were queries were not performing well or cases that were not easily solved by existing functions.

6 0
2 683
   _________ ___ ____  
  |__  /  _ \_ _|  _ \ 
    / /| |_) | || |_) |
   / /_|  __/| ||  __/ 
  /____|_|  |___|_|    

Starting in version 2021.1, InterSystems IRIS began shipping with a python runtime in the engine's kernel. However, there was no way to install packages from within the instance. The main draw of python is its enormous package ecosystem. With that in mind, I introduce my side project zpip, a pip wrapper that is callable from the iris terminal.

6 6
1 769

Why I decided to write this

Recently I had the challenge to create a secure authentication method to authorize access to some data, but unfortunately I had zero experience with those security configurations and I felt that I was missing some basic concepts to have a better understanding of the official documentation.

After studying and managing to deliver the classes that I was asked to develop, I'd like to share a little bit of my new knowledge, which helped me follow the topics in the documentation.

6 0
1 487

Hi Community!

Just want to share with you an exercise I made to create "my own" chat with GPT in Telegram.

It became possible because of two components on Open Exchange: Telegram Adapter by @Nikolay Solovyev and IRIS Open-AI by @Kurro Lopez

So with this example you can setup your own chat with ChatGPT in Telegram.

Let's see how to make it work!

6 8
1 579

As an example of an application on Java working with Hibernate dialect for IRIS, wanted to use RealWorld application, and found realization for Quarkus. RealWorld application is an example of an application close to some real one, with already prepared tests for the backend. Most of the examples of realizations can be found here

RealWorld Example App

The RealWorld example application is often referred to as the "Wikipedia for building full-stack applications." It serves as a standardized prototype that developers can use to create applications using various programming languages and frameworks. The application provides a real-world use case by mimicking a blogging platform, complete with features like user authentication, profile management, article posting, and comments. With a comprehensive set of specifications, including ready-made backend API documentation and frontend designs, it allows developers to see how the same functional requirements are implemented across different technology stacks. The RealWorld example is widely used as a learning tool and a benchmark for comparing various technologies.

Quarkus

Quarkus is an open-source, Kubernetes-native Java framework tailored for the GraalVM and HotSpot. Created with the aim to enhance the modern cloud-native environment, it significantly reduces the footprint and startup time of Java applications. Quarkus is known for its "container-first" philosophy, allowing developers to build lightweight, high-performing applications with a focus on microservices architecture. This flexibility has made it a popular choice for organizations looking to transition into serverless or cloud-based platforms, combining both imperative and reactive programming models. Whether it's a traditional web application or a complex system of microservices, Quarkus provides a robust platform for building scalable and maintainable software.

6 5
2 467

Here in %SYS, we have already examined users, resources, and roles. Now that we know how to set all of that up, we should give it a purpose. Next we will talk about applications! As you may expect, we will see various identical class methods defined here that we have seen in the previous classes. However, some of them will have some tiny yet significant differences.

6 1
3 435