Skip to content

Commit 1aece79

Browse files
committed
[book] Assign number to 1-10 chapters
1 parent cacbf80 commit 1aece79

File tree

14 files changed

+80
-45
lines changed

14 files changed

+80
-45
lines changed

Diff for: README.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
# Notes on Time Series Database
22

3-
This repo is a work in progress [book](book) about time series database (TSDB) that (will) contains:
3+
This repo is a work in progress [book](book) and [survey](survey) about time series database (TSDB) that (will) contains:
44

5+
- Different components of a TSDB, e.g. compression, index etc.
56
- [Survey](survey) on [various existing time series databases](https://github.com/xephonhq/awesome-time-series-database)
67
- How to write a (distributed) time series database from scratch.
7-
- Related fields like distributed tracing, OLAP database.
8+
- Related fields like monitoring, distributed tracing, OLAP database, IOT etc.
89

910
Project layout
1011

1112
- [book](book) The WIP book
12-
- [doc](doc) [Roadmap](doc/ROADMAP.md) and notes on writing notes
1313
- [survey](survey) Survey on TSDB and related fields
14+
- [doc](doc) [Roadmap](doc/ROADMAP.md) and notes on writing notes
1415

1516
## Related
1617

@@ -19,11 +20,12 @@ Project layout
1920

2021
## Acknowledgment
2122

22-
- [Zheyuan Chen](https://github.com/czheo) for his participation in [Xephon-B](https://github.com/xephonhq/xephon-b)
23-
- Prof. Alvaro for his [distributed system class](https://github.com/palvaro/CMPS232-Fall16)
23+
- [Zheyuan Chen](https://github.com/czheo) for his work in [Xephon-B](https://github.com/xephonhq/xephon-b)
24+
- Prof. Alvaro for his [distributed system class](https://github.com/palvaro/CMPS232-Fall16) where the [xephon](https://github.com/xephonhq) project got started.
2425

2526
## License
2627

2728
The book is licensed under create commons. The sample code (unless specified otherwise in comment) is licensed under MIT.
29+
Code snippet in survey are licensed under the license of the source project.
2830

2931
[CC BY-NC-SA 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/us/)

Diff for: book/03-data-model/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Chapter 3: Time Series Database Data Model
2+
3+
## TODO
4+
5+
- [ ] list different data models
6+
- RRD, Graphite, name + fixed precision
7+
- OpenTSDB, KairosDB, Prometheus name + tag
8+
- InfluxDB, looks like a columnar database ...
9+
- Columnar Database, e.g. Druid

Diff for: book/04-query-language/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Chapter 4: Time Series Database Query Language
2+
3+
## TODO
4+
5+
- [ ] promql
6+
- [ ] influxql, flux
7+
- [ ] EQL from Elasticsearch

Diff for: book/05-storage/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Chapter 5: Time Series Database Storage Engine
File renamed without changes.

Diff for: book/05-storage/index/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Index
2+
3+
## TODO
4+
5+
- [ ] two types of index
6+
- index on meta data e.g. inverted index for label
7+
- index on ts time and/or value, e.g. tree (akumuli, btrdb), aggregated min, max

Diff for: book/06-benchmark/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Chapter 6: Time Series Database Benchmark

Diff for: book/07-analysis/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Chapter 7: Analysis
1+
# Chapter 6: Analysis
2+
3+
Analysis time series data, e.g. anomaly detection, prediction etc.
24

35
## References
46

Diff for: book/08-monitoring/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Chapter 8: Monitoring
2+
3+
## TODO
4+
5+
- [ ] popular monitoring tools, might put it in survey and mix w/ tsdb ...

Diff for: book/09-tracing/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Chapter 9: Distributed Tracing
2+
3+
## TODO
4+
5+
- [ ] distributed tracing standards, storage etc.

Diff for: book/10-build/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Chapter 10: How to Build a Time Series Database

Diff for: book/README.md

+22-30
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,42 @@ The layout is subject to change, and need to merge w/ libtsdb-go
55
- [01 Overview](01-overview)
66
- what is time series data and why we need time series database
77
- [02 Basic](02-basic)
8+
- ? might move it into/before storage chapter
89
- [Primitive Types](02-basic/primitive/README.md)
910
- [Endianess](02-basic/primitive/endianness.md) How to store larger than one byte value
1011
- [Integer](02-basic/primitive/integer.md) Unsigned and Signed Integer
1112
- float number and their machine representation (basic for working on compression)
1213
- statistic, distribution, random etc.
1314
- maybe information theory
14-
? data model ? a dedicated chapter?
15-
- 03 components (might flatten this)
16-
- overview
17-
- query language
18-
- complex query execution would also be interesting
19-
- SQL
20-
- continuous query, prometheus ppl also has an article about it
21-
- index (in memory and on disk?)
22-
- compression
23-
- storage
24-
- different backend, pros and cons
25-
- distribution
26-
- 04 survey (remove it? or take a small part from the survey folder)
27-
- influxdb
28-
- prometheus, victoriametrics, thanos (and another one ... forgot the name from weaveworks)
29-
- m3db
30-
- akumuli, btrdb (both are tree like)
31-
- timescaledb (and others on pg, most of them are dead so ...)
32-
- druid alike (linkedin also got one)
33-
- graphite (and newer backends)
34-
- mysql
35-
- elasticsearch
36-
- crate (it looks pretty good, though it seems it is bought by some other company)
37-
- 05 benchmark
15+
- [03 Data Model](03-data-model)
16+
- should also contains some basic survey, or link to survey
17+
- [04 Query Language](04-query-language)
18+
- complex query execution would also be interesting
19+
- SQL
20+
- continuous query, prometheus ppl also has an article about it
21+
- ?query execution? a dedicated chapter?
22+
- [05 Storage](05-storage)
23+
- [Compression](05-storage/compression)
24+
- [Index](05-storage/index)
25+
- local and remote backend (other db, s3 etc.)
26+
- distributed
27+
- [06 Benchmark](06-benchmark)
3828
- components
3929
- workload generator
4030
- stats collector
4131
- basic math, distribution
4232
- historgram and lhdr (forgot what's the name ...)
4333
- existing tools, their pro can cons
44-
- 06 application
45-
- iot
46-
- monitoring
47-
- 07 analysis (a.k.a ml a.k.a import ts as tf)
34+
- [07 Analysis](07-analysis) (a.k.a ml a.k.a import ts as tf)
4835
- prediction
4936
- anomaly detection
50-
- 08 tracing (keep it in this repo for now)
37+
- [08 Monitoring](08-monitoring)
38+
- ? include log?
39+
- [09 Tracing](09-tracing)
40+
- (keep it in this repo for now)
41+
- ? IoT and Logging
5142
- 09 OLAP, MPP
52-
- 10 How we (or maybe just me...) built Xephon-K (not yet)
43+
- [10 Build](10-build) How to Build a Time Series Database
44+
- features and components (like how to build relational db/search engine/operating system/programming language etc.)
5345
- failure injection and correctness validation
5446
- continuous benchmark

Diff for: book/query-language/README.md

-9
This file was deleted.

Diff for: survey/README.md

+12
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@ Databases
88

99
- [ ] crates (java)
1010
- [ ] questdb (java)
11+
- influxdb
12+
- prometheus
13+
- victoriametrics
14+
- thanos (and another one ... forgot the name from weaveworks)
15+
- m3db
16+
- akumuli, btrdb (both are tree like)
17+
- timescaledb (and others on pg, most of them are dead so ...)
18+
- druid alike (linkedin also got one)
19+
- graphite (and newer backends)
20+
- mysql
21+
- elasticsearch
22+
- crate (it looks pretty good, though it seems it is bought by some other company)
1123

1224
## Format
1325

0 commit comments

Comments
 (0)