Flexible Vector Column Storage for Mixed Embedding Dimensions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing vector database systems struggle with efficiently storing and processing vectors of varying dimensions and formats, requiring frequent schema changes and laborious application updates, which hampers flexibility and performance in machine learning applications.
Innovation Solution
A flexible specification and storage system for vectors, allowing storage of vectors with different dimension counts and formats in a single column, supported by native data types and operations, enabling seamless evolution of embedding models without altering applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If vectors of varying dimensions and formats are stored in a single column, then flexibility and adaptability are improved, but data storage complexity and processing difficulty increase
Solution Approach 1:
The patent changes the parameters of vector storage by introducing a flexible specification mechanism that allows dimension count and format to vary. The system stores vectors with different dimensions (e.g., 768, 1024, 384) and formats (FLOAT32, FLOAT64, INT8) in the same column without requiring schema changes, resolving the contradiction between flexibility and complexity through parameterization.
Solution Approach 2:
The patent introduces an intermediary layer in the form of a flexible specification that mediates between the diverse vector formats and the storage system. This specification acts as a mediator that translates varying vector dimensions and formats into a unified storage representation, enabling flexible storage while managing complexity through a standardized interface.
2Adaptability or versatility
If schema changes are made to accommodate new vector formats, then data compatibility is improved, but system stability and operational continuity deteriorate
Solution Approach 1:
The patent introduces dynamic adaptability to the storage system through flexible specification that allows the system to evolve with new embedding models without breaking existing operations. The system can dynamically accommodate new vector formats (e.g., transitioning from 768 to 1024 dimensions) while maintaining stable operations, resolving the contradiction between compatibility and stability through dynamic design.
Solution Approach 2:
The patent applies preliminary action by pre-establishing a flexible specification framework before new vector formats are introduced. This framework is designed in advance to accommodate future changes, allowing the system to prepare for and smoothly transition to new embedding models without disrupting ongoing operations, thus maintaining reliability while enabling adaptability.
3Measurement precision
If application code is updated to handle new vector dimensions, then processing accuracy is improved, but development time and labor requirements increase
Solution Approach 1:
The patent enables the storage system to serve itself by automatically handling vector conversion and normalization based on the flexible specification. The system self-adjusts to new vector formats without requiring application code changes, performing the necessary transformations autonomously. This resolves the contradiction between processing accuracy and development time by eliminating the need for manual code updates while maintaining precise processing.
Solution Approach 2:
The flexible specification acts as an intermediary layer between the application code and the varying vector formats. It translates and adapts different vector dimensions and formats into a unified representation that the application can process consistently, eliminating the need for application updates while preserving processing accuracy through the intermediary's transformation capabilities.
Data Source
AI summary
Techniques for flexible specification and storage of objects of the VECTOR type are provided. In one technique, a table specification that specifies a column having a VECTOR data type is received. A first vector that has a first number of dimensions and a first dimension format is stored in the column. A second vector that has a second number of dimensions and a second dimension format is stored in the column. The first number of dimensions is different than the second number of dimensions or the first dimension format is different than the second dimension format.


