ysj1173886760 / ArcaneDB

Might be a graph storage engine. (WIP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ArcaneDB

Might be a graph storage engine.

TODO

  • PageStore interface and implementation based on leveldb
  • LogStore interface and implementation based on Env of leveldb
  • BufferPoolManager
    • [] Swap pages
  • Type Subsystem: Schema, Properties
  • Sortkey
  • row read/write
    • [] More row type
  • In-memory page read/write
    • [] More page type. i.e. COW page
  • 1-level Btr
  • Versioned Btr
  • Transaction component
    • Implement Hekaton style occ
    • [] More concurrency control protocol
  • Graph interface
  • WAL
  • Recovery
  • Page serialization/deserialization
  • Flush dirty page
  • Support range scan
  • [] 2-level Btr
  • [] Multi-level Btr

Dependency

Init git submodule

git submodule update --init --recursive

Jemalloc is required.

sudo apt install libjemalloc-dev

brpc dependency

sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev

About

Might be a graph storage engine. (WIP)


Languages

Language:C++ 98.0%Language:CMake 1.2%Language:Python 0.8%