Software:GreptimeDB

From HandWiki
GreptimeDB
Developer(s)Greptime Inc..[1]
Initial release15 November 2022; 2 years ago (2022-11-15)
Stable release
0.9.5 / 18 October 2024; 2 months ago (2024-10-18)[2]
Repositoryhttps://github.com/GreptimeTeam/greptimedb/
Written inRust
Operating systemCross-platform
TypeTime series database
LicenseApache 2.0
Websitegreptime.com

GreptimeDB is an open-source, cloud-native time series database[3] designed to handle large-scale metrics, logs, and events. Developed by Greptime Inc., it is implemented in Rust and offers support for SQL and PromQL as its primary query languages.

GreptimeDB is compatible with widely used database protocols and APIs, such as InfluxDB, OpenTelemetry, Prometheus, Elasticsearch, and Loki. The database is mainly applied to time series data management and analysis across diverse applications, including observability, IoT, and edge computing.

History

Greptime Inc.[4] was founded by Xiaodan Zhuang (CEO), Ning Sun (CTO), and Jiachun Feng. GreptimeDB was open-sourced on November 15, 2022[5]. It was specifically designed to address the challenges of managing large volumes of time-series data, particularly for IoT and observability applications[6].

GreptimeDB is available in both standalone (single-process) and cluster configurations, offering flexibility to users in different deployment environments. The open-source release has allowed the community to contribute to its ongoing development and adoption.

Technical Overview

GreptimeDB abstracts metrics and logs into events, organizing them through three column types: tags, fields, and timestamp. The database supports SQL in processing all types of time-series data (metrics, logs, and events). The architecture follows a storage-compute separation design, where data is stored in object storage to minimize storage costs.

Supported protocols

GreptimeDB can integrate with various protocols[7] for diverse time-series data ingestion[8] and query needs.

  • MySQL: interaction using MySQL clients or libraries
  • PostgreSQL: connecting via PostgreSQL tools and drivers
  • InfluxDB Line Protocol: data ingestion from systems using InfluxDB
  • OpenTelemetry: data collection and tracing using OpenTelemetry
  • OpenTSDB: compatible with OpenTSDB
  • gRPC: RPC (Remote Procedure Call) capabilities for advanced integrations and custom application development
  • PromQL: native support for Prometheus Query Language (PromQL)
  • HTTP API: REST APIs for data ingestion and management

References