Open-source graph database, built for real-time streaming data, compatible with Neo4j.
cyphergraphgraph-algorithmsgraph-analysisgraph-databasekafkakafka-streamsnosqlopencypherstream-processingstreaming-data
Summary: Gradicek's Mvcc test have seen the following changes: - provided a test infrastructure (fixture and macros) to facilitate testing and increase readability - split tests into multi-transaction update, VersionList::find and general Mvcc testing - multi-transaction update tests have been refactored (i *think* nothing got deleted, but it was a mess so I don't guarantee) - changed all multithreaded tests to be single-threaded because multiple threads were not necessary - changed transaction naming from T5, T8, T10 to T1, T2... for consistency with actual transaction indices What still needs to be done: - Gleich and Gradicek need to review the infrastructure (possible improvements) - multi-transaction update tests need to be addressed by Gradicek (see "TODO gradicek" in code, discuss with Flor) - the wiki/draw.io documentation needs to be updated. it is not imperative that all the tests be drawn in draw.io, only the general infrastructure explained. perhaps only a few examples drawn. Gradicek discuss with Flor - Gleich see the "TODO Gleich" lines in the diff and discuss with flor Suggested workflow: - review this diff, hopefully land (before resolving all the TODOs) - discard D169 - Gradicek and Gleich address the TODOs - Flor reviews the results (in following diffs) Reviewers: dgleich, matej.gradicek, buda Reviewed By: matej.gradicek, buda Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D348 |
||
---|---|---|
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