Re: Informix 5 to 7
Posted in 1997
>Hi,
>
>I need to convert my Informix 5 system to Informix 7. I was told
>I need to use Informix's relay module to accomplish this & there is
>a very big performance hit when this conversion is done. Does anyone
>have any expertise in this area?
In a former life, I went through this process. ;)
Yes - there is a definite performance hit in using the relay module. You
will want to recompile your applications to the appropriate versions as
part of the migration problem so that the requirement for the relay module
will be eliminated.
Let me make the following suggestion as a replacement for the relay module
approach.
Basically, the relay module is required in DSA (any engine past 6.0) to
allow programs using 4.x tools to communiate with the DSA engine. the 4.x
tools were developed using the engine/client interfaces that were used in
pre-6 engines. The interfaces to the post 6.x engine are quite different.
That means that 4.x tools can not directly talk to the DSA engine.
However, can communicate indirectly. That is was the relay module is
designed to do. Basically, the pre-DSA environment was designed to talk
with the engine via an un-named pipe.
If you want to do somthing like take your current esql/c or 4GL programs
that are written in 4.x tools and have them communicate to a DSA engine,
you must go through some interface that knows about the 4.x tools (unnamed
pipe) and also the DSA environment. This can be done by using the relay module.
There is another way that will probably be less of a performance hit than
the relay module. That is to used the 4.x tools to interface with the 5.x
engine directly and then to access the 7.x instance via I-star/I-net. In
this way, the 5.x engine actually acts as the relay module. This will
still produce a performance hit, but will be much less of a hit than the
relay-module.
The way that this would be implemented is:
1) Convert the 5.x database to 7.x
2) create a new 5.x instance which contains nothing but a root chunk with
no databases.
3) Update the 5.x sqlhosts to contain the 7.x connectivity information
4) Set DBPATH to include pointers to the 7.x instance/database
5) Set TBCONFIG/INFORMIXDIR to point to the EMPTY 5.x instance
For instance, if the 7.x instance is named "JOE" and it contains the
databases db1 and db2, then you might want to set up your DBPATH
environmental variable to be:
DBPATH=//JOE/db1://JOE/db2
This way when you attached to the 5.x instance with your 4.x tools, it
would appear that db1 and db2 were contained in the 5.x instance, not in
the 7.x one.
Again, I have to emphasize that you will really need to get your
applications recompiled using the newer tools, but I think that this
approach will result in less of a performance hit than the relay-module.
Madison Pruet