LiveGraph: a transactional graph storage system with purely sequential adjacency list scans. Xiaowei Zhu, Guanyu Feng, Marco Serafini, Xiaosong Ma, Jiping Yu, Lei Xie, Ashraf Aboulnaga, and Wenguang Chen. Proc. VLDB Endow. 13, 7 (March 2020), 1020–1034. DOI:https://doi.org/10.14778/3384345.3384351
You can find the binary executables at the Releases page and the source code of LiveGraph at https://github.com/thu-pacman/LiveGraph
- Binaries are built on Ubuntu 18.04
- AVX-2
- C++17
- OpenMP
- TBB
Members |
---|
public inline Graph (std::string block_path,std::string wal_path,size_t _max_block_size,vertex_t _max_vertex_id) |
public inline vertex_t get_max_vertex_id () const |
public timestamp_t compact (timestamp_t read_epoch_id) |
public Transaction begin_transaction () |
public Transaction begin_read_only_transaction () |
public Transaction begin_batch_loader () |
Members |
---|
public inline timestamp_t get_read_epoch_id () const |
public vertex_t new_vertex (bool use_recycled_vertex) |
public void put_vertex (vertex_t vertex_id,std::string_view data) |
public bool del_vertex (vertex_t vertex_id,bool recycle) |
public void put_edge (vertex_t src,label_t label,vertex_t dst,std::string_view edge_data,bool force_insert) |
public bool del_edge (vertex_t src,label_t label,vertex_t dst) |
public std::string_view get_vertex (vertex_t vertex_id) |
public std::string_view get_edge (vertex_t src,label_t label,vertex_t dst) |
public EdgeIterator get_edges (vertex_t src,label_t label,bool reverse) |
public timestamp_t commit (bool wait_visable) |
public void abort () |
Members |
---|
public inline bool valid () const |
public inline void next () |
public inline vertex_t dst_id () const |
public inline std::string_view edge_data () const |
class lg::Transaction::RollbackExcept : public runtime_error
Members |
---|
public inline RollbackExcept (const std::string & what_arg) |
public inline RollbackExcept (const char * what_arg) |