This is spot on. Though, in Memgraph’s context, there is a combination of lock free techniques and raw pointer representation that can work exceptionally well for a large variety of use cases, and even better so compared to others on streaming / event driven / large volume of writes. Using raw pointers, there are also optimization opportunities when storing or rebalancing the graph to maximize the number of adjacent nodes in a cache line so benefiting from sequential representation too.
Memgraph compared the freely available open source editions of both databases. Neo4j Enterprise seems to have more performance optimizations compared to the community Edition.
off topic, but Dominik, the founder of Memgraph here. If we didn't connect yet, I'd love to learn how was your experience using Memgraph if you're up for sharing some feedback? DM me on any of the social sites or our community Discord if you've joined :)
something like that, I think we still agree it's an amazing product and now there is really no reason to rebuild it from scratch, at least for a while...
haha well, while running a pig farm is also a difficult business, there are some interesting challenges you can tackle :D also you could write software to manage some aspects of your pig farm
agreed, you can learn a lot by building something from scratch. also, some of the successful software tools we use today came from personal projects so it can be a win win
Hey, Dominik co-founder of Memgraph here! Ask me anything you'd like to know.
tl;dr we launched Memgraph 2.0 with a strong focus on streaming graph data, with connectors to streaming data sources, faster graph computation engine, and incremental execution of graph algorithms as the new data comes in.
We made the entire thing source-available under the Business Source License (BSL) which converts to Apache 2.0 four years after each release. We were heavily inspired by other startup companies in the DB space like Cockroach Labs with our licensing. Check it out on GitHub!
Thank you! We are here to do our fair share and provide the community with the right tools to solve different kinds of graph problems. Exciting space nevertheless and growing fast!
All editions of Memgraph persist data to the disk via write-ahead logging (WAL) and periodic snapshots for log compaction so even though Memgraph is designed to be in-memory first, data is always backed up to disk. If you enable asynchronous (periodic fsync) WAL, you can trade off a small window of durability for better performance.
Before 1.0, Memgraph leveraged the RAFT consensus algorithm for HA which worked great but had some performance implications. Based on feedback from our users and customers, we have decided to switch our HA implementation to the streaming replication model (similar to PostgreSQL) with automatic failover.