Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
florijan 6fc6a27288 Refactor GraphDb
Summary:
GraphDb is refactored to become an API exposing different parts
necessary for the database to function. These different parts can have
different implementations in SingleNode or distributed Master/Server
GraphDb implementations.

Interally GraphDb is implemented using two class heirarchies. One
contains all the members and correct wiring for each situation. The
other takes care of initialization and shutdown. This architecture is
practical because it can guarantee that the initialization of the
object structure is complete, before initializing state.

Reviewers: buda, mislav.bradac, dgleich, teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1093
2018-01-12 16:47:24 +01:00
cmake Add examples to installation 2017-12-12 14:59:54 +01:00
config Remove executor not run option 2017-12-18 14:36:15 +01:00
customers Refactor GraphDb 2018-01-12 16:47:24 +01:00
docs Remove Union from Upcoming Features 2017-12-22 15:24:05 +01:00
experimental Remove extension from Python executables 2017-11-27 14:39:51 +01:00
libs Migrate cereal to boost_serialization 2017-12-27 13:44:46 +01:00
poc Add parallel customers/Otto test 2017-11-23 09:20:53 +01:00
release Add building ArchLinux package of Memgraph 2018-01-11 14:25:25 +01:00
src Refactor GraphDb 2018-01-12 16:47:24 +01:00
tests Refactor GraphDb 2018-01-12 16:47:24 +01:00
tools Refactor GraphDb 2018-01-12 16:47:24 +01:00
.arcconfig arcconfig: Default to master for diff and land 2017-11-07 18:41:51 +01:00
.clang-format Edges data structure now supports multiple edge filtering (implicit OR) 2017-09-26 13:46:18 +02:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore Changed macro benchmark summary format 2017-12-28 16:35:45 +01:00
.ycm_extra_conf.py Configure YCM for Cereal 2017-12-06 14:28:34 +01:00
apollo_archives.py Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
apollo_archives.yaml Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
apollo_build.yaml Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
CHANGELOG.md Bump Memgraph version to 0.9 2017-12-18 10:37:31 +01:00
CMakeLists.txt Require minimum 1.62 version of Boost 2017-12-20 17:46:37 +01:00
coverage Silence ctest when running for coverage 2017-06-13 11:54:43 +02:00
Doxyfile Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
init Serialize Ast classes 2017-12-20 13:28:34 +01:00
llvm-gcov memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
README.md Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00

memgraph

Memgraph is an ACID compliant high performance transactional distributed in-memory graph database featuring runtime native query compiling, lock free data structures, multi-version concurrency control and asynchronous IO.

dependencies

Memgraph can be compiled using any modern c++ compiler. It mostly relies on the standard template library, however, some things do require external libraries.

Some code contains linux-specific libraries and the build is only supported on a 64 bit linux kernel.

  • linux
  • clang 3.8 (good c++11 support, especially lock free atomics)
  • antlr (compiler frontend)
  • cppitertools
  • fmt format
  • google benchmark
  • google test
  • glog
  • gflags