OpenQM Tip of the week: System Backup on QM

122 views
Skip to first unread message

martinp...@ladybridge.com

unread,
Sep 13, 2012, 7:29:04 AM9/13/12
to ope...@googlegroups.com, mvd...@googlegroups.com
A new Tip of the Week article is now available at
http://www.openqm.com/cgi/lbscgi.exe?t0=h&t1=KB.00090

Kevin Powick

unread,
Sep 13, 2012, 9:01:22 AM9/13/12
to mvd...@googlegroups.com, ope...@googlegroups.com

On Thursday, 13 September 2012 07:29:08 UTC-4, Martin Phillips wrote:
A new Tip of the Week article is now available at
http://www.openqm.com/cgi/lbscgi.exe?t0=h&t1=KB.00090

Did I interpret correctly the section, "Backup of a Live System" to say that, currently, there is no reliable way to backup a live system? i.e. A system with users actively updating the database?

Would it be possible to employ some type of transaction journalling that begins and ends with the backup process to allow reliable backups of live/active systems?  Restoration would involve restoring the backup, followed by the journal of transactions made during the backup process.

--
Kevin Powick  

Brian Stone

unread,
Sep 13, 2012, 9:17:12 AM9/13/12
to mvd...@googlegroups.com, ope...@googlegroups.com

The best way to backup a live system is to mirror it to another server.

Brian

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms

Kevin Powick

unread,
Sep 13, 2012, 11:19:48 AM9/13/12
to mvd...@googlegroups.com, ope...@googlegroups.com

On Thursday, 13 September 2012 09:17:14 UTC-4, Brian Stone wrote:

The best way to backup a live system is to mirror it to another server.

I didn't realize that my first reply has been posted to this group as well.  This thread is actually growing in the QM google group.

Depends what you mean by "mirroring" the server.  If by "mirror" you mean using database replication as done in some RDBMS products, then I would agree.  Doing so allows you to still easily create a portable/storable representation of the system at a moment in time. 

However, the problem of inconsistent business data remains, if the application is not using transactions.  Martin gave the classic example of an application debiting one account then crediting another.  If the application was not written using transactions then the replication process would have no way of knowing that the business transaction was incomplete and thus would only back up half of it.  

--
Kevin Powick



Tony Gravagno

unread,
Sep 13, 2012, 3:40:23 PM9/13/12
to mvd...@googlegroups.com

Since this thread is here, I'll mention that Caché uses a two-pass backup which gets everything available, and then it goes back to pick up whatever was posted right after that. So even if your backup on a live system takes 2 hours, all completed transactions would be in the final save. I believe that's done with a combination of the standard hierarchical save mechanism combined with a transactional save which is accurate to the second of when a system might crash. I know D3 supports this too but as memory fades I don't recall how they are different.

 

I intend to read the QM tip and go through the QM thread but I'm hoping to see some info about Caché on this too, and other MV platforms.  I think we're constantly being kicked by the nature of our backup processes, whether hashed or OS-based, and I'm amazed that something better wasn't devised over a decade ago by most of the vendors here.

 

T

Kevin Powick

unread,
Sep 13, 2012, 9:25:50 PM9/13/12
to mvd...@googlegroups.com


On Thursday, 13 September 2012 15:40:32 UTC-4, Tony Gravagno wrote:

.......I'm amazed that something better wasn't devised over a decade ago by most of the vendors here


Since jBASE is heavily used in the banking industry, They appear to have some pretty robust data integrity and backup/restore features.  I have no experience with those features though.

--
Kevin Powick

Ed Clark

unread,
Sep 14, 2012, 9:31:03 AM9/14/12
to mvd...@googlegroups.com
There are online manuals for Cache. Documentation for backup is available st http://docs/intersystems.com/cache20122/csp/docbook/DocBook.UI.Page.cls?KEY=GCDI_backup#GCDI_C146125. As Tony says, the online backup uses multiple passes to capture everything. Cache also supports database mirroring, which can be used to maintain a live backup. Cache also journals database activity, and the journal can be used in conjunction with backup and restore procedures.

Of course, as Kevin commented, if the application doesn't use transactions, then there's no easy way to roll back a partially completed set of multiple updates. You could use the journal to find such updates, but I wouldn't want to be the one tasked to do something like that. One of the advantages of using objects in cache is that there is some transactionality already built in, but only good program and object design can produce reliable results.

Ed Clark

unread,
Sep 14, 2012, 9:43:09 AM9/14/12
to mvd...@googlegroups.com
I worked with a jbase system in the alarm monitoring industry. We used their transaction logging/journaling feature to maintain hot backup systems for failover. It was pretty reliable. I don't remember the backup process being very complex, but we didn't need it to be.

Ed Clark

unread,
Sep 14, 2012, 9:45:56 AM9/14/12
to mvd...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages