Question
Сергей Марушко · Mar 5, 2021

Transition and transfer from Caché database to Iris database.

Transition and transfer from Caché to Iris databas. I have a question about import-export from Caché to Iris. Someone will tell you how to do this with a regular one, i.e. using standard procedures from Caché itself or Iris? I am asking in connection with the planned transition from Caché to the new IRIS DBMS.

Product version: IRIS 2020.1
30
2 0 15 159
Log in or sign up to continue

Replies

First of all I would recommend reading these two documents available on WRC (Software Distribution - Docs):

  • InterSystems IRIS Adoption Guide
  • InterSystems IRIS In Place Conversion Guide

First one explains the differences between Cache and InterSystems IRIS and the second one is about automated in-place conversion from Cache to InterSystems IRIS.

I would recommend the following steps:

  • upgrade to 2016.2
    • This is the place to uplift your application - on the one hand it's still Cache so upgrade is simple, on the other the code, even with the new 2016.2 features would probably run fine on InterSystems IRIS
    • if you're using SQL - start using frozen plans
    • if you're using JSON - new JSON features become available here (dynamic objects)
  • upgrade to 2018.1 (latest micro)
  • perform in-place conversion to the latest InterSystems IRIS

There is one point. I requested access to the support account for about a week ago and still cannot enter the VRC. Could you throw off these two documents?

Vadim Fedorov wrote you an email with details.

Hi Sergey, 

I have sent email to you with proposal to schedule a call to discuss all technical and commercial issues together with InterSystems Sales Engineer.
After the  call we can provide all required documents.

Best Regards, Vadim

 

upgrade to 2016.2

What is the reason of this step? If OP's Cache version allows direct upgrade to 2018.1, it can be easily omitted.

OS Compatibility can be a stop factor for in-place conversion. E.g., preparing IRIS instance for a prospect, we faced a small problem with it: Cache 2017.2 (our App's supported version) turned to be incompatible with Ubuntu 18, which was chosen as on OS for IRIS.

@Alexey Maslov
I had a similar experience with "InPlace".
This may work if your applications are as simple as in SAMPLES:
[ "nome est omen" SAMPLES => Simple]
Just a few $ZU() or other %z* stuff may break you, or file references containing *CACHE*.
Or some $ZF() functions with c-binding, ....

Therefore I designed my "2 worlds" approach using ECP as a data bridge: 
Using ECP across IRIS and Caché

@Robert Cemper

Agree with you, "in-place conversion" is not of great aid in real cases. Its pathos name sounds a bit confusing, isn't it?

During my first tries to transfer our Caché APP to IRIS I took an approach similar to yours, although I preferred not to use ECP as it was possible to avoid running both instances concurrently.

The funny thing I noticed: if one creates a database in Caché, renames it to IRIS.DAT, stops Caché, and starts IRIS, it will be mountable, but the reverse is wrong: renaming IRIS.DAT has been created in IRIS to CACHE.DAT doesn't make it compatible with Caché.

upgrade to 2016.2

What is the reason of this step?

This is a first version with Frozen Plans. If this feature is not needed then upgrade to 2018.1 directly (provided OS compatibility - you're absolutely right about it).

Cache 2017.2 (our App's supported version) turned to be incompatible with Ubuntu 18, which was chosen as on OS for IRIS.

What's the official way to upgrade in that case? I usually just power down an instance, remove it from autostart, upgrade OS to the version supported by a new release, upgrade instance to a new version.

This way Cache/IRIS never runs on unsupported OS. Do you have a case with WRC on this topic?

This is a first version with Frozen Plans

The first, but not the last one, so still not getting the idea of having this intermediate upgrade point.

...Cache/IRIS never runs on unsupported OS. Do you have a case with WRC on this topic?

Sorry, on which topic? Everyone knows that Cache/IRIS never runs on an unsupported OS.

The first, but not the last one, so still not getting the idea of having this intermediate upgrade point.

Sure, but you can start freezing on 2016.2. There's no point in freezing if you jump to latest version from pre 2016.2

Sorry, on which topic? Everyone knows that Cache/IRIS never runs on an unsupported OS.

Upgrade path between Cache/IRIS versions where OS for old and new Cache/IRIS versions must be different.

Now I've got an idea... It was not our case as it was a new instance of IRIS to create. We were just choosing the simplest way of passing databases and some other stuff (localization, Task Manager's tasks, etc) from Caché to IRIS. Installation of an old version of OS just for Caché's sake seems to be overkill, doesn't it?

I'm full with you.
And if you aren't under time pressure you get a close look at things that have become obsolete over time but never were removed.

Stay tuned! 
I'm almost done (most likely before Monday) with a demo of how you can make a soft transition. 

Looking forward to your transition demo!