Memgraph logo
Back to blog
Memgraph Operational Features Explained

Memgraph Operational Features Explained

By Marko Budiselic
5 min readJune 26, 2024

Evaluating a database engine isn’t just about features and performance; it’s also about how well it can be operated in the long run. Choosing a new DBMS involves a substantial investment in its ongoing management and maintenance.

When we talk about "Operations" or "Operational" aspects, we're referring to everything necessary to keep a DBMS running smoothly in a production environment. By controlling user access based on roles, this ensures cost savings and secure data management.

Platforms like Kubernetes have emerged to simplify these operational challenges, allowing developers to focus more on solving business problems rather than managing infrastructure.

Let's dive deeper into these aspects.

memgraph-enterprise-features

Multi-Tenancy

In enterprise architecture, technology must be accessible to multiple teams or tenants, each with unique use cases. Memgraph's multi-tenancy feature allows organizations to efficiently share a single server or graph database instance among multiple isolated data sets. This ensures cost savings and secure data management by controlling user access based on roles.

A key aspect of multi-tenancy is optimal resource utilization, enabling developers to leverage existing physical resources for other applications.

Within an enterprise, multi-tenancy can be applied in various contexts:

  • Managing similar graphs for numerous tenants
  • Addressing diverse use cases within a graph application
  • Facilitating more effective testing

If want to set up a multi-tenant instance of Memgraph, you can find detailed instructions on our docs under Multi-Tenancy.

High Availability Automatic Failover

Downtime is costly in large, complex systems. Memgraph's high availability and automatic failover feature ensure that unexpected database failures don't disrupt your operations. With Memgraph's robust coordinator service, hardware failures are automatically handled by deploying replicas within your cluster, maintaining seamless operation and reliability.

memgraph-high-availibility-automatic-failover

Memgraph Community includes WAL-based replication, where write-ahead logs and snapshots are replicated across the cluster to enhance service availability. This allows you to deploy and manage highly available clusters even with the community edition. Memgraph Enterprise enhances this by providing a cluster of coordinators that track the cluster state, ensuring operational continuity for both reads and writes. These coordinators use the Raft protocol (via the battle-tested NuRaft implementation in C++) to maintain high availability. The leader coordinator manages the replicated Memgraph instances and provides routing information so clients know where to read and write data.

Read more about Replication and High-Availability.

Monitoring

When experimenting with a new use case or technology, most people don't care about monitoring capabilities. During the early stages of development, introspection into specific query execution takes precedence. However, once you move to production, monitoring becomes crucial. You can't predict your system's behavior under increased load or when users run unexpected queries.

Memgraph provides real-time insights into system health and performance with a rich stream of data in the standard Prometheus format. This includes metrics on disk usage, sessions, snapshots, streams, transactions, operators, and queries, as well as statistics about the graphs, such as the number of vertices, edges, and average degree. Additionally, Memgraph offers WebSocket and HTTP APIs for real-time access to metrics and logs, ensuring seamless integration with your monitoring tools.

You can find an extensive list of available metrics Database Management section of our docs. If you need a specific metric that's not listed, please let us know by creating a new GitHub issue here.

Kubernetes Helm Charts and Operators

k8s has become a cornerstone in modern development, with nearly 50% of new projects utilizing it. One way to think of k8s is as an abstraction layer for all your hardware, providing a standardized interface that hides many underlying details. This abstraction is particularly beneficial for managing databases, which are often complex due to numerous implementation specifics. With k8s, database administrators can codify deployment and operational concerns, ensuring everything runs smoothly. For developers, this means less time spent on non-domain-specific logic, allowing them to focus on adding real business value.

Memgraph currently offers development options for both standalone and high-availability setups via Helm charts. In the coming months, Memgraph will also release k8s Operators to handle all enterprise operational concerns, including monitoring, backup and recovery, version upgrades, scaling, and license management.

Next Steps

Now that you're familiar with our operational enterprise features, it's time to experience them firsthand. Get the fully featured 30-day free Enterprise trial with no strings attached and properly test out Memgraph.

If you have further questions or need personalized assistance, book a 30-minute session with one of our engineers from the DX team.

Further Reading

This blog post is part of the "Memgraph is Enterprise-Ready" series. Be sure to check out the other articles:

Join us on Discord!
Find other developers performing graph analytics in real time with Memgraph.
© 2024 Memgraph Ltd. All rights reserved.