Informix

nested-group-icon.png

DB2

Expand all | Collapse all

Informix Mirroring?

  • 1.  Informix Mirroring?

    Posted Sat May 30, 2020 01:13 PM
    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
    ------------------------------


  • 2.  RE: Informix Mirroring?

    Posted Sat May 30, 2020 10:56 PM
    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.fr
    Site Web: www.consult-ix.fr




  • 3.  RE: Informix Mirroring?

    Posted Sun May 31, 2020 06:00 PM
    Thank you, Khaled, for your comprehensive and informative response.

    I think the essence of your wonderful explanation (Informix engine level vs. O/S level) was also the point of that Informix instructor so long ago.  Thank you for refreshing my memory.

    Do you have any thoughts on the (rough) degree of performance that might be expected using system level mirroring (software) mirroring, vs. Informix engine level mirroring.  I'm not certain how I could effectively test this, as it may be that the difference might be most significant and apparent when the system is loaded, and I can't do any testing on our Production system.

    Thank you, again.

    DG

    ------------------------------
    David Grove
    ------------------------------



  • 4.  RE: Informix Mirroring?

    Posted Sat May 30, 2020 11:08 PM
    David:

    In testing long ago, I found that Informix mirroring was a bit faster that LVM and other software based mirroring but slower that firmware and hardware based mirroring. Informix mirrors are reliable and yes it would get around the problem you mentioned in your other post. 

    Art





  • 5.  RE: Informix Mirroring?

    Posted Sun May 31, 2020 06:11 PM
    Edited by David Grove Sun May 31, 2020 06:58 PM
    Art:

    Thank you.  I always appreciate your thoughts.

    Just to make sure I am understanding you, you are saying that, in your experience (so not intending to put words in your mouth and assert the general case), you have found that using Informix mirroring didn't "cost" you, relative to software LVM.  (In my situation that would be Solaris Volume Manager on a SPARC Solaris system.  I declined to use the hardware RAID controllers available in our system because I could not split mirrors over two controllers, therefore, I could make only two mirrored pairs instead of three.)

    Actually, if there really is unlikely to be a performance penalty in using Informix mirroring, I think I would be inclined to switch over to it.  This is because, I would gain an extra slice on each drive.  (And that is because I make each slice a single chunk [except when "forced" to use offsets for additional chunks from a single slice], and I devote slice 7 to the SVM metadb... which means the mere fact of using SVM costs me a chunk for each mirrored pair.)

    Bottom line for me... If Informix mirroring was about the same as SVM, I'd use it.

    That was your experience, right?

    Thank you.

    DG

    Edit: P.S.  Rereading your post, I see that you indicated that Informix mirroring was actually a little faster than the software LVM you used, right?  Do you recall the LVM and O/S?
    ------------------------------
    David Grove
    ------------------------------



  • 6.  RE: Informix Mirroring?

    Posted Mon June 01, 2020 02:18 PM
    David:

    Informix mirroring is indeed a bit faster than software mirrors partly because, as Lester points out, some mirroring software does not read from both sides in parallel and partly because Informix knows more about the content of the mirror so the parallel reads are more intelligent. 

    But keep Lester's caveats in mind!

    Art

    ------------------------------
    Art Kagel
    ------------------------------



  • 7.  RE: Informix Mirroring?

    Posted Sun May 31, 2020 09:34 PM
    David,

    I have worked with Informix mirroring and hardware mirroring and LVM mirroring and I think the best answer is it all depends.  When I used to teach Informix classes I seem to remember in the instructor notes it said hardware mirroring was best, then software and the Informix.  But I have seen some really bad hardware mirroring, mainly in cheaper disk I/O cards and on 3rd party hardware for suns.  Most good (expensive) SANs do good mirroring and I have been very happy with AIX and Vertas Logical Volumn mirroring.  

    Reads:
    One thing Informix mirroring does well is it splits the reads from the primary and secondary so your reads will be twice as fast. If you get any hardware or software for mirroring make sure it will do this.  I have a great RAID 10 server that I really like except it only reads from the primary disks.  This is a requirement for any kind of mirror.

    Writes:
    The write penalty for Informix is so small I almost cannot measure it, a write is not committed until both sides of the mirror respond with success so it will have to wait for the slower write.  So performance is limited to the slowest part of the mirror. 

    And I have been very pleased with the results of Informix mirroring.  One of the best performance Disk systems was I have seen was a SAN with RAID 10 (mirroring) and the Informix mirroring on top of that...  Make sure you are mirroring to separate disks.

    Informix mirroring is a simple way to double your read performance and add a safety net to your database. 

    Regards - Lester


    ------------------------------
    Lester Knutsen
    President and Principal Database Consultant
    Advanced DataTools Corporation
    ------------------------------



  • 8.  RE: Informix Mirroring?

    Posted Mon June 01, 2020 02:29 PM
    Thank you, Lester, for your informative comments.

    "...I used to teach Informix classes I seem to remember in the instructor notes it said hardware mirroring was best, then software and the Informix...."

    That was the one-sentence summary of what I thought I recalled from those long-ago classes.


    "Reads:
    One thing Informix mirroring does well is it splits the reads from the primary and secondary so your reads will be twice as fast..."



    Would this reading from both sides of the mirror happen, irrespective of whether PDQ is turned on?  (Provided sufficient VPs are available)


    "Writes:
    The write penalty for Informix is so small I almost cannot measure it, a write is not committed until both sides of the mirror respond with success so it will have to wait for the slower write..."


    Great.  And, since I am using SSDs for both sides of the mirror, write delays should be even less significant.


    "...Informix mirroring is a simple way to double your read performance and add a safety net to your database..."


    Well, there it is.  Given comments from you, Khaled, and Art, I think the prudent way to go is to use Informix mirroring (something I have always passed over, due to that lingering memory from Informix class many years ago, and that I never re-evaluated in all these years).

    Thank you all for your help.

    Regards,

    David Grove


    ------------------------------
    David Grove
    ------------------------------



  • 9.  RE: Informix Mirroring?

    Posted Mon June 01, 2020 02:44 PM
    David,

    It will read from both sides of the mirror without PDQ.  I would agree with your choice here.

    Regards - Lester

    ------------------------------
    Lester Knutsen
    President and Principal Database Consultant
    Advanced DataTools Corporation
    ------------------------------



  • 10.  RE: Informix Mirroring?

    Posted Mon June 01, 2020 02:50 PM

    Have been using Informix mirroring on many mission critical sites/instances for many years with great results.

     

    Hal Maner

    M Systems International, Inc.