Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
florijan fc2703833c Refactor remote cache ownership
Summary:
Remote caches used to be owned by `GraphDbAccessor`. An advantage of
that was immediate cleanup when destructing. A disadvantage was sharing
the remote cache between mutliple program-flows in the same transaction
in distributed (one would have to share the accessor).

We will have to do post-transactional global cleanup anyway, since we
leak, which reduces the above stated advantage. And the stated
disadvantage is becoming more and more pronounced as additional
components need access to the remote cache.

Hence the refactor.

Reviewers: buda, teon.banek, msantl

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1186
2018-02-09 14:12:11 +01:00
cmake Cleanup and reorganize release directory 2018-01-15 10:12:59 +01:00
config Remove executor not run option 2017-12-18 14:36:15 +01:00
customers Generate distributed snapshot for card fraud demo 2018-02-01 13:07:40 +01:00
docs Add REDUCE function to openCypher 2018-02-07 12:48:20 +01:00
experimental Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
libs Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
poc Add parallel customers/Otto test 2017-11-23 09:20:53 +01:00
release Cleanup and reorganize release directory 2018-01-15 10:12:59 +01:00
src Refactor remote cache ownership 2018-02-09 14:12:11 +01:00
tests Add wShortest expansion to openCypher 2018-02-09 11:02:41 +01:00
tools Stats from card fraud benchmark 2018-02-07 19:57:25 +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 Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
CHANGELOG.md Add REDUCE function to openCypher 2018-02-07 12:48:20 +01:00
CMakeLists.txt Implement simple log file storage for raft 2018-01-15 18:07:45 +01: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 Implement simple log file storage for raft 2018-01-15 18:07:45 +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