{"repo":"nakabonne/tstorage","free":true,"listed":false,"github":"https://github.com/nakabonne/tstorage","clone":"git clone https://github.com/nakabonne/tstorage.git","description":"An embedded time-series database","language":"Go","stars":1253,"topics":["time-series","time-series-database","golang","metrics","golang-library","database"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"tstorage tstorage is a lightweight local on-disk storage engine for time-series data with a straightforward API. Especially ingestion is massively optimized as it provides goroutine safe capabilities of write into and read from TSDB that partitions data points by time. Motivation I'm working on a couple of tools that handle a tremendous amount of time-series data, such as Ali and Gosivy. Especially Ali, I had been facing a problem of increasing heap consumption over time as it's a load testing tool that aims to perform real-time analysis. I little poked around a fast TSDB library that offers simple APIs but eventually nothing works as well as I'd like, that's why I settled on writing this package myself. To see how much tstorage has helped improve Ali's performance, see the release notes here. Usage Currently, tstorage requires Go version 1.16 or greater By default, tstorage.Storage works as an in-memory database. The below example illustrates how to insert a row into the memory and immediately select it. Using disk To make time-series data persistent on disk, specify the path to directory that stores time-series data through WithDataPath option. Labeled metrics In tstorage, you can identify a metric with combination of metric name and optional labels. Here is an example of insertion a labeled metric to the disk. For more examples see the documentation. Benchmarks Benchmark tests were made using Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz with 16GB of RAM on macOS 10.15.7 Intern","default_branch":null,"files":null,"tree":[],"storefront":"/r/nakabonne","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nakabonne/tstorage/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}