× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



There would be a trigger program on the database table that's ONLY job is to
enqueue the data. Then the trigger stops. Really fast that way.

You could use the API approach, but I'm guessing that will be slower since
you can stack up as many queue processing programs as needed and tune them
separately from the application.

Triggers are an excellent tool, and should be used, but they must be
carefully designed so the application does not wind up waiting for
synchronous transactions when asynchronous (or nearly synchronous) will do
the job.

Cascading triggers cause massive headaches if the triggers themselves are
not optimized for performance. That's what I was attempting to get to.
Triggers are a loaded gun and you have to be sure of your target, and the
background, before the trigger is pulled.


--
Jim Oberholtzer
Agile Technology Architects

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> On Behalf Of Richard
Schoen via MIDRANGE-L
Sent: Friday, January 04, 2019 12:07 PM
To: midrange-l@xxxxxxxxxxxx
Cc: Richard Schoen <Richard.Schoen@xxxxxxxxxxxxxxx>
Subject: RE: Handling Record Change Journal Entries

So would the data queue method you describe be using triggers or the journal
receiver APIs/RCVJRNE to grab the data and stick into a data queue ?

I like the idea of processing entries from a data queue.

I think it sounds like you're not advocating triggers, right ?

Thanks.

Regards,
Richard Schoen
Director of Document Management
e. richard.schoen@xxxxxxxxxxxxxxx
p. 952.486.6802
w. helpsystems.com
------------------------------

message: 4
date: Fri, 4 Jan 2019 11:55:55 -0600
from: "Jim Oberholtzer" <midrangel@xxxxxxxxxxxxxxxxx>
subject: RE: Handling Record Change Journal Entries

VERY STRONG SUGGESTION:

Assuming you want real time but not synchronous in the transaction, and you
don't want to slow down the application process, strongly consider building
a data queue system to accomplish the task.

The Trigger does nothing more than grab the data you want and enqueue an
entry on a data queue. Could be keyed nor not, set up the way you like it.

Now build a data queue processing program that will take a queue entry and
do what you need with it. Many of them could be running so there's no
chance it will fall very far behind if at all.

The trigger moves extremely fast, does not slow down production transactions
and while it's asynchronous it does not feel that way since the data queue
programs keep ahead of the trigger.

Last year I had too many customers implement triggers without thinking it
through all the way and we wound up with transactions that went from
microseconds to many seconds waiting on triggers. Worse, they set up
cascading triggers and really bolixed things up. In one case a series of
cascading triggers ended up causing themselves to fire again, and the system
wound up tight to absolute capacity, causing use to kill the partitions from
the HMC. Bad.

Triggers are wonderful, until they are not.......


--
Jim Oberholtzer
Agile Technology Architects





--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.