Article
· Aug 2, 2022 8m read
Data models in InterSystems IRIS

Before we start talking about databases and different data models that exist, first we'd better talk about what a database is and how to use it.

A database is an organized collection of data stored and accessed electronically. It is used to store and retrieve structured, semi-structured, or raw data which is often related to a theme or activity.

At the heart of every database lies at least one model used to describe its data. And depending on the model it is based on, a database may have slightly different characteristics and store different types of data.

To write, retrieve, modify, sort, transform or print the information from the database, a software called Database Management System (DBMS) is used.

The size, capacity, and performance of databases and their respective DBMS have increased by several orders of magnitude. It has been made possible by technological advances in various areas, such as processors, computer memory, computer storage, and computer networks. In general, the development of database technology can be divided into four generations based on the data models or structure: navigational, relational, object and post-relational.

16 5
4 1.6K

Hello everybody. I have a problem a little bit strange. The thing is that there is a Task on Cache that by default is executed everyday at 4:00:00 that, with my settings, will delete all the Audit logs with more than 70 days of existence. The problem is that everyday this task is executed without an error message (status "Success" after the task is finished) but no data is cleaned, the same if I executed this particular task on the "Task Schedule" screen. I'll put here a screenshot of the message after executing the task on the "Task Schedule":

0 12
0 178

Hi!

Currently, I'm working on a script using %SYS.Journal API.

My journal files are compressed, following the documentation the compression is zstd.

I tried to unzip a file with zstd tool, ex:

apt-get update
apt-get install zstd

zstd -d 20230806.001z -o 20230806.001

20230806.001z        : 92.03%   (909312 => 836859 bytes, 20230806.001) 

Unfortunately, the unzipped file is invalid:

Write ##class(%SYS.Journal.File).IsValidJournal("/usr/irissys/mgr/journal/20230806.001")

1 2
0 319

I have several 1GB journals from a LIVE server that I would like to inspect (eg: check which globals have been updated over the time).

Is there a simple way to view those journals using another IRIS instance ? (eg: local installation).

I have been tempted to put those files directly into the journal folder of my local installation and restart the system, however I am concerned that the transactions they contains will be restored and will corrupt the local database.

0 10
1 341

Hello Everyone,

The Certification Team of InterSystems Learning Services is in the process of developing two exams focused on using SQL in InterSystems IRIS and we need input from our InterSystems IRIS SQL community. Your input will be used to evaluate and establish the contents of the exam.

How do I provide my input? We will present you with a list of job tasks, and you will rate them on their importance as well as other factors.

8 3
1 336

We are trying to come up with huge DataStore which needs to store HIPAA transactions and Data getting partitioned with idkey - YYYYMM. Current Live data get inserted into current Month DB - HIPAA_202306. 10 years (Hipaa retention policy) old data is going to be sitting in to 120 DBs ( 201606_HIPAA, 201607... 202305) for historical audit legal compliance purposes.

Currently if we create Namespace we get 2 databases - CODEDB for routes/classes & DATADB for journals data.

0 7
0 368

As a former JAVA developer it has always been a challenge to decide which database was the most suitable for the project we were going to develop, one of the main criteria I used was their performance, as well as their HA configuration capabilities ( high availability). Well, now is the time to put IRIS to the test with respect to some of the most commonly used databases, so I've decided to create a small Java project based on SpringBoot that connects via JDBC with a MySQL database, another of PostgreSQL and finally with IRIS.

7 5
0 470

Hi experts

I'm trying to configure an IRIS ODBC connection with "Windows NT authentication using the network login ID". I have created the System DSN as below:

and user (PROD\test) in the SQL Gateway connection

However, as the error message suggests, IRIS is trying to connect with PROD\svc_mist, rather than PROD\test configured above.

0 2
0 152

Is anyone like me, and felt really jealous that they didn't have enough points to acquire the IRIS-based Raspberry Pi system when it was offered? Do you have a spare Raspberry Pi 4 handy? If so, I'll walk you through setting up Docker and IRIS on your Raspberry Pi so you can have the smallest IRIS computer in town!

Things you'll need:

8 0
0 531
Question
· Feb 26, 2023
Sql Dump

Hello,


Could someone help me with a solution, for example "dump" to IRIS.DAT, I mention that it is difficult to manipulate a file of ~ 200 GB. I would be interested in generating an IRIS.DAT file containing the "schema" without any information.

Thanks !

1 2
0 238

Hi we have started to get rid of orphaned data and would like to soon compact and truncate the database as will have about 40gb free to return to filesystem after the few weeks of running the new task.

The idea would be to do this on the shadow server first of mirror rather than primary.

Is there any reason this is a bad idea? Considering this needs done on both servers of mirrored db? As idea would be to do this on shadow server before we failover to the server a few days afterwards. And do the same for the month afterwards.

0 3
0 195

Out of curiosity, I was looking in ^ROUTINE global to see how routines are stored internally.

I found out that lot of nodes are displaying "~pointer" as associated value (eg: instead of a string).

What are those pointers ? My guess is that it references some cache internal structure (eg: some nodes inside a B-Tree).

Is there a easily way to see what is behind ? Are pointers useful for user globals or is this something purely internal to Cache database ?

0 1
0 244

Hi Community,

This article is a continuation of my article about Getting to know Python Flask Web Framework

In this article, we will cover the basics of topics listed below:

1. Routing in Flask Framework
2. Folder structure for a Flask app (Static and Template)
3. Getting and displaying data in the Flask application from IRIS.

So, let's begin.

2 0
0 1.5K

Mirroring 101

Caché mirroring is a reliable, inexpensive, and easy to implement high availability and disaster recovery solution for Caché and Ensemble-based applications. Mirroring provides automatic failover under a broad range of planned and unplanned outage scenarios, with application recovery time typically limited to seconds. Logical data replication eliminates storage as a single point of failure and a source of data corruption. Upgrades can be executed with little or no downtime.

10 22
3 7.5K

Hi All,

I am a beginner in cache. I need to extract data from multiple tables (4-5) tables based on an SQL query . The data is more than 9 lakhs of records (i checked using count). The total number columns is 16.

When I am running this SQL query through management portal, I am getting time out exception. Could you please suggest how I can retrieve those records. Which way will be good (Dynamic query using %SQL.Statement or Embedded SQL (not known to me) or Writing to a global will help or not).

1 4
0 326

I need to split existing tables from database and put some parts of them into a new namespace. I dont know where to start, other than the installer.cls file. If you can provide clear instructions i would be greatful.

Example:

I have NAMESPACE=NEWTEST and DB

The i need to take TABLES from that DB pull specific data from them and bind it to NEWTEST

0 5
0 272

IRISTEMP - IRIS.DAT took up all the available disk space of almost 2 TB that leads to Production instance down.

After RCA the suspected cause was some SQL query but not confirmed as query result was received within a minute.

Currently we are monitoring the IRIS.DAT and it is continuously increasing and currently we set the MAX size for this DB, but not sure what will happen once it hit the MAX SIZE ?

Any clue why the IRISTEMP DB is not flushing the data from IRIS.DAT as i believe it is being mostly used for system processes and is in increasing trend at ~ 1GB/day?

0 3
0 449