Kubernetes with OpenShift World Tour: Get hands-on experience and build applications fast! Find a workshop!

IBM Developer Blog

Follow the latest happenings with IBM Developer and stay in the know.

Explore pros and cons of using events vs. change data capture in IBM Sterling Order Management.


Note: Growing order data – Is it really an issue? This blog is Part 5 in a series.

Previous entries in this series provided implementation approaches using events and change data capture techniques. This blog highlights certain pros and cons of using events vs. change data capture with respect to order search service implementation in IBM Sterling Order Management.

Change data capture approach

Pros:

  1. No code changes are needed in the Order Management application to track changes in data.
  2. Minimal impact on the database; transaction logging must be enabled to track transactions.
  3. Transaction log can show a complete replay of updates to the data.
  4. Data tables can be enabled/disabled for transaction log, allowing for the ability to control the data footprint for lookup and search.

Cons:

  1. Contents of transaction logs are proprietary to the database management system; a change data capture tool is needed to interpret them.
  2. Dealing with changes in data definitions are difficult for the consumer, so customization and product upgrades need revisiting.
  3. Creation of order data in a format needed for search and lookup from the output is complex and a staging area is needed for data processing.
  4. Reprocessing of a record via transaction logs is not straightforward.
  5. Increased solution complexity; additional tools and technologies are added.
  6. Tightly coupled to database; with modularization of Order Management application, it may be difficult to apply this process to different databases.

Event approach

Pros:

  1. Although this method needs programming the application to track transactions, this provides an accurate picture of data needed for order search and lookup.
  2. Many events are pre-defined in Order Management and need configuration changes to enable them.
  3. Pre-established data integration pattern uses an event-based data integration solution with other cloud solutions like IBM Watson® Order Optimizer and IBM Watson Order Insights.
  4. Reprocessing of an event is easier because each event is tracked and stored.
  5. Solution complexity is low and hardware footprint is small.
  6. Easily upgradable.
  7. Changes in data definition does not affect this approach because all data is present in the order object.

Cons:

  1. Application extension/customization/configuration may be needed.
  2. Increasing the data footprint needs a new application release.
  3. Event processing consumes resources from the application, although this can be optimized via asynchronous processing and combination of mirror database to some extent.

To summarize, it is difficult to say which approach is better. Software designers should consider the pros and cons of both the approaches with respect to their existing solution boundaries and technical environment prior to selecting one of them.

Tushar Agrawal