#Databases

8 Followers · 371 Posts

InterSystems Caché database is a file where all the data, application scripts, and users, roles and security configurations are stored. Typically the name of the file is cache.dat.

Documentation.

Article Lucas Enard · May 3, 2022 44m read

This formation, accessible on my GitHub, will cover, in half a hour, how to read and write in csv and txt files, insert and get inside the IRIS database and a distant database using Postgres or how to use a FLASK API, all of that using the Interoperability framework using ONLY Python following the PEP8 convention.

This formation can mostly be done using copy paste and will guide you through everystep before challenging you with a global exercise.
We are available to answer any question or doubt in the comment of that post, on teams or even by mail at lucas.enard@intersystems.com .

1
1 832
Discussion David Underhill · May 5, 2022

I am sure I came across this in the past with Cache and just saw this again in IRIS.

When rebuilding or swapping a DAT file for a database it retains the Resource of the DAT file, not the Resource of the Database it is being used for.

For instance, if I have a local Database called APP with a resource %DB_APP and I want to refresh the data from another Database called TEST that has a Resource %DB_TEST I can just copy the DAT file from the TEST folder to the APP folder.

No Database settings are changed and it is all done with either IRIS down or the databases dismounted.

5
0 263
Question Andy Stobirski · May 6, 2022

Hi 

Does anyone know where the user generated code resides, the stuff one might write for a production,  I presume it lives in a table somewhere within a database?

Basically, I want to do some dependency analysis of what I've written - find out what's in use, how it's referenced, etc. I know  I can export it to an XML file and work on that, but direct access on a table would be quicker for me.

Cheers

1
0 266
Article Muhammad Waseem · Apr 5, 2022 7m read

Hi Community,

This post is a introduction of my openexchange iris-globals-graphDB application.
In this article I will demonstrate how to save and retrieve Graph Data into InterSystems Globals with the help of Python Flask Web Framework and PYVIS Interactive network visualizations Library

Recommendation

Step1 : Establish Connection with IRIS Globals by using python native SDK

2
1 894
Question José Pereira · Apr 7, 2022

Hi!

I'd like to know if there are any issues if an index is inserted into a table without running the %BuildIndices() method.

It's important to note that data inserted before the index is not important for retrieval, so it's not a problem data inserted before the index don't show up in queries.

The reason why I'm asking this is that I'd like to avoid index reconstruction on big tables which I need to inser such index.

I'm using Cache 2018.1.

Thanks,

José

8
0 492
Announcement Evgeny Shvarov · Mar 21, 2022

Hi Developers!

Here're the technology bonuses for the InterSystems IRIS Globals Contest 2022 that will give you extra points in the voting:

  • Data-model implementation - 5
  • Functional index implementation - 5
  • Data Move usage - 3
  • Embedded Python - 4
  • Docker container usage - 2 
  • ZPM Package deployment - 2
  • Online Demo - 2
  • First Article on Developer Community - 2
  • Second Article On DC - 1
  • Code Quality pass - 1
  • Video on YouTube - 3

See the details below.<--break-><--break->

2
0 387
Question Kevin McGinn · Mar 4, 2022

I am using the 

import intersys.pythonbind3 as pyb

conn     = pyb.connection()
conn.connect_now(...)
    
db      = pyb.database(conn)
qry        = pyb.query(db)
obj        = pyb.object(db)

for connection to the cache instance

However when I run this class method, The error message  indicates the method does not exist:

print(db.run_class_method("SYS.Database","GetStatus",[]))

intersys.pythonbind3.cache_exception: file=intersys/pythonbind3.c line=3034 err=-1000 message=<METHOD DOES NOT EXIST> 148 runMtdLow+22^%SYS.BINDSRV GetStatus,SYS.Database

3
0 297
Question Peter Stordiau · Feb 20, 2022

Dear people,

I (really) spent hours on finding the maximum size a Global is allowed to be (for Windows, if that matters). All I seem to run into are database sizes (derived from a max number of blocks and block size), but I refuse to believe that is correct because too small to be realistic. surprise 

11
0 862
Question Dmitry Maslennikov · Jun 9, 2021

Found one interesting behaviour in one system with Ensemble. Some Request class has a property with type %XML.CharacterStream by design, this class is the heaviest request in the system, and with profiling journal files, it got about 40% of the file. When I counted all the sizes of such streams per one day and found that the real stored data is three times less. After deep inspecting the journal file, I found the first save of stream data, then removing previously stored data, and saving again and there were no reasons to change the content of the stream, it should be stored only once.

3
0 440
Question Thembelani Mlalazi · Mar 16, 2021

I have  a SQL query that I want to run against MS SQL from cache ensemble using the SQL outbound adapter. If I run this query direct from MS SQL Studio it take about 7 seconds MAX and returns about half a million rows. The row only contains one column it is a number all same size and if I run this query in the production in ensemble it takes for ever the production finishes without getting the response back. The same query run in cache outside the ensemble environment writing results to a file it returns results taking about 3minutes to complete. But if I load the results into  a list or

1
0 345
Question Jairton Junior · Feb 11, 2021

Consider a Natural Key with an Identity (Serial) field.

I cannot seem to acquire the generated value after persisting my entity. That is, the returned entity by Spring Data's "save" does not have the generated value.

The value is generated by the database, and I can query it after repository.save(entity).

I have done some testing and created a Github repo with it...

https://github.com/jesjobom/iris-hibernate-key-test
Am I missing something?

1
0 254
Article Muhammad Waseem · Feb 24, 2022 2m read

Hi, Community,

This post will demonstrate how to display data on the web by using Embedded Python , Python Flask Web Framework and Jquery datatable
image

We will display processes from %SYS.ProcessQuery table.

Step 1: Add table to HTML page and write below javascript code to display passed data from app.py :

HTML

  <table id="myTable" class="table table-bordered table-striped">                 
   </table>

Javascript

0
0 2106
Article Muhammad Waseem · Feb 22, 2022 5m read

Hi Community,

This post is a introduction of my openexchange iris-python-apps application. Build by using Embedded Python and Python Flask Web Framework
Application also demonstrates some of the Python functionalities like Data Science, Data Plotting, Data Visualization and QR Code generation.

image

 

 Features

  •  Responsive bootstrap IRIS Dashboard

  •  View dashboard details along with interoperability events log and messages.

  •  Use of Python plotting from IRIS

  •  Use of Jupyter Notebook

  •  Introduction to Data Science, Data Plotting and Data Visualization.

  •  QR Code generator from python.

1
0 6727
Question Michel Liberado · Feb 11, 2022

Hi, the class %Library.Storage has several methods such as  %BuildIndices(pIndexList As %RawString = "" ...), %ValidateIndices(idxList As %List = ""...), ... which take as a parameter (amongst others) a list of indices (in the example, the signature of the list is not the same but I guess it does not matter).

My question is: can get this list in code ? I know that is it possible to get the list of properties of a class in code, but can I have the same for indices ?

For those wondering what I'm trying to achieve:

7
0 660
Question phillip jack · Feb 2, 2022

Hi Folks,

I created a persistent class as below 

Class myclass.DataBase Extends %Persistent
{

Property ID As %String;

Property Skill As list Of myclass.SerialTablelist;
}

and Created another Serial class as 

Class myclass.SerialTablelist Extends %SerialObject
{

Property PSkill As %String;

Property OSkill As %String;
}

Now I will save the id as below

do rs.Prepare("Insert into myclass.DataBase(ID)VALUES(?)")
do rs.Execute(ID)

 

I am facing issue with the AS LIST OF 

Could any one guide me how to save the Skill (PSkill ,OSkill ) using resultset (I am able to )

12
1 581
Article Muhammad Waseem · Jan 11, 2022 2m read

In this article I will explain the usage of %SQL_Diag.Result and %SQL_Diag.Message table along with all-new LOAD DATA functionality.

It is recommended to go through LOAD DATA documentation first. 

After successful operation LOAD DATA insert one record in %SQL_Diag.Result table and details are inserted in %SQL_Diag.Message table


Below is the basic command when table is already created and source file does not contain header row. 

LOAD DATA FROM FILE 'C://TEMP/mydata.txt' 
INTO MyTable

The file name must include a .txt or .csv (comma-separated values) suffix and both source and target have the same sequence of data columns.

Loading from File Source: Header

1
0 358
Article Andrey Shcheglov · Dec 13, 2018 6m read

Astronomers’ tools

5 years ago, on December 19, 2013, the ESA launched an orbital telescope called Gaia. Learn more about the Gaia mission on the official website of the European Space Agency or in the article by Vitaly Egorov (Billion pixels for a billion stars).

However, few people know what technology the agency chose for storing and processing the data collected by Gaia. Two years before the launch, in 2011, the developers were considering a number of candidates (see “Astrostatistics and Data Mining” by Luis Manuel Sarro, Laurent Eyer, William O’Mullane, Joris De Ridder, pp. 111-112):

Comparing the technologies side-by-side produced the following results (source):

Technology Time
DB2 13min55s
PostgreSQL 8 14min50s
PostgreSQL 9 6min50s
Hadoop 3min37s
Cassandra 3min37s
Caché 2min25s

The first four will probably sound familiar even to schoolchildren. But what is Caché XEP?

9
1 1144
Article Sergey Mikhailenko · Jan 16, 2022 1m read

For the demonstration, a exchange-rate-cbrf-ui project was made and deployed an online demonstration in the cloud.

For authorization, you can use the account superuser with password SYS

For this project, I used the AdminLTE template, which I have already used in my projects more than once, for example info-chest or access-matrix.

On the main page, you can get a table of exchange rates... image

... or download data from the official website of the Central Bank of the Russian Federation. image

Two more pages have been created for demonstration purposes. image

0
1 198
Announcement Evgeny Shvarov · Dec 28, 2021

Hi Developers!

Here're the technology bonuses for the InterSystems IRIS Datasets Contest 2021 that will give you extra points in the voting:

  • Dataset Usage Demo Repository - 4
  • LOAD DATA Usage - 3
  • Questionnaire  - 2
  • Unique Real Dataset - 4
  • Docker container usage - 2 
  • ZPM Package deployment - 3
  • Online Demo - 2
  • Code Quality pass - 1
  • First Article on Developer Community - 2
  • Second Article On DC - 1
  • Video on YouTube - 3

See the details below.<--break-><--break->

4
0 444
Article Rob Tweed · Dec 20, 2021 1m read

For those of you who might be new to IRIS, and even those who have used Cache or IRIS for some time but want to explore beyond its usually-assumed boundaries and practices, you might want to dive into this detailed exploration of the database engine that is at its heart, and discover just what you can really do with it, going way beyond what InterSystems have done with it for you. 

5
4 545