BLOB Storage in Embedded Systems via Flat File Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Relational databases are not optimized for handling Binary Large Objects (BLOBs), leading to inefficient storage and retrieval in embedded systems, which waste space and require multiple seek operations, particularly in systems with high performance and size limitations.
Innovation Solution
A database system that uses a virtual table to store BLOBs in a flat file, with the data needed to access them stored in a relational database, allowing for single seek and read operations, combining the benefits of SQL data access with the efficiency of flat files.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If BLOBs are stored in a relational database, then SQL query capabilities are maintained, but storage space is wasted and multiple seek operations are required
Solution Approach 1:
The system segments BLOB data from relational database storage by storing actual BLOB content in a flat file while keeping only metadata (starting point and length) in the relational database. This separation allows SQL queries to efficiently access metadata without the overhead of managing large binary data, resolving the contradiction between SQL capability and retrieval efficiency.
Solution Approach 2:
The invention extracts BLOB data from the relational database structure and stores it externally in a flat file format. The relational database retains only the essential access information (starting point and length), enabling faster retrieval operations while preserving SQL query functionality for metadata access.
2Ease of operation
If BLOBs are stored in a relational database, then data access is simplified, but storage space is wasted
Solution Approach 1:
By segmenting BLOB storage into a dedicated flat file structure, the system eliminates the storage overhead inherent in relational database BLOB management. The flat file format provides dense, efficient storage while the relational database maintains simplified access through metadata queries.
3Ease of operation
If BLOBs are stored in a relational database, then convenient query language is available, but multiple seek operations are required
Solution Approach 1:
The segmentation of BLOB metadata from actual BLOB data enables SQL queries to quickly locate BLOBs in the flat file using stored starting points, eliminating multiple seek operations. The relational database handles only metadata queries while the flat file provides direct BLOB access.
Solution Approach 2:
The system performs preliminary actions by pre-storing the starting point and length of each BLOB in the relational database metadata. This allows queries to directly calculate the single seek position needed for BLOB retrieval, eliminating the need for multiple sequential seek operations and reducing retrieval time.
Data Source
AI summary
A method and system for efficiently storing, retrieving, and updating binary large objects (BLOBs) in embedded systems is disclosed. The metadata of the BLOBs is stored in relational tables, while the BLOBs are stored in a flat file. Querying the metadata of the BLOBs (i.e. the starting points of the BLOBs and their length) is performed based on SQL. The corresponding BLOBs are then accessed using file operation commands. To further simplify the querying and storage of BLOBs, virtual tables are created. By using these virtual tables, a user can access a BLOB as if it was stored in a physical table.


