RDBMS Event Generator User Guide

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

RDBMS Events

This section provides a brief overview of RDBMS events and provides information you should consider before you begin creating data sources and RDBMS events, and defining channel definition rules.

This section covers the following topics:

 


RDBMS Events

Events are asynchronous, one-way messages received from an RDBMS. Events post an XML document/XML as Java String/Serialized CachedRowSet from an RDBMS whenever a specific event of interest is triggered. The event could contain data about a Select, Insert, Update, or Delete operation that has occurred on a table in the RDBMS.

Supported Event Types

The RDBMS Event Generator supports the following event types:

General Information

Before you begin creating data sources and RDBMS events, and defining channel definition rules, consider the following:

When you are configuring a Query/Post Query event type, remember:

 


Architecture Overview

RDBMS Event Generator is designed to replace the RDBMS Adapter's events features (RDBMS Adapter Service feature is not a part of the RDBMS Event Generator). This section provides a brief overview of RDBMS Event Generator architecture and presents some of the benefits that the RDBMS Event Generator has over the RDBMS Adapter.

The major difference between the RDBMS Event Generator and the RDBMS Adapter is in the architecture of Trigger Type events. Query/Post Query Type events are essentially the same.

For Trigger Type events, the RDBMS Adapter runs in a single thread and polls and publishes table rows in a single thread. If the publish operation takes longer than the poll interval to complete, then subsequent polls are delayed. Since this is essentially a single-threaded approach, the maximum throughput is limited. In contrast, the RDBMS Event Generator utilizes a multi-threaded approach. Polling and publishing are performed by separate processes. This way, even if some of the publishing threads are delayed, polling can continue and the free threads can publish new rows. Also, you can specify the number of processing/publishing threads to match the rate-of-activity on the database table.

The following example uses an "Insert Trigger Type Event" to illustrate this polling benefit. It takes 10 seconds for 2 threads to process and publish 50 Rows each. This equates to a throughput of (50 x 2)/10 = 10 rows per second, or 10 x 60 x 60 = 36,000 rows per hour. To make maximum use of the processing threads occupied all the time and to always obtain a consistent throughput, a polling interval of 7-8 seconds is selected. The database table on which this Trigger Event has been configured must have at least 100 rows being Inserted every 7-8 seconds to obtain this constant throughput of 10 rows per second.

You should only use the above example as a thumb-rule to help configure events. The actual numbers depend on several factors like application server hardware, database hardware, data types chosen for publication, number of columns chosen for publication, application server execute queue size, etc.

Clusters

In a cluster, polling is performed by each managed node in a round-robin fashion. Processing/Publishing of the polled rows is also load-balanced in a round-robin fashion. The Connection Pool and the Data Source must be targeted to the entire Cluster. For more information on deploying RDBMS Event Generators in clusters, see "Event Generator Resources" under "Key Resources" in Introduction in Deploying WebLogic Integration Solutions.


  Back to Top       Previous  Next