Log Tailer Local Record Access After Transaction Logging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In conventional leader-follower database architectures, log tailers are unable to read their own uncommitted records without reaching out to the log owner, leading to high overhead and inefficiencies in processing transactions.

Innovation Solution

Log tailers are assigned a unique transaction ID, allowing them to insert records into a local memory structure after logging the write operation, and implement a cleanup process to manage memory usage, preventing duplicates and ensuring space for ongoing transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If log tailers request records from log owner for every read operation, then data consistency is maintained, but communication overhead increases and processing efficiency decreases

Engineering Contradiction:
Improvetransaction processing efficiencyVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The log tailer pre-fetches and caches records from the log owner before they are needed for read operations. By anticipating future read requests and loading data in advance, the system reduces the frequency of remote calls during actual transaction processing, thereby improving efficiency while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediate cache memory is introduced between the log owner and log tailer. This cache stores recently accessed or frequently needed records, allowing the log tailer to satisfy read requests from local memory rather than contacting the log owner directly, thus reducing communication overhead while maintaining data availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If log tailers cache records locally to avoid remote calls, then processing efficiency improves, but memory consumption increases and overflow risk arises

Engineering Contradiction:
Improveread operation speedVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The cache memory size and eviction policies are dynamically adjusted based on system conditions such as available memory, access patterns, and transaction loads. By changing parameters like cache capacity limits and replacement strategies (e.g., LRU, FIFO), the system optimizes the balance between keeping useful data in memory and preventing memory overflow, thereby maintaining high read speeds without excessive memory consumption.

Inventive Principle:
Principle #35Parameter changes

3Speed

If log tailers store all records in memory for fast access, then read performance improves, but memory management complexity increases and cleanup becomes difficult

Engineering Contradiction:
Improverecord access speedVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system implements periodic cleanup routines that scan the cache memory, identify expired or obsolete records, and remove them at scheduled intervals. This periodic maintenance approach simplifies memory management by automatically handling record expiration and preventing unbounded memory growth, while still maintaining fast access speeds for active records during normal operation.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12468690B1Mechanisms for accessing database records locally
Publication Date: 2025.11.11 SALESFORCE INC
  • US12468690B1 patent drawing
  • US12468690B1 patent drawing
  • US12468690B1 patent drawing

AI summary

Techniques are disclosed that pertain to a database system having a log owner and log tailers. The log owner maintains a transaction log and the log tailers replay the transaction log. A log tailer may receive a set of requests to perform a database transaction that involves a write operation to write a record and a subsequent read operation to read that record. As a part of performing the transaction, the log tailer may issue a request to the log owner to log the write operation in the transaction log and the log tailer may insert the record into a local memory structure of the log tailer. After receiving a response from the log owner that the write operation has been logged, the log tailer may permit the subsequent read operation to access the record from the local memory structure without requesting the record from the log owner.