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

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

distributed-computing event-driven grizzly-http-server high-performance-computing mina netty4 spring-boot spring-cloud spring-mvc timeseries-database
Last synced: 5 months ago · JSON representation

Repository

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

Basic Info
  • Host: GitHub
  • Owner: paganini2008
  • License: apache-2.0
  • Language: Java
  • Default Branch: main
  • Homepage:
  • Size: 763 KB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
distributed-computing event-driven grizzly-http-server high-performance-computing mina netty4 spring-boot spring-cloud spring-mvc timeseries-database
Created about 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

Vortex TSDB

License Java Spring Cloud Netty

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.

VortexWeb.png


Documentation

For detailed documentation, API reference, and advanced configuration, visit the Official Documentation.


Contributing

We welcome contributions! Check out the Contributing Guide for more information on how to get involved.


License

This project is licensed under the MIT License. See the 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.

Owner

  • Name: Fred Feng
  • Login: paganini2008
  • Kind: user
  • Location: Australia
  • Company: Freedom

Just a passionate Java programmer and Like coding and reading

GitHub Events

Total
  • Watch event: 1
  • Push event: 4
Last Year
  • Watch event: 1
  • Push event: 4

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

pom.xml maven
  • org.springframework.boot:spring-boot-dependencies 2.2.5.RELEASE import
  • org.springframework.cloud:spring-cloud-dependencies Hoxton.SR3 import
  • com.github.paganini2008:devtools-lang 2.0.4
  • org.apache.commons:commons-lang3
  • org.projectlombok:lombok
vortex-spring-boot-starter/pom.xml maven
  • com.esotericsoftware:kryo 5.0.0-RC1 provided
  • com.github.paganini2008:embedded-io 2.0.4 provided
  • com.github.paganini2008:xmemcached-spring-boot-starter 2.0.4 provided
  • javax.servlet:javax.servlet-api provided
  • org.apache.kafka:kafka-clients provided
  • org.apache.mina:mina-core 2.0.21 provided
  • org.glassfish.grizzly:grizzly-http-server 2.3.35 provided
  • org.glassfish.grizzly:grizzly-spdy 2.3.35 provided
  • com.fasterxml.jackson.core:jackson-annotations
  • com.fasterxml.jackson.core:jackson-core
  • com.fasterxml.jackson.core:jackson-databind
  • com.github.paganini2008.atlantis:tridenter-spring-boot-starter 1.0.1
  • com.github.paganini2008.atlantis:vortex-common 1.0.1
  • com.github.paganini2008.atlantis:vortex-metric-api 1.0.1
  • com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru 1.4.2
  • de.ruedigermoeller:fst 2.57
  • io.netty:netty-all
  • org.springframework.boot:spring-boot-starter-actuator
  • org.springframework:spring-context-support
vortex-tsdb-web/pom.xml maven
  • com.github.paganini2008.doodler:doodler-common-webmvc
  • com.github.paganini2008.vortex:vortex-spring-boot-starter 1.0.0-SNAPSHOT
  • org.springframework.boot:spring-boot-starter-data-redis
  • org.springframework.boot:spring-boot-starter-freemarker