Pluggable Storage Engines for Database Format Adaptability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database storage approaches are inefficient due to their reliance on specific data formats, making it difficult and complex to change formats, especially with the advent of 'big data' and large databases, requiring significant modifications and affecting scalability and performance.
Innovation Solution
A database system employing a storage application programming interface (API) that allows for automated optimization of data storage by selecting the appropriate storage engine and format based on predicted operations, user preferences, and encryption needs, enabling modular and pluggable storage engines for optimal data management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional database storage approaches use a particular data format and storage engine, then the storage system is stable and reliable, but the system complexity increases significantly when format changes are needed and scalability is reduced
Solution Approach 1:
The patent segments the storage system into independent storage engines, each handling a specific data format. The database management system can select and switch between different storage engines (e.g., row-store engine, column-store engine) without requiring changes to the overall system architecture or application code, thus enabling format flexibility while maintaining system stability.
Solution Approach 2:
The patent creates a universal storage interface that can work with multiple storage engines supporting different data formats. This multi-functional interface allows the system to handle various storage formats (row-store, column-store, etc.) through a single unified API, eliminating the need for application code changes when switching formats.
2Productivity
If the database stores data in an optimal data format for current operations, then storage efficiency and performance are improved, but the system cannot adapt when operations change without code modifications
Solution Approach 1:
The patent implements dynamic storage engine selection where the system can automatically choose different storage engines based on current operational requirements. The database management system monitors operation patterns and dynamically switches between storage formats (e.g., from row-store to column-store) to optimize performance for different operation types without requiring application code changes.
Solution Approach 2:
The system incorporates feedback mechanisms that monitor storage operation performance and automatically adjust the selected storage engine format based on observed patterns. This feedback loop enables the system to continuously optimize storage efficiency by selecting the most appropriate data format based on actual operational characteristics rather than static configuration.
3Adaptability or versatility
If multiple storage formats are supported with pluggable storage engines, then adaptability and optimization are enhanced, but the initial system complexity increases
Solution Approach 1:
The patent introduces an intermediary storage API layer that mediates between the database management system and multiple pluggable storage engines. This intermediary interface abstracts the complexity of different storage formats, allowing the system to support multiple formats while presenting a unified, simple interface to applications, thus reducing the perceived complexity.
Data Source
AI summary
Methods and systems are provided for selectively employing storage engines in a distributed database environment. The methods and systems can include a processor configured to execute a plurality of system components, that comprise an operation prediction component for determining an expected set of operations to be performed on a portion of the database; a data format selection component for selecting, based on at least one characteristic of the expected set of operations, and at least one storage engine for writing the portion of the database in a selected data format. According to one embodiment, the system includes an encryption API configured to initialize callback functions for encrypting and decrypting database data, a storage API for executing the call back functions, a database API configured to manage database operations (e.g., read and write requests), wherein the database API calls the storage API to access data on a stable storage medium.


