Probabilistic Cache Indexing for Fewer Database Node Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inefficient communication between database nodes due to frequent requests for records that are not present in other nodes' in-memory caches, leading to resource consumption and slowed operations in database systems with LSM trees.

Innovation Solution

Implementing probabilistic data structures that allow database nodes to determine whether to request records from other nodes by using hash functions to set bits in the data structures, reducing unnecessary requests through probabilistic checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database nodes frequently request records from other nodes to check in-memory caches, then record availability can be ensured, but network resource consumption increases and system performance deteriorates

Engineering Contradiction:
Improverecord availabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing probabilistic data structures (Bloom filters, Cuckoo filters) in advance in each database node. These structures contain pre-processed information about which records exist in which nodes' in-memory caches. When a record lookup is needed, nodes can immediately query these pre-computed structures without performing expensive network requests, thus resolving the contradiction between ensuring record availability and maintaining system performance.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If database nodes send requests to other nodes for record lookups, then accurate information can be obtained, but unnecessary requests consume network resources and time

Engineering Contradiction:
Improveinformation accuracyVSAvoidrequest processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent introduces probabilistic data structures as intermediaries between database nodes. Instead of directly requesting records from other nodes, nodes first query these intermediary structures which provide probabilistic indications of record existence. This intermediary layer filters out obviously futile requests before they consume network resources, while still maintaining high accuracy through the probabilistic nature of the data structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If probabilistic data structures are used to reduce requests, then resource usage is optimized, but some false positive results may occur

Engineering Contradiction:
Improveresource efficiencyVSAvoidrequest accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies partial action by using probabilistic data structures that provide approximately correct information rather than exact information. The Bloom filter and Cuckoo filter provide probabilistic indications of record existence with configurable false positive rates. This partial accuracy is sufficient to filter out the majority of futile requests while maintaining acceptable reliability, optimizing the trade-off between resource efficiency and request accuracy.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3991057B1Reducing requests using probabilistic data structures
Publication Date: 2025.11.19 SALESFORCE INC
  • EP3991057B1 patent drawingFigure 1
  • EP3991057B1 patent drawingFigure 2A~2B
  • EP3991057B1 patent drawingFigure 3

AI summary

Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.