ForkBase is a distributed data storage system with rich semantics and features that unifies and adds values to many classes of next-generation applications. In particular, ForkBase is mainly designed for applications that require internal data representation with versions, chains, and branches. Typical applications include Git-like versioning control, Blockchain, Collaborative analytics, and versioned OLTP. ForkBase focuses on providing such applications with high performance, flexibility, and high-level semantics while reducing application-level development and maintenance effort.
- cmake >= 2.8
- g++ >= 4.9
- protobuf >= 2.6.1
- boost >= 1.66.0
- czmq >= 4.0.2
- libzmq >= 4.2.1
- gflags >= 2.1.0
- libibverbs >= 1.0
- libboost_thread >= 1.5.4 (Thread)
- libcrypto++
- RocksDB >= 5.8
- LevelDB
- Snappy
$ mkdir build
$ cd build
$ cmake .. && make
$ ./bin/ustore_start.sh
# stop the service
$ ./bin/ustore_stop.sh
# stop the service and clean the data
$ ./bin/ustore_clean.sh
Please follow our Development Guidelines to submit pull requests.
If you use our code in your research, please kindly cite:
@article{10.14778/3231751.3231762,
author = {Wang, Sheng and
Dinh, Tien Tuan Anh and
Lin, Qian and
Xie, Zhongle and
Zhang, Meihui and
Cai, Qingchao and
Chen, Gang and
Ooi, Beng Chin and
Ruan, Pingcheng},
title = {Forkbase: An Efficient Storage Engine for Blockchain and Forkable Applications},
journal = {Proc. VLDB Endow.},
volume = {11},
number = {10},
pages = {1137--1150},
year = {2018}
}
To ask questions or report issues, please drop us an email.