Data Layer Interface for Direct Database Row Manipulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems incur significant processing overhead when executing SQL statements for database changes, as they require parsing, analyzing, and generating execution plans, which can only be reused for identical statements, leading to inefficiencies in making database changes.

Innovation Solution

The introduction of a Data Layer interface with APIs that allows internal database server components to directly manipulate database data without issuing SQL statements, using shared and mutable states to perform operations like inserting, updating, and deleting rows, while maintaining ACID properties and supporting supplemental redo logging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If SQL statements are used to make database changes, then data manipulation can be performed with standardized language, but significant processing overhead is incurred due to parsing, analyzing, and generating execution plans

Engineering Contradiction:
Improvestandardized data manipulationVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the essential data manipulation functionality from the SQL statement processing pipeline by introducing a Data Layer interface. This interface directly accesses the database engine's internal data structures (buffer cache, data blocks, row data) without requiring full SQL parsing and execution plan generation, thereby eliminating the time-consuming overhead while preserving the core data manipulation capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The Data Layer interface acts as an intermediary between applications and the database engine. It provides a simplified pathway for data manipulation by directly interfacing with the database engine's internal structures, bypassing the traditional SQL parsing and execution plan generation layers while maintaining ACID properties through coordination with the transaction manager

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If execution plans are cached for reuse, then processing overhead is reduced for identical statements, but the plans can only be re-used for identical statements and cannot handle variations

Engineering Contradiction:
Improveprocessing overheadVSAvoidstatement reuse flexibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent extracts the data manipulation essence from SQL statements and represents it in a normalized form through the Data Layer interface. This normalized representation captures the intent of various SQL statements (INSERT, UPDATE, DELETE, SELECT) in a unified manner, allowing the same data manipulation logic to be reused across different statement variations without requiring identical SQL text

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The Data Layer interface uses parameterized operations where the core data manipulation logic remains consistent but can accommodate different parameters (table names, column names, values, conditions). This allows the same operation template to be reused with different parameters, providing both efficiency through reuse and flexibility through parameter variation

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7769789B2High performant row-level data manipulation using a data layer interface
Publication Date: 2010.08.03 ORACLE INT CORP
  • US7769789B2 patent drawing
  • US7769789B2 patent drawing
  • US7769789B2 patent drawing

AI summary

Performing an operation directly on data stored in a database table provides for avoiding generation and processing of SQL statements. A Data Layer interface, comprising a set of APIs, allows internal database server components to call directly to the Data Layer for making fast row changes to a table. According to an embodiment, before making any row change to a table through this Data Layer interface, a shared state data structure is created to hold the metadata about the table. A single shared state can be used for all DML changes to a particular table regardless of what columns are updated or inserted during each DML operation. When a process needs to change a row, the process uses a mutable state based on the shared state of the table.