Native Index Compilation via Data-Type DLLs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems require numerous CPU instructions to execute queries due to generic code for index operations, leading to performance slowdowns and increased CPU time and cost.

Innovation Solution

Native compilation of index operations by generating a dynamic link library (DLL) specific to each indexed column data-type during index definition, reducing the need for generic code and optimizing index usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If generic code is used for index operations, then adaptability is improved, but CPU instructions increase and performance decreases

Engineering Contradiction:
ImproveadaptabilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the generic index operation code into specific, specialized functions for different data types. Instead of using one large generic code base, it creates separate compiled code modules (DLLs) for different indexed column data types (e.g., integer index, varchar index), allowing each segment to be optimized independently for its specific operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by generating specialized code specific to each indexed column's data type and structure. Each index operation gets tailored code that matches its specific requirements (e.g., different comparison operations for different data types), rather than using uniform generic code, thereby optimizing performance for each local case while maintaining overall adaptability.

Inventive Principle:
Principle #3Local quality

2Productivity

If native compilation is implemented, then CPU instructions are reduced and performance is improved, but device complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by compiling index operations into native code during index creation time rather than at query execution time. The system generates and stores compiled code modules (DLLs) for each index definition beforehand, so that when queries are executed, the pre-compiled code can be directly loaded and executed without on-the-fly compilation, reducing runtime complexity while maintaining performance benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer in the form of compiled code modules (DLLs) that mediate between the database engine and the index operations. These intermediary modules encapsulate the complexity of native compilation, allowing the main database system to remain relatively simple while benefiting from optimized, pre-compiled index operations through these intermediate components.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by moving object

If specialized code is generated for each indexed column, then CPU efficiency is improved, but manufacturing complexity increases

Engineering Contradiction:
ImproveCPU efficiencyVSAvoidmanufacturing complexity
Core Design Contradiction:
Use of energy by moving objectVSEase of manufacture

Solution Approach 1:

The patent achieves universality by creating a systematic framework that can generate specialized code for multiple different data types and index structures using the same underlying compilation process. The code generator handles various indexed column types (integers, strings, dates, etc.) through a unified approach, making the manufacturing process scalable and manageable despite the specialization of individual code modules.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10635666B2System, method and device for index compilation to optimize index usage
Publication Date: 2020.04.28 HUAWEI TECH CO LTD
  • US10635666B2 patent drawing
  • US10635666B2 patent drawing
  • US10635666B2 patent drawing

AI summary

Embodiments relate to a system, method, and device for index compilation to optimize index. Once a CREATE INDEX commands is fired, a first check determines if the user requested has to compile this index. If the index is to be compiled, a corresponding C-file is generated, and a DLL is generated out of the C-file. The DLL is then loaded with server. An INDEX DLL is natively compiled and generated corresponding to each INDEX during definition. The INDEX DLL will contain the required structure and method to perform on INDEX, based on the indexed column data-type.