In-Memory Database Loader Node Placement Strategy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory databases in massively parallel computer systems face challenges in effectively managing record placement across multiple nodes, limiting the full utilization of their potential power and response time.

Innovation Solution

A database loader uses SQL flags, historical query execution times, and node/network configuration to determine optimal data clustering across multiple nodes, allowing administrators to force placement of database structures for enhanced efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is distributed across multiple nodes in an in-memory database, then the system can handle larger data volumes and provide parallel processing capability, but query execution time increases due to data retrieval across multiple nodes

Engineering Contradiction:
Improvedata volumeVSAvoidquery execution time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the in-memory database into multiple nodes, with each node storing specific portions of data. This segmentation allows the system to handle larger data volumes by distributing storage across nodes while maintaining in-memory access speeds for each individual node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by pre-loading frequently accessed data into the in-memory database before queries are executed. The system monitors query patterns and proactively loads data that is likely to be needed, reducing query execution time by having data ready in memory before it is requested.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the entire database is loaded into memory, then query response time is dramatically improved, but memory resource requirements and system complexity increase

Engineering Contradiction:
Improvequery response timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies local quality by allowing different nodes to have different data loading strategies and memory allocation based on their specific roles and access patterns. Each node can optimize its local data storage and retrieval mechanisms according to its specific requirements, rather than applying a uniform approach across the entire distributed system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by making the data loading and memory allocation adaptive rather than static. The system continuously monitors query patterns, access frequencies, and memory usage, dynamically adjusting which data resides in memory on which nodes. This dynamic adaptation allows the system to optimize query response time while managing memory resources efficiently.

Inventive Principle:
Principle #15Dynamics

3Speed

If data is clustered on fewer nodes, then query execution is faster due to reduced data retrieval overhead, but load balancing and fault tolerance are compromised

Engineering Contradiction:
Improvequery execution speedVSAvoidfault tolerance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent merges the benefits of data clustering with distributed storage by implementing intelligent data replication strategies. Frequently accessed data is clustered on specific nodes to optimize query execution speed, while maintaining replicated copies across multiple nodes to ensure fault tolerance and load balancing. This merging approach allows the system to achieve fast query execution without sacrificing reliability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9183284B2Inserting data into an in-memory distributed nodal database
Publication Date: 2015.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9183284B2 patent drawing
  • US9183284B2 patent drawing
  • US9183284B2 patent drawing

AI summary

A database loader loads data to an in-memory database across multiple nodes in a parallel computing system. The database loader uses SQL flags, historical information gained from monitoring prior query execution times and patterns, and node and network configuration to determine how to effectively cluster data attributes across multiple nodes. The database loader may also allow a system administrator to force placement of database structures in particular nodes.