Opaque Type Direct Loading via Dispatch Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems are unable to efficiently store instances of opaque types using the direct path loading approach due to lack of information about the internal structure of these types, leading to performance issues and high memory consumption.

Innovation Solution

A program implementing the opaque type registers routines with a loader application, which consults a dispatch table to determine the structure and attributes, allowing the loader to create an array and stream data directly into the database without relying on the SQL engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional path loading is used to store structured data, then the SQL engine can process the data, but performance deteriorates and memory consumption increases

Engineering Contradiction:
Improvedata loading performanceVSAvoiddata loading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the SQL engine processing step from the data loading path. Instead of routing all structured data through the SQL engine, the system directly inserts data into database tables using bulk insert operations, bypassing the SQL engine's row-by-row processing while maintaining data integrity through constraints and triggers.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the data loading process into two distinct paths: conventional path loading for standard structured data types that require SQL engine processing, and direct path loading for opaque types that can be directly inserted. This segmentation allows each path to be optimized for its specific use case.

Inventive Principle:
Principle #1Segmentation

2Productivity

If direct path loading is used for structured data, then performance improves, but the system cannot handle opaque types without modifications

Engineering Contradiction:
Improvedata loading performanceVSAvoidsupport for opaque types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal loader application that can handle both standard structured data types and opaque types through a single interface. The loader uses a dispatch table mechanism that automatically routes different data types to appropriate handling routines, making the system multi-functional without requiring separate loading mechanisms.

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

Solution Approach 2:

The patent introduces a dispatch table as an intermediary between the loader application and the data insertion process. The dispatch table stores type information and routing logic, allowing the loader to dynamically determine how to handle different data types including opaque types, without hardcoding specific handling logic for each type.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the loader application is modified to support new opaque types, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improvesupport for new opaque typesVSAvoidloader application complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-defining type information in the dispatch table before the loading process begins. Type metadata including structure definitions and handling routines are registered in advance, allowing the loader to handle new opaque types without modification as long as the type information is registered in the dispatch table.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent makes the loader application dynamic by implementing a dispatch table that can be configured at runtime. The system can dynamically add, remove, or modify type handlers in the dispatch table without recompiling or reconfiguring the core loader application, enabling flexible adaptation to new opaque types.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7747580B2Direct loading of opaque types
Publication Date: 2010.06.29 ORACLE INT CORP
  • US7747580B2 patent drawing
  • US7747580B2 patent drawing
  • US7747580B2 patent drawing

AI summary

Techniques and systems are disclosed for storing instances of an opaque type in a database according to a direct path loading approach. According to one aspect, an opaque type implementor registers, with a loader application, routines that the opaque type implementor implements. In response, the loader application associates the opaque type with the routines. The loader application reads data that comprises instances of the opaque type. The loader application determines which routines are associated with the opaque type. The loader application invokes the routines, which create an array for storing instances of the opaque type and populate the array with values specified in the data. The loader application converts the array into a data stream that conforms to the format of the database's data blocks. The loader application then streams the data to a database server, which writes the data directly into data blocks in the database.