Open-source graph database, built for real-time streaming data, compatible with Neo4j.
cyphergraphgraph-algorithmsgraph-analysisgraph-databasekafkakafka-streamsnosqlopencypherstream-processingstreaming-data
Summary: The GraphDbAccessor and KeyIndex APIs can now also return records for the current transaction+command graph state. This is necessary to correctly implement MERGE. The new logic is has increased the MVCC+Accessor related chaos and should be revised when refactoring MVCC (as planned). Previous index testing was separated into VertexIndex and EdgeIndex testing. This is inappropriate since most of the logic is exaclty the same. Also it was not clearly defined what gets tested via the GraphDbAccessor API, and what directly through the KeyIndex API. This has also been refactored, but it needs additional work (Gleich). Reviewers: buda, dgleich Reviewed By: buda, dgleich Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D306 |
||
---|---|---|
cmake | ||
config | ||
docs | ||
libs | ||
poc | ||
release | ||
src | ||
tests | ||
.arcconfig | ||
.clang-format | ||
.gitignore | ||
.ycm_extra_conf.py | ||
CMakeLists.txt | ||
coverage | ||
Doxyfile | ||
Doxylogo.png | ||
format | ||
init | ||
llvm-gcov | ||
README.md |
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
- yaml-cpp