• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

eval/H03-May-2022-

testdata/H14-Aug-2018-

.gitignoreH A D14-Aug-201825

.travis.ymlH A D14-Aug-2018669

LICENSEH A D14-Aug-201812.5 KiB

MakefileH A D14-Aug-20186.6 KiB

README.mdH A D14-Aug-20182.2 KiB

VERSIONH A D14-Aug-20186

bstream.goH A D14-Aug-20183.6 KiB

bstream_test.goH A D14-Aug-20181.3 KiB

fuzz.goH A D14-Aug-20181.1 KiB

tsz.goH A D14-Aug-20187.5 KiB

tsz_test.goH A D14-Aug-20187.3 KiB

README.md

1# go-tsz
2
3* Package tsz implement time-series compression http://www.vldb.org/pvldb/vol8/p1816-teller.pdf in Go*
4
5[![Master Branch](https://img.shields.io/badge/branch-master-lightgray.svg)](https://github.com/tsenart/go-tsz/tree/master)
6[![Master Build Status](https://secure.travis-ci.org/tsenart/go-tsz.svg?branch=master)](https://travis-ci.org/tsenart/go-tsz?branch=master)
7[![Master Coverage Status](https://coveralls.io/repos/tsenart/go-tsz/badge.svg?branch=master&service=github)](https://coveralls.io/github/tsenart/go-tsz?branch=master)
8[![Go Report Card](https://goreportcard.com/badge/github.com/tsenart/go-tsz)](https://goreportcard.com/report/github.com/tsenart/go-tsz)
9[![GoDoc](https://godoc.org/github.com/tsenart/go-tsz?status.svg)](http://godoc.org/github.com/tsenart/go-tsz)
10
11## Description
12
13Package tsz is a fork of [github.com/dgryski/go-tsz](https://github.com/dgryski/go-tsz) that implements
14improvements over the [original Gorilla paper](http://www.vldb.org/pvldb/vol8/p1816-teller.pdf) developed by @burmann
15in his [Master Thesis](https://aaltodoc.aalto.fi/bitstream/handle/123456789/29099/master_Burman_Michael_2017.pdf?sequence=1)
16and released in https://github.com/burmanm/gorilla-tsc.
17
18
19### Differences from the original paper
20- Maximum number of leading zeros is stored with 6 bits to allow up to 63 leading zeros, which are necessary when storing long values.
21
22- Timestamp delta-of-delta is stored by first turning it to a positive integer with ZigZag encoding and then reduced by one to fit in the necessary bits. In the decoding phase all the values are incremented by one to fetch the original value.
23
24- The compressed blocks are created with a 27 bit delta header (unlike in the original paper, which uses a 14 bit delta header). This allows to use up to one day block size using millisecond precision.
25
26## Getting started
27
28This library is written in Go language, please refer to the guides in https://golang.org for getting started.
29
30This project include a Makefile that allows you to test and build the project with simple commands.
31To see all available options:
32```bash
33make help
34```
35
36## Running all tests
37
38Before committing the code, please check if it passes all tests using
39```bash
40make qa
41```
42