Skip to content

Releases: nakabonne/tstorage

Release v0.3.6

24 Mar 08:19
02fa0b2
Compare
Choose a tag to compare

Release v0.3.6 with changes since v0.3.5

  • Release v0.3.6 (#63) - by GitHub
  • Fix pipeline to setup Go1.20 properly - by nakabonne
  • Move int64 to beginning of struct to ensure alignment (#61) - by GitHub
  • Bump Go to 1.20 (#62) - by GitHub
  • Bump coverage action from v1 to v2 (#50) - by GitHub
  • Remove unneeded cmd package - by nakabonne

Release v0.3.5

02 Nov 12:55
b7b30c5
Compare
Choose a tag to compare

Release v0.3.5 with changes since v0.3.4

  • Release v0.3.5 (#49) - by GitHub
  • Allow WAL segment to have invalid rows (#48) - by GitHub

Release v0.3.4

02 Nov 00:58
1ee88c8
Compare
Choose a tag to compare

Release v0.3.4 with changes since v0.3.3

  • Release v0.3.4 (#46) - by GitHub
  • Ignore invalid disk partitions when starting (#45) - by GitHub

Release v0.3.3

02 Nov 00:33
0e8d2b6
Compare
Choose a tag to compare

Release v0.3.3 with changes since v0.3.2

  • Release v0.3.3 (#44) - by GitHub
  • Consider data points within expired partitions as ErrNoDataPoints - by nakabonne

Release v0.3.2

01 Nov 13:30
d8178c3
Compare
Choose a tag to compare

This is a minor release with a bug that panics when recovering WAL.

Release v0.3.2 with changes since v0.3.1

  • Release v0.3.2 (#42) - by GitHub
  • Avoid to panic when recoverying WAL segments (#41) - by GitHub

Release v0.3.1

01 Nov 00:23
8ea7d47
Compare
Choose a tag to compare

A minor release with bug fixes on WAL recovery.

Release v0.3.1 with changes since v0.3.0

  • Release v0.3.1 (#40) - by GitHub
  • Allow WAL to have invalid row (#39) - by GitHub
  • Remove Used by section - by nakabonne
  • Bump runtime to 1.17 in the test environment - by nakabonne

Release v0.3.0

31 Oct 01:24
e0db94d
Compare
Choose a tag to compare

Notable change - WAL support

This release comes with WAL (Write Ahead Log) support, which means a certain level of durability is guaranteed because the data on the memory partition is appended to the log file on the disk.
WAL is enabled by default in on-disk mode. This slightly affects the write performance, so if you want to disable it, give -1 to WithWALBufferedSize() like:

	storage, err := tstorage.NewStorage(
		tstorage.WithDataPath("./data"),
		tstorage.WithWALBufferedSize(-1),
	)

Changelog

  • Release v0.3.0 (#35) - by GitHub
  • Bump pipecd/actions-gh-release to v2.1.0 - by nakabonne
  • Ensure to remove the oldest segment when flushing (#34) - by GitHub
  • Add support for Write Ahead Log (#28) - by GitHub
  • Bump Go from 1.16 to 1.17 (#33) - by GitHub

Release v0.2.2

06 Sep 12:49
f951f22
Compare
Choose a tag to compare

This is a minor update with a couple of bug fixes.

Release v0.2.1

20 Jul 10:00
fda1a6f
Compare
Choose a tag to compare

Notable changes

Add support for the WithRetention option (#22)

Data points will get automatically removed from the disk after a specified period of time after a disk partition was created.

	storage, err := tstorage.NewStorage(
		tstorage.WithDataPath("./data"),
		tstorage.WithRetention(time.Hour*24)
	)

Support writes outside of head partition (#23) by @dpgil

Basically, all data points get ingested into the head partition. But sometimes data points get across the partition boundary, which should get into the next partition. From this version, tstorage doesn't discard them.

Changelog

v0.2.0

05 Jul 01:27
f13c10e
Compare
Choose a tag to compare

tstorage v0.2.0 is here 🎉

This release mostly includes encoding improvements, which massively reduces the size of encoded data points. Facebook is publishing a paper called Gorilla: A Fast, Scalable, In-Memory Time Series Database, in which they introduced an encoding way that takes advantage of the characteristics of time series data. According to that, tstorage v0.2.0 encodes/decodes buffered data points right before flushing into a disk partition. For more details, see: https://nakabonne.dev/posts/write-tsdb-from-scratch/#encoding

Breaking changes

Please note that it cannot decode data points encoded by previous versions as the encoding scheme is totally different from the old one and doesn't consider backward compatibility at all.

This release also contains a couple of tiny bug fixes around disk partitions.

Changelog