Memgraph 1.0

A high-performance, in-memory, transactional graph database.

#4 Product of the DayMay 13, 2020
Memgraph is an in-memory graph database engineered to power real-time operational graph applications. Memgraph supports the Cypher and integrates deeply with the Python ecosystem to help you easily develop and deploy graph-based applications.
Discussion
Would you recommend this product?
16 Reviews5.0/5
Hey PH, ๐Ÿ‘‹ Karim from the Memgraph here. Memgraph is a high-performance in-memory graph database that makes it easy for developers and data scientists to build and productionize real-time graph applications. Weโ€™ve been working hard on Memgraph for the past 3 years, and weโ€™re proud to make our production-ready 1.0 version generally available. ๐Ÿš€ ๐ŸŽ‰ ๐Ÿ’Ž Key features of Memgraph 1.0 include: โœ… Optimized storage engine and reduced memory footprint โ€“ We overhauled our storage engine and rewritten it from scratch which resulted in a 1.4x to 14x reduction in RAM usage and an average 2x - 3x speedup for read and write queries. โœ… Python Query Module โ€“ Users can now write imperative procedures and extend the existing feature set. The most performant way to implement procedures remains the Memgraph C Query Module API (https://github.com/memgraph/mgcl...). However, for faster development and iterations we have released a Python Query Module API (https://memgraph.github.io/pymgc...). By embedding a Python interpreter within the Memgraph process, data scientists can easily leverage libraries like NetworkX to analyze the data stored inside Memgraph. โœ… CSV import tool โ€“ If you are already familiar with the Neo4j import tools, then using the Memgraph import tool should be easy. The CSV import tool (https://docs.memgraph.com/memgra...) is fully compatible with the Neo4j CSV format. If you already have a pipeline set-up for Neo4j, you should be able to easily import data by using โ€œmg_import_csvโ€. โœ… Tensorflow integration (Beta) โ€“ In another effort to make life easier for data scientists and machine learning developers, we have developed Memgraph to enable easier development and production serving of your machine learning models based on graph data by allowing you to query Memgraph directly from TensorFlow. The TensorFlow op (https://docs.memgraph.com/machin...) wraps the high-performance Memgraph client for use with TensorFlow, allowing natural data transfer between Memgraph and TensorFlow. If you would like to try it out, here are a few things to help you get started: ๐Ÿ“ฃ You can read more about our 1.0 release here (https://memgraph.com/blog/announ...) ๐ŸŒŸ You can download Memgraph for FREE here (https://memgraph.com/download/) ๐Ÿ‘ฉโ€๐Ÿ’ป You can download Memgraph Lab, our vidual user interface, for free here (https://memgraph.com/download#La...) ๐Ÿ“– You can find our documentation here (https://docs.memgraph.com/) ๐Ÿ’ก You can find a few fun tutorials with pre-built datasets here (https://docs.memgraph.com/memgra...) Weโ€™d love to get some feedback and Iโ€™m happy to answer any questions! Ps: If you need any technical help, please post your issue on our community forum (https://discourse.memgraph.com/). Thatโ€™s the easiest and fastest way to get an answer from our community and engineering team ๐Ÿ˜€
Upvote (10)Share
Can I use all NetworkX features and library functions from within memgraph, e.g. can I apply k_components to graph held within memgraph?
@philip_howson Yes, Memgraph has an embedded Python interpreter so you can run any NetworkX graph algorithm or any other Python code. The code has access to the whole graph, so a bunch of options exists. The entire Python integration is still in the early days, and we have a bunch of plans on how to improve further. What other Python libraries do you generally use?
@marko_budiselic sounds great! Looks like an amazing product, definitely going to check it out! I assume since it has a python interpreter built in, in theory I can use pretty much any python module?
@philip_howson that's correct! By embedding a Python interpreter within the Memgraph process, you can easily leverage libraries like NetworkX to analyze the data stored inside Memgraph. We have clients using libraries like Scikit-Learn, Tensorflow, and spaCY.
Yes, Memgraph has an embedded Python interpreter so you can run any NetworkX graph algorithm or any other Python code. The code has access to the whole graph, so a bunch of options exists. The entire Python integration is still in the early days, and we have a bunch of plans on how to improve further. What are the other NetworX algorithms important to you?
Congrats on the launch :) As a neo4j user, will try this out soon and let you know. Also, does version 1 comes with cluster support?
@ambi Thank you! Take it for a spin and let us know if we can help out - we would appreciate the feedback. We will have full high availability replication with automatic failover ready in the next quarter - we reimplemented the old one we had to significantly improve performance. Stay tuned for that. Btw, what's your use-case for using graphs?
Congrats on the release @karim_traiaia!
@colin_james_belyea Thanks :D I really appreciate the support :D