Memgraph vs Neo4j
Both are property graph databases queried with openCypher. Memgraph (2018, BSL-1.1, C++) ranks #4 this month; Neo4j (2007, GPL-3.0, Java) ranks #1. They differ on 16 of 46 surveyed features.
| Attribute | | |
|---|---|---|
| At a glance | ||
| Rank | #4 | #1 |
| Score | 65.3 | 78.8 |
| GitHub stars | 4.3k | 17k |
| Popularity | 66.6 | 93.8 |
| Activity | 81.9 | 82.8 |
| Community | 69.2 | 77.2 |
| Research | 56.4 | 98.6 |
| Fundamentals | ||
| Description | An in-memory property graph database with ACID transactions and strong consistency. Includes the MAGE library of graph algorithms and supports real-time streaming ingestion. | A property graph database that stores data as fixed-size records in linked lists for index-free adjacency traversal. Offers community and commercial editions with an extensive graph algorithms library. |
| Vendor | Memgraph | Neo4j Inc |
| Model | Property Graph | Property Graph |
| Kind | database | database |
| Category | Enterprise | Established |
| First released | 2018 | 2007 |
| Status | active | active |
| License | BSL-1.1 | GPL-3.0 |
| Written in | C++ | Java |
| Query languages | openCypher | Cypher, GQL |
| gdotv support | yes | yes |
Feature scores 16 of 46 rows differ
| Feature | Memgraph | Neo4j |
|---|---|---|
| Community & Business | ||
| Active development | ✓ | ✓ |
| Commercial support | ✓ | ✓ |
| Live community | 0.5 | ✓ |
| Open Source | · | ✓ |
| Pricing | · | 0.5 |
| Trendiness | 0.25 | ✓ |
| Deployment | ||
| Containerization | ✓ | ✓ |
| Work as dedicated instance | ✓ | ✓ |
| Work as embedded | · | ✓ |
| Testing in-memory version | 0.75 | ✓ |
| Platform | ||
| Operating on Linux | ✓ | ✓ |
| Operating on Windows | 0.5 | ✓ |
| SaaS offering | ✓ | ✓ |
| Operations | ||
| Automatic updates | · | · |
| Client side caching | · | · |
| Data versioning support | · | · |
| Live backups | ✓ | ✓ |
| Distribution | ||
| Cluster Re-balancing | ✓ | · |
| Data Distribution | ✓ | ✓ |
| High-Availability | ✓ | ✓ |
| Query Distribution | ✓ | ✓ |
| Replication support | ✓ | ✓ |
| Developer Experience | ||
| Data types defined | · | ✓ |
| Logging/Auditing | ✓ | ✓ |
| Object-Graph Mapper | ✓ | ✓ |
| Reactive programming | · | ✓ |
| Documentation up-to-date | 0.75 | ✓ |
| Binary protocol | ✓ | ✓ |
| CLI | ✓ | ✓ |
| GUI | ✓ | ✓ |
| Data Model | ||
| Multi-database | · | ✓ |
| Graph-native data | ✓ | ✓ |
| REST API | · | ✓ |
| Query Language | ✓ | ✓ |
| Transactions | ||
| Granular locking | · | ✓ |
| Multiple isolation levels | · | ✓ |
| Read committed transaction | ✓ | ✓ |
| Transaction support | ✓ | ✓ |
| Schema & Security | ||
| Constraints | ✓ | ✓ |
| Schema support | 0.75 | ✓ |
| Secondary indexes | ✓ | ✓ |
| Server side procedures | ✓ | ✓ |
| Triggers | ✓ | ✓ |
| Authentication | ✓ | ✓ |
| Authorization | ✓ | ✓ |
| Data encryption | · | · |
Links
- Memgraph · website · github · full profile
- Neo4j · website · github · full profile