Transaction Log Validation via Egress Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in scaling to handle increasing numbers of clients, queries, and data, leading to performance degradation due to exhausted memory, processing threads, and input/output capabilities, and there is a need for improved reliability in transaction log validation to prevent corruption.

Innovation Solution

Implementing a transaction log service that enables asynchronous processing of log requests, consolidates log requests and logs to reduce resource consumption, and performs egress validation to confirm the integrity and consistency of transaction logs by tracking their identities and payloads, ensuring they match previously served logs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If database systems scale to handle increasing numbers of clients and queries, then service capacity increases, but memory, processing threads, and I/O capabilities become exhausted leading to performance degradation

Engineering Contradiction:
Improveservice capacityVSAvoidperformance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the database system into multiple independent components including primary database systems, secondary database systems, transaction log services, and validation services. Each component operates independently with dedicated resources, preventing resource exhaustion in one component from affecting others. Transaction logs are divided into discrete blocks that can be processed and validated independently, enabling scalable architecture that maintains performance stability as system capacity increases.

Inventive Principle:
Principle #1Segmentation

2Speed

If transaction logs are served without validation, then service speed increases, but corruption of transaction logs may occur reducing reliability

Engineering Contradiction:
Improvelog service speedVSAvoidlog integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary validation of transaction log blocks before they are served to secondary database systems. A validation service computes validation values (such as checksums or hashes) for each transaction log block and stores these validation values alongside the logs. When logs are requested, the validation occurs in advance, ensuring integrity without adding delay to the log serving process. This preliminary action guarantees log integrity while maintaining high service speed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If egress validation is performed on all transaction logs, then reliability improves, but processing overhead and time increase

Engineering Contradiction:
Improvevalidation reliabilityVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of validating the entire transaction log payload, the system creates and validates simplified copies or representations of the log data. Validation values such as checksums, hashes, or metadata summaries are computed and stored separately from the full transaction logs. These compact validation copies are much faster to process while providing equivalent reliability guarantees. The full logs can be served quickly while the compact validation data ensures integrity with minimal processing time.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11720550B2Transaction log validation in a database transaction log service
Publication Date: 2023.08.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11720550B2 patent drawing
  • US11720550B2 patent drawing
  • US11720550B2 patent drawing

AI summary

Methods, systems and computer program products are provided for transaction log validation in a database transaction log service. A transaction log service may perform egress validation to confirm transaction logs match previously served transaction logs and are free of corruption. A transaction log service may determine whether a transaction log (e.g., in the form of a log block) was previously served based on transaction log (e.g., log block) identity indicating a position in a logical stream of transaction logs (e.g., log blocks). Egress validation may improve log service reliability by providing an added layer of defense against corruption of a transaction log payload.