It’s been quite a week with the Memgraph 2.0 announcement. In this blog post, I want to show you how Memgraph loks under the hood - what are all the technologies, what are all the pieces of the puzzle that allow you to easily stream, graph, and build with Memgraph.
Stream - Data Ingestion
Memgraph can ingest historical data from standard data sources like plain files or relational databases. Since data, in reality, is not static, Memgraph also helps you to connect to the streaming sources directly.
There is no need for custom transformation services as Memgraph already ships different streaming clients. You can connect these streaming data sources with Memgraph’s built-in transformation modules and create graphs out of them.
Graph - Memgraph
MemgraphDB is the core component dealing with all concurrency problems, consistency issues, and scaling, both in terms of data and algorithm complexity. Memgraph talks Cypher, a well know declarative graph query language. Memgraph is push and pull friendly, which means you can query data and run algorithms but also get notified when something in the data changes.
Memgraph’s C API allows the development of custom extensions in all programming languages. A handy wrapper for the API already exists for C, C++, Python, and Rust. Memgraph can interpret a Python script or it just needs a dynamic library to be executed as a part of a query.
MAGE (Memgraph Advanced Graph Extensions) can be used to perform even the most demanding graph algorithms on incoming streaming data. You can run algorithms such as PageRank, Community detection, machine learning with graph embeddings, and many more. You are not even constrained by a programming language!
Thanks to the Bolt communications protocol, our drivers are top-notch quality and lightning fast. It doesn’t matter if you’re into Python, Rust, or some other language, we’ve got you covered.
You can query the data using our command-line interface mgconsole or even visualize it with the help of Memgraph Lab. Memgraph Lab enables you to apply different graph styles, import predefined datasets, and run example queries.
Build - Applications
On the right-hand side, once you’ve received the insights from your data, you can make it actionable and build applications on top. For example, you can create dashboards with real-time updates to monitor your data and the results of different graph analytics.
Or, build fully-fledged apps from social networks to user event tracking, permissions modeling, recommendation systems, and so much more. Check out how we analysed Slack Interactions with Memgraph or Visualised Reddit in Real-Time.
If you are still puzzled about Memgraph, make sure to watch the two videos below: