Data Layer Interface for Direct Database Row Manipulation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


