In-Memory Hash Table Indexing Log-Based Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed databases face challenges in providing fast and efficient data access due to high latency and low throughput caused by large key sets in in-memory data stores, which can lead to slow response times and reduced customer experience.

Innovation Solution

Implementing a database management system that uses an in-memory data store with a hash table to index into a log-based storage structure, employing a chained hash table configuration to avoid collisions and scale efficiently, where only hashed values of keys are stored in memory to conserve space and facilitate quick access, allowing for lower latency and higher throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If large key sets are stored in in-memory data stores to support large data sets, then the database can handle more data, but latency increases and throughput decreases

Engineering Contradiction:
Improvedata set sizeVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The database system segments the key storage into two parts: hashed values of keys are stored in the in-memory data store for fast access, while the full keys are stored in log-based storage structures. This segmentation allows the system to handle large data sets without storing complete keys in memory, thereby reducing memory pressure and improving access latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention extracts only the essential portion of the key (the hashed value) from the full key and stores it in memory. The complete key is extracted from memory storage and relocated to log-based storage structures. This extraction principle enables the system to maintain fast access capabilities while reducing in-memory storage requirements for large data sets.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If hashed values of keys are stored in memory instead of complete keys, then memory space is conserved and access speed improves, but collision handling becomes more complex

Engineering Contradiction:
Improvedata access throughputVSAvoidcollision handling mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The collision handling mechanism uses a nested structure where the in-memory hash table contains entries that reference log-based storage structures. When a collision occurs in the hash table, the system navigates to the nested log-based storage layer to retrieve or store the complete key-value pair. This nesting principle allows efficient collision handling while maintaining fast access paths for successful lookups.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Adaptability or versatility

If a chained hash table configuration is used to avoid collisions and scale efficiently, then the database can scale to large data sets, but the structure becomes more complex

Engineering Contradiction:
Improvescaling capabilityVSAvoidhash table structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The chained hash table is segmented into multiple buckets, each capable of holding multiple entries. This segmentation allows the hash table to scale efficiently by distributing entries across numerous buckets rather than requiring a single large structure. The segmented design maintains constant-time access complexity while providing scalable capacity for large data sets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from a single-dimensional array-based hash table to a multi-dimensional structure by introducing chained buckets. Each bucket can contain multiple entries organized in a secondary structure, effectively adding another dimension to the hash table organization. This dimensional change enables the structure to handle collisions and scale efficiently without significantly increasing access complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11880348B1Database with in-memory data stores
Publication Date: 2024.01.23 AMAZON TECH INC
  • US11880348B1 patent drawing
  • US11880348B1 patent drawing
  • US11880348B1 patent drawing

AI summary

A database management system maintains a collection of data using a log-based storage structure. In response to a request to store data items (key-value pairs), the database management system stores mapping information to a data item in an in-memory data structure while the data items are stored on the log-based storage structure. The hash of the key includes information to identify an index entry that comprises information that maps to the location of the data item stored on the log-based storage structure.