Auxiliary Storage for Large Column Values in Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional columnar databases face inefficiencies in handling large column values, leading to memory bloat during writing and reading operations, and restrictive size limitations that fail to meet user storage needs.

Innovation Solution

A database system comprising a write storage, a read storage, and an auxiliary storage, where large column values are stored in the auxiliary storage after compression and division into chunks, with associating data stored in the write or read storage to efficiently manage and retrieve these values, minimizing memory usage and optimizing storage capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple column values are compressed and stored together in a row group, then columnar storage efficiency is improved, but memory bloat occurs during writing and reading operations

Engineering Contradiction:
Improvecolumnar storage efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments large column values into separate storage locations (auxiliary storage) rather than storing them within row groups. Each large column value is stored as an independent object in auxiliary storage, and only references are stored in the row group, preventing memory bloat while maintaining columnar storage efficiency for smaller values.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If a limit on the number of rows in a row group is imposed, then memory usage during writing and reading is controlled, but the benefit of columnar storage is significantly reduced

Engineering Contradiction:
Improvememory usageVSAvoidcolumnar storage benefit
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent extracts large column values from the row group storage structure and places them in auxiliary storage. This allows row groups to maintain their columnar organization for small values while large values are handled separately, preserving columnar storage benefits without memory constraints.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If the size of column values is limited to 16 MB, 32 MB, or 64 MB, then memory bloat is prevented, but user storage needs are not met

Engineering Contradiction:
Improvememory managementVSAvoidstorage capacity
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent introduces auxiliary storage as an intermediary between the row group storage and the user's large column values. This intermediary layer allows the database to store arbitrarily large column values while maintaining efficient memory management for row groups, satisfying both memory constraints and user storage needs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11308054B2Efficient large column values storage in columnar databases
Publication Date: 2022.04.19 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11308054B2 patent drawing
  • US11308054B2 patent drawing
  • US11308054B2 patent drawing

AI summary

Efficient large column values storage in columnar databases is disclosed, including: providing a database comprising a write storage, a read storage, and an auxiliary storage, and wherein the auxiliary storage is used to store a large column value of a row that is associated with either the write storage or the read storage, wherein the large column value comprises a column value that meets a set of large column value criteria; and operating the database using the write storage, the read storage, and the auxiliary storage.