Transaction Log Analysis for Database Command Pattern Recognition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database Administrators face challenges in understanding which applications interact with database objects due to inconsistencies in Referential Integrity implementation and difficulties in tracking SQL commands, compounded by communication issues between database management and application development teams.

Innovation Solution

A method and apparatus that analyze transaction logs to identify patterns of SQL commands by converting transaction commands into candidate command patterns, determining confidence values, and generating command pattern data for performing application management tasks, which includes identifying application and user patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple developers implement Referential Integrity using different techniques (some in database system, some in program code), then developer flexibility and adaptability are improved, but database system consistency and reliability deteriorate

Engineering Contradiction:
Improvedeveloper flexibilityVSAvoiddatabase system consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary layer (abstraction layer or wrapper) between the application code and the database system. This intermediary standardizes the interface for Referential Integrity operations, allowing developers to implement RI in their code while the intermediary ensures consistent execution regardless of whether the underlying implementation is in the database system or application code. This resolves the contradiction by maintaining developer flexibility while ensuring system consistency through the mediating layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If code changes are made to application programs to improve functionality, then productivity and adaptability are improved, but code complexity and difficulty of tracking SQL commands increase

Engineering Contradiction:
Improvefunctionality improvementVSAvoidcode complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the codebase by separating SQL command generation from business logic. It introduces modular components such as stored procedures, parameterized queries, and command pattern classes that encapsulate SQL operations. This segmentation allows functionality to be improved in one module without complicating other modules, making it easier to track which SQL commands are invoked by which applications while maintaining productivity.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If detailed tracking of SQL commands is implemented to understand application-database interactions, then measurement precision is improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improvetracking precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements self-service tracking mechanisms where the system automatically logs and monitors SQL commands through built-in instrumentation. The command pattern classes and logging frameworks automatically capture execution details without requiring manual intervention or complex external monitoring systems. This provides precise tracking of application-database interactions while minimizing added system complexity through automated, self-managing solutions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10521407B2Grouping of database objects
Publication Date: 2019.12.31 CA TECH INC
  • US10521407B2 patent drawing
  • US10521407B2 patent drawing
  • US10521407B2 patent drawing

AI summary

A computing device analyzes the transaction entries in a transaction log to identify related commands associated with performing a set of data operations. Commands are considered to be potentially related if the commands are executed within a predetermined timespan. Sets of potentially related commands are then grouped together into corresponding candidate patterns, and further analyzed in view of additional information to determine a probability that the potentially related commands of a candidate pattern are actually related. A confidence value indicating that probability is also determined. Application management tasks, such as database optimization and recovery tasks, for example, may then be performed based on the candidate patterns that meet or exceed a predetermined threshold.