Timing capability
Characteristics of Time Series Data
With the development of the Internet of Things, there is a growing demand for time series databases, such as data generated by smart cars, equipment monitoring in factories, and transaction market indicator data in the financial industry. Common business scenarios include:
Monitoring software systems: virtual machines, containers, services, applications; Monitoring physical systems: hydrological monitoring, equipment monitoring in manufacturing plants, national security-related data monitoring, communications monitoring, sensor data, blood glucose meters, blood pressure changes, heart rate, etc.; Asset tracking applications: cars, trucks, physical containers, shipping pallets; Financial transaction systems: traditional securities, emerging crypto digital currencies; Event applications: tracking user, customer interaction data; Business intelligence tools: tracking key indicators and the overall health of the business; Internet industry: also has very large amounts of time series data, such as user behavior tracks on websites, log data generated by applications, etc.
On the one hand, because of the temporal nature of time series databases, which constantly produce new data over time; on the other hand, the amount of time series data is enormous, with tens or hundreds of millions of pieces of data written every second. These two features make time series databases appear in some business needs, common business needs are:
- Get the latest status and query the most recent data (e.g. the latest status of the sensor);
- Display interval statistics, specify time frames, query statistics such as average, maximum, minimum, count, etc.;
- Gets the exception data and filters the exception data based on the specified criteria.
Timing capabilities of MatrixOne
Currently there are a number of dedicated NoSQL time series databases in the industry, such as InfluxDB, OpenTSDB, TDEngine, etc., and MatrixOne differs from them in that MatrixOne is still a general purpose database to meet the application development of additions, deletions, changes and data analysis of HTAP as the core, but also remains a modeling form of relational data, the query language used is still the classic SQL language, MatrixOne is to add some time series related capabilities to the general purpose database capabilities, positioning somewhat similar to TimeScaleDB. MatrixOne functionally supports time windows, downsampling, interpolation, partitioning and other time series common capabilities, performance can meet the high throughput, high compression, real-time analysis in time series scenarios, while the overall architecture of strong scalability, hot and cold separation, read and write separation and other features are also ideal for time series related scenarios, while maintaining traditional database support for updates, transactions. Therefore, MatrixOne is better suited for business development that requires a normal relational database, but at the same time has hybrid scenarios that require some timing processing power.
MatrixOne's timing capabilities are reflected in:
- Supports string, number, date and other data types common in traditional databases, but also supports JSON, vector and other types of new types of load, see data types for details.
- Supports the creation of dedicated timing tables with timestamps as the primary key and arbitrary dimension/indicator columns as detailed in the time window.
- Provides common time window capabilities to downsample queries at different times, as detailed in Time Window.
- Supports interpolation capability for null values and provides interpolation methods for different policies, as detailed in the time window.
- Supports simple and complex query capabilities in a variety of traditional databases. Details can be found in Single Table Query, Multi Table Query, Sub Query, View, CTE.
- Supports high speed offline import, streaming data write, Insert into write and other ways.
- Various types of aggregate functions are supported to satisfy the computation of time series data types.