Re:Writing a SQL database from scratch in Go
by orhanhh on Monday April 13, 2020 @05:09AM
(#22854239)
Note that neither CockroachDB or TiDB use Golang for their actual storage engine, which is in both cases written in C (RocksDB). They do use Golang for SQL parsing though, which is what this post was mostly about.
[ Parent
| on HN ]
Re:Writing a SQL database from scratch in Go
by cube2222 on Monday April 13, 2020 @05:18AM
(#22854271)
However, cockroachdb does all other work (including query execution) in Go too.
There's also DGraph based on Badger as a storage engine which is an all-go stack.
And badger does compare favorably to rocksdb under certain workloads.
Re:Writing a SQL database from scratch in Go
by irfansharif on Monday April 13, 2020 @07:38AM
(#22854913)
> Note that neither CockroachDB [...] use Golang for their actual storage engine
We do, now. We're looking to move away from RocksDB to https://github.com/cockroachdb/pebble/.
Re:Writing a SQL database from scratch in Go
by eatonphil on Monday April 13, 2020 @09:37AM
(#22855705)
Woah, that's big news. Thanks for sharing.
Re:Writing a SQL database from scratch in Go
by valyala on Friday April 17, 2020 @10:14AM
(#22899127)
VictoriaMetrics [1] is written entirely in Go. By default it uses canonical zstd library for compression (the library is written in C), but it supports pure Go mode when built with `make victoria-metrics-pure`. In this mode it uses zstd implementation written in Go [2].
[1] https://github.com/VictoriaMetrics/VictoriaMetrics
[2] https://github.com/klauspost/compress/tree/master/zstd#zstd