This question does not have a single straightforward answer. And I do
get it regularly in the training classes.
Informix mirroring is done at the Informix engine level so at a higher
level. When you have mirroring at the Informix level, every write
operation (INSERT, UPDATE, DELETE) requires 2 accesses plus updating the
related indexes if the indexes are in mirrored dbspaces also. So it
slows down your operations. That is why we advise people to disable
mirroring if you're doing large loads of data; meaning it is better to
disable mirroring (not stopping miroring altogether) temporarily,
perform your major load or major batch that includes modifications et
renable mirroring again after wards and let the Informix perform the
sync of the mirror chunks in the background. This is because mirroring
at the engine level slows down your operations; for a single row INSERT,
it is trivial (you will not really see the difference). However in you
do a large SELECT, the engine can read from both mirror chunks in
parallel and hence accelerate the reads.
With Informix mirroring, you can choose which dbspace to mirror. You do
not have to mirror all of the dbspaces. However, all of the chunks that
belong to a single dbspace have to be either mirrored or not. Some
people mirror only rootdbs and the logs dbspace (critical dbspaces) if
you do not have the space needed. If the rootdbs is not mirrored and the
its chunks go down, the engine goes down. It it is mirrored, the engine
continues with the mirror chunks. However if a mirrored dbspace that
contains data and is not a critical dbspace, the dbspace if not mirrored
goes down but the engine continues to function.
Backups only use one of the mirrored chunks during saves; the system
does not backup both mirrored chunks.
It is very easy to setup mirroring at the begining of your instance
setup or later on if desired. You do not have to request a system from
the system's administrator if he/she is not available. However, you need
to have the necessary disk space to do it. You need twice as much disk
space if mirroring is setup.
From the performance point of view, mirroring at the system level (it
is done at a much lower level) is faster that mirroring at the Informix
level. Here again, what type of mirroring is being put in place. I do
not have experience with Solaris Volume Manager
We can go on and on in the comparison . So it depends on what you are
looking for is setting up mirroring: speed, security, ease of setup,
manipulation.
Ease of setup, reliability, security; Informix mirroring is fine and
works great and has existed for a very long time.
Speed: I would say that mirroring at a lower level (seen at the system
level), I would go with system mirroring. Also it depends on the type of
RAID used.
There is no single simple answer. This subject could not be resumed in
just a simple answer.
--
Khaled Bentebal
Mobile: 33 (0) 6 07 78 41 97
Email:
khaled.bentebal@consult-ix.frSite Web:
www.consult-ix.fr
Original Message:
Sent: 5/30/2020 1:13:00 PM
From: David Grove
Subject: Informix Mirroring?
IDS 12.10.FC12
Solaris 10 1/13
Is it possible to generalize and say that Informix mirroring is better than using 3rd party LVM mirroring?
I raise an issue in this related thread:
Solaris Volume Manager
I presume that using the builtin Informix mirroring would avoid any such problems.
Is Informix mirroring regarded as "best practice"?
I could be totally mistaken, but I seem to recall some mention by the instructor in an Informix class of long, long (>20 years) ago that her opinion was that it a 3rd party LVM was probably a better way to mirror chunks than the Informix option. I do not recall what her reasoning was.
How does Informix mirroring compare to other LVMs, in terms of performance and safety?
Thank you.
DG
------------------------------
David Grove
------------------------------
#Informix