https://github.com/paganini2008/vortex-tsdb
Vortex is a cutting-edge time series database (TSDB) framework designed for precision, scalability, and real-time data analytics. Built on Spring Cloud, it supports fine-grained data storage with a 1-minute resolution
https://github.com/paganini2008/vortex-tsdb
distributed-computing event-driven grizzly-http-server high-performance-computing mina netty4 spring-boot spring-cloud spring-mvc timeseries-database
Last synced: about 2 months ago
JSON representation
Vortex is a cutting-edge time series database (TSDB) framework designed for precision, scalability, and real-time data analytics. Built on Spring Cloud, it supports fine-grained data storage with a 1-minute resolution
- Host: GitHub
- URL: https://github.com/paganini2008/vortex-tsdb
- Owner: paganini2008
- License: apache-2.0
- Created: 2021-02-02T08:45:44.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-04T23:31:38.000Z (4 months ago)
- Last Synced: 2025-04-23T23:48:07.466Z (about 2 months ago)
- Topics: distributed-computing, event-driven, grizzly-http-server, high-performance-computing, mina, netty4, spring-boot, spring-cloud, spring-mvc, timeseries-database
- Language: Java
- Homepage:
- Size: 763 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vortex TSDB
[](LICENSE)
[](https://www.oracle.com/java/)
[](https://spring.io/projects/spring-cloud)
[](https://netty.io/)Vortex TSDB (Time Series Database) is a highly scalable and flexible time series data storage solution built on **Java** and **Spring Boot**. Designed to efficiently store and analyze time series data with fine granularity (down to 1-minute intervals), Vortex TSDB provides robust features for real-time monitoring, analytics, and large-scale data management. With its extensible architecture and integration capabilities, Vortex TSDB is a powerful tool for applications requiring precision and high...
---
## Key Features
### 1. Granular Time Series Data Storage
Vortex TSDB supports fine-grained data storage with a granularity of **1-minute intervals**, making it suitable for real-time analytics and precision monitoring. Key data types supported include:
- **Double**
- **Long**
- **Decimal**These data types enable precise measurements and calculations tailored to diverse application needs.
---
### 2. Advanced Statistical Calculations
The database provides a comprehensive set of built-in statistical operations, enabling deep insights into time series data:
- **Maximum and Minimum Values**: Identify peaks and troughs in your data.
- **Average Values**: Calculate trends and patterns over time.
- **Variance**: Measure data variability for predictive analytics.
- **Baseline Comparisons**: Evaluate deviations from expected values.These capabilities make Vortex TSDB a strong choice for applications requiring rich data analysis.
---
### 3. Flexible Storage Backends
- **Redis-Based Storage**: The current implementation leverages Redis for fast, in-memory storage, ensuring low-latency read and write operations.
- **Future-Ready Architecture**: Plans to support additional storage backends like **MySQL** or other databases, providing developers with flexibility to choose the optimal storage solution for their use case.---
### 4. High Availability and Scalability
- **Built on Netty NIO**: Ensures efficient, non-blocking IO for high-throughput communication.
- **Horizontal Scalability**: Add more nodes to scale out the system seamlessly.
- **Fault Tolerance**: Designed for high availability to ensure consistent service delivery in distributed environments.---
### 5. Built-in UI for Benchmarking
Vortex TSDB includes a **benchmark testing UI** to evaluate performance metrics such as throughput, latency, and resource utilization. This makes it easier for users to test, analyze, and optimize the database in their specific environments.---
## Getting Started
### 1. Prerequisites
- **Java 17+**
- **Redis 7.x** (for storage backend)
- **Maven** (for building the project)### 2. Clone the Repository
```bash
git clone https://github.com/paganini2008/vortex.git
cd vortex
```### 3. Build and Run
```bash
mvn clean install
java -jar target/vortex-tsdb-web.jar
```### 4. API
##### 4.1 Push Data API
- **Path**: `/tsd/push`
- **Method**: `POST`
- **Description**: Push time series data to the server.
- **Example Request**: `http://localhost:55610/tsd/push?t=long&c=car&d=speed&v=44`##### Parameters
| Parameter Name | Type | Required | Description | Example Value |
|----------------|--------|----------|-------------------------------------------------|---------------|
| t | String | Yes | Data type (long/decimal/double) | long |
| c | String | Yes | Category (e.g., device category or system module) | car |
| d | String | Yes | Dimension (e.g., metric name) | speed |
| v | String | Yes | Value (supports numeric string) | 44 |##### 4.2 Retrieve Data API
- **Path**: `/tsd/retrieve`
- **Method**: `GET`
- **Description**: Retrieve stored time series data.
- **Example Request**: `http://localhost:57741/tsd/retrieve?t=long&c=car&d=speed`##### Parameters
| Parameter Name | Type | Required | Description | Example Value |
|----------------|--------|----------|-------------------------------------------------|---------------|
| t | String | Yes | Data type (long/decimal/double) | long |
| c | String | Yes | Category (e.g., device category or system module) | car |
| d | String | Yes | Dimension (e.g., metric name) | speed |
| z | String | No | Time zone (default: Australia/Sydney) | Asia/Shanghai |### 5. Access the UI
Navigate to `http://localhost:8080/tsd/metric` to access the benchmark testing UI and explore the database capabilities.
---
## Documentation
For detailed documentation, API reference, and advanced configuration, visit the [Official Documentation](https://github.com/paganini2008/vortex/wiki).---
## Contributing
We welcome contributions! Check out the [Contributing Guide](CONTRIBUTING.md) for more information on how to get involved.---
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.---
Vortex TSDB combines precision, scalability, and extensibility to deliver a cutting-edge time series database solution. Whether for real-time monitoring, predictive analytics, or large-scale data management, Vortex TSDB provides the tools and flexibility you need to succeed.