Index Suffix Filtering for Faster Variable-Length Query Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face limitations in processing speed due to hardware constraints, data storage methods, and restricted co-processing options, leading to inefficiencies in handling large volumes of data and complex queries.
Innovation Solution
A database system utilizing probabilistic indexing and parallel processing across multiple computing devices and nodes, enabling efficient data partitioning, storage, and query execution through optimized query plans and independent execution of administrative and configuration operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional database storage and processing methods are used, then hardware constraints and restricted co-processing options limit processing speed, but implementing probabilistic indexing and parallel processing across multiple computing devices increases system complexity
Solution Approach 1:
The database system is segmented into multiple computing devices and nodes, with data partitioned across these devices. Each node can independently process queries on its local data partition, enabling parallel processing and improving overall system speed while distributing the computational burden.
Solution Approach 2:
The system transitions from a single-dimension sequential processing model to a multi-dimensional parallel processing architecture. By adding the dimension of spatial distribution across multiple computing devices and utilizing probabilistic indexing structures, the system achieves concurrent query execution and improves processing speed without being constrained by traditional hardware limitations.
2Productivity
If data is stored in traditional formats without optimization, then query execution is efficient, but implementing probabilistic indexing structures increases storage space requirements
Solution Approach 1:
Instead of creating complete traditional indexes for all data, the system uses probabilistic indexes that store only a sample or partial representation of the data distribution. This partial indexing approach significantly reduces storage space requirements while still enabling efficient query execution through statistical estimation and sampling techniques.
Solution Approach 2:
The system changes the fundamental parameter of index structure from deterministic to probabilistic. By using probabilistic data structures such as Bloom filters, sketches, or sampling-based indexes, the system achieves efficient query execution with significantly reduced storage overhead compared to traditional B-tree or hash indexes.
3Loss of time
If queries are executed sequentially on single computing devices, then system operation is simple, but implementing concurrent query execution across multiple nodes increases coordination overhead
Solution Approach 1:
Queries are segmented and distributed to different computing nodes for parallel execution. Each node independently processes its local data partition without requiring continuous coordination with other nodes, minimizing coordination overhead while achieving significant reductions in overall processing time through concurrent execution.
Solution Approach 2:
Each computing node is equipped with the capability to independently execute queries on its local data partition using probabilistic indexing structures. This self-service approach eliminates the need for centralized query coordination and reduces communication overhead, allowing nodes to autonomously improve processing speed while maintaining system consistency.
Data Source
AI summary
A computing core resource of a database system identifies a filter operation of a query regarding data of a dataset. The computing core resource determines whether a first division of a first sub-segment of a first segment of the data of the dataset includes the column of variable length data. When it does, the computing core resource determines whether the string pattern includes a single part pattern or a multi part pattern. When the string pattern includes a multi part pattern, the computing core resource identifies rows of the first division that include at least one of the single part patterns in their respective index suffix to produce identified rows. The computing core resource reads data values from the column of variable length data of the identified rows and removes false-positive rows from the identified rows based on the data values to produce a filtered column of variable length data.


