xephon-k

module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2020 License: MIT

README

Xephon-K


xephon-k


GoDoc Build Status Coverage Status Go Report Card codebeat badge

Xephon-K is a time series database with multiple backends. It's a playground for comparing modern TSDB design and implementation with benchmarks. It is not for production use, but it can show you the internal and trade-off of many TSDBs. A detailed (but not well organized) survey can be found in doc/survey.

Supported backends

  • In Memory
  • Local disk, modeled after InfluxDB
  • Cassandra, modeled after KairosDB, but the partitioned schema is not implemented

Following are some backends I plan to implement in the future

  • RocksDB
  • Redis
  • MySQL, modeled after VividCortex
  • S3 + Dynamo, modeled after weaveworks' cortex

About the name

  • Xephon comes from animation RahXephon, which is chosen for Xephon-B
  • K comes from KairosDB since this project is originally modeled after KairosDB, which is also the first TSDB I have used in production.

Authors

Directories

Path Synopsis
cmd
xk
xkd
pkg
cmd
common
Package common is a generated protocol buffer package.
Package common is a generated protocol buffer package.
config
Package config contains application config for daemon and bench
Package config contains application config for daemon and bench
encoding
Package encoding is used for compress/decompress time series data to/from raw bytes Tracker: https://github.com/xephonhq/xephon-k/issues/47
Package encoding is used for compress/decompress time series data to/from raw bytes Tracker: https://github.com/xephonhq/xephon-k/issues/47
server
Package server provides RESTful and gRPC API
Package server provides RESTful and gRPC API
server/payload
Package payload is a generated protocol buffer package.
Package payload is a generated protocol buffer package.
storage
Package storage handles storage backend
Package storage handles storage backend
storage/cassandra
Package cassandra provides the functionality to use Cssandra as long term and distributed storage
Package cassandra provides the functionality to use Cssandra as long term and distributed storage
storage/disk
Package disk is a generated protocol buffer package.
Package disk is a generated protocol buffer package.
storage/memory
Package memory provides an in memory store, which can be used as write through or write back cache Generated from series_store_int.go DO NOT EDIT!
Package memory provides an in memory store, which can be used as write through or write back cache Generated from series_store_int.go DO NOT EDIT!
util
Package util provide wrappers and hacks for standard libraries and third party libraries
Package util provide wrappers and hacks for standard libraries and third party libraries
playground
xk
client/grpcclient
Package grpcclient is grpc client of Xephon-K, it's in separated package to avoid import grpc for clients that don't use grpc
Package grpcclient is grpc client of Xephon-K, it's in separated package to avoid import grpc for clients that don't use grpc
transport/grpc
Package grpc is a generated protocol buffer package.
Package grpc is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL