thomasjungblut/go-sstables
thomasjungblut/go-sstables has 369 GitHub stars and 12 forks. Star changes are not measured yet. Last checked 2026-11-14 09:41 UTC. Last push 2026-11-11.
측정된 스타 증가
- in 24h
- 기록 수집 중
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Go library for protobuf compatible sstables, a skiplist, a recordio format and other database building blocks like a write-ahead log. Ships now with an embedded key-value store.
데이터README.md
Originalgo-sstables
go-sstables is a Go library that contains NoSQL database building blocks like a sequential record format (recordio), a
sorted string table (sstable), a write-ahead-log (WAL), and a memory store (memstore) that stores key/value pairs in
memory using a skip list.
You can frequently find those in embedded key-value stores or databases as well, notable examples are RocksDB or LevelDB.
There is an example embedded key-value database in this library, you can find it in the simpledb folder - please don't use it for any production workload.
While plain []byte are at the core of this library, there are wrappers and bindings for protobuf to enable more
convenient serialization.
Installation
This is a library as it does not contain any installable binary, which means you can just directly add it to your
dependency via go get:
go get -d github.com/thomasjungblut/go-sstables
Documentation
RocksDB has a great overview of how the components usually play together to get an idea:

You will find basically all of those mentioned pieces above and all of them stitched together as SimpleDB. The documentation is now separated by package for easier browsing, each of those READMEs contain examples - there is also /examples when you prefer browsing the code directly.
You can also find all interface and
method documentation on pkg.go.dev
.
Kaitai Support
As you might want to read the data and files in other languages, I've added support for Kaitai.
Kaitai is a declarative schema file to define a binary format. From that ksy file you can generate code for a lot of
other languages and read the data.
Currently, there is support for:
You can find more information on how to generate Kaitai readers in kaitai/README.md.
Development on go-sstables
Thank you
I want to deeply thank Sébastien Heitzmann (@sebheitzmann) for his continued support, reviews and usage of this library.
Generating protobufs
This needs some pre-requisites installed, namely the protobuf compiler and the go generator plugin. The latter can be installed as a go package:
go install google.golang.org/protobuf/cmd/protoc-gen-go
Full installation details can be found in the protobuf dev documentation .
Once installed, one can generate the protobuf structs using:
make compile-proto
Releasing the Go Module
In short, run these commands:
make unit-test
make release
git push --tags
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,730 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,898 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,491 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,523 스타