Time Series Database Search Algorithm Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Time series databases face inefficiencies in search operations due to complex storage structures and the need for search modes suitable for different data types, especially when handling large volumes of real-time data across various applications like bridge monitoring and weather forecasting, where similarity searches require efficient algorithms to manage tens of thousands of sensor data points.
Innovation Solution
A computer-implemented method and apparatus that selects a suitable search algorithm based on characteristics of the search request and historical statistic data to optimize search efficiency in time series databases, allowing for efficient similarity searches across different data types by choosing from registered algorithms, and supports searches in both time series and relational databases within a unified database system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a single search mode is used for time series database searches, then the implementation is simple, but the search efficiency is insufficient for different data types
Solution Approach 1:
The system dynamically selects search algorithms based on the characteristics of the search condition and historical statistic data. The database management system automatically determines which search algorithm to use without requiring user intervention, adapting the search strategy to match the specific data type and search requirements, thereby resolving the contradiction between implementation simplicity and search efficiency.
2Productivity
If multiple search algorithms are registered and selected based on characteristics, then the search efficiency improves, but the system complexity increases
Solution Approach 1:
The database management system performs self-service by automatically selecting the appropriate search algorithm based on the search condition characteristics and historical statistic data. This automation eliminates the need for users to manually choose algorithms or understand the complexity of multiple search methods, thereby improving search efficiency while masking the underlying system complexity from the user.
Solution Approach 2:
The system introduces an intermediary layer (the algorithm selection mechanism) that sits between the user and the multiple search algorithms. This intermediary automatically determines which algorithm to use based on predefined criteria and historical data, allowing multiple algorithms to coexist without increasing user-facing complexity while maintaining high search efficiency.
3Quantity of substance
If the database stores massive real-time data from multiple sensors, then the data coverage is comprehensive, but the search time increases
Solution Approach 1:
The system performs preliminary actions by pre-calculating and storing historical statistic data about different search algorithms and data types. When a search is initiated, this pre-computed information is immediately available to guide algorithm selection, avoiding the need to analyze all possible algorithms in real-time. This preliminary preparation enables fast algorithm selection even when searching through massive volumes of real-time sensor data.
4Adaptability or versatility
If the database system includes both time series and relational databases, then the functionality is enhanced, but the search coordination becomes complex
Solution Approach 1:
The system implements a universal search interface that can handle both time series databases and relational databases through the same mechanism. The algorithm selection process and search condition analysis work uniformly across different database types, allowing the system to provide enhanced functionality while maintaining consistent and simplified search coordination through a unified approach.
Data Source
AI summary
A computer-implemented method is provided that includes receiving a search request to perform a search in a time series database, where the time series database stores a plurality of sequences of measured values arranged in chronological order, extracting from the search request a condition for performing the search in the time series database, the condition including a target subsequence to be searched for within the plurality of sequences of measured values within the time series database, selecting a search algorithm to perform the search from a plurality of search algorithms registered to the time series database, based on one or more characteristics of the condition and historical statistic data of one or more historical searches conducted on the time series database, and obtaining a search result from the time series database, utilizing the search algorithm.


