Sparse Dictionary Tree for Online Token-Ordered Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Maintaining a token-ordered dictionary in a database system is challenging due to the overhead of rebuilding it during updates, which can take the system offline and adversely affect performance, especially in distributed environments where global dictionaries become stale and computationally intensive.

Innovation Solution

Implementing a sparse dictionary tree that allows for efficient updates by inserting new entries into code gaps without rebuilding the dictionary, using a tree structure that minimizes data changes and enables runtime updates, thereby maintaining performance and avoiding downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a token-ordered dictionary is maintained in a database system to enable efficient range queries and compression, then data retrieval efficiency is improved, but updating the dictionary requires rebuilding it which takes the system offline and adversely affects performance

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidsystem availability during updates
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The dictionary is segmented into multiple pages or chunks that can be independently managed. Instead of rebuilding the entire dictionary at once, updates are applied to individual segments, allowing the system to remain operational during updates and improving overall system availability while maintaining retrieval efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dictionary structure is made dynamic by allowing incremental updates without full rebuilds. The system can add, remove, or modify dictionary entries on-the-fly, enabling the dictionary to adapt to changing data while the database system remains online and functional, thus resolving the contradiction between maintaining order and avoiding downtime.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If a global dictionary is used to compress entire columns in distributed database systems, then memory utilization is improved, but the dictionary becomes stale and computationally intensive to maintain

Engineering Contradiction:
Improvememory utilizationVSAvoidcomputational overhead for maintenance
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The global dictionary is divided into smaller, manageable segments or shards that can be independently maintained across distributed nodes. This segmentation reduces the computational overhead for each node while maintaining overall compression efficiency, and allows selective updates without regenerating the entire global dictionary, thus reducing energy consumption for maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different segments of the global dictionary can be optimized locally for specific data patterns or query types. Each node in the distributed system can maintain and optimize its local dictionary segment independently, reducing the overall computational burden while maintaining effective compression. This local optimization approach allows faster updates and reduces the energy required for global dictionary maintenance.

Inventive Principle:
Principle #3Local quality

3Speed

If a token-ordered dictionary maintains codes in code order for efficient indexing, then lookup speed is improved, but inserting new entries requires maintaining order which increases update complexity

Engineering Contradiction:
Improvelookup speedVSAvoidupdate complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The dictionary structure transitions from a single-dimensional ordered array to a multi-dimensional tree structure (such as a B-tree or trie). This dimensional change allows new entries to be inserted by following tree paths rather than shifting entire arrays, maintaining the ordered property for efficient lookups while dramatically simplifying insertion operations and reducing update complexity.

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

Solution Approach 2:

The dictionary is organized as a nested hierarchical structure where entries are grouped into nodes and sub-nodes. This nesting allows new entries to be inserted into appropriate leaf nodes without affecting the overall structure, maintaining order for efficient indexing while reducing the complexity of update operations compared to flat ordered structures.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11023430B2Sparse dictionary tree
Publication Date: 2021.06.01 ORACLE INT CORP
  • US11023430B2 patent drawing
  • US11023430B2 patent drawing
  • US11023430B2 patent drawing

AI summary

Techniques related to a sparse dictionary tree are disclosed. In some embodiments, computing device(s) execute instructions, which are stored on non-transitory storage media, for performing a method. The method comprises storing an encoding dictionary as a token-ordered tree comprising a first node and a second node, which are adjacent nodes. The token-ordered tree maps ordered tokens to ordered codes. The ordered tokens include a first token and a second token. The ordered codes include a first code and a second code, which are non-consecutive codes. The first node maps the first token to the first code. The second node maps the second token to the second code. The encoding dictionary is updated based on inserting a third node between the first node and the second node. The third node maps a third token to a third code that is greater than the first code and less than the second code.