Skip to content

Commit b5e69af

Browse files
authored
Restructure Memgraph in production (#1276)
* Restructure Memgraph in production * emphasize order
1 parent 3076f57 commit b5e69af

17 files changed

+557
-532
lines changed

pages/_meta.ts

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export default {
1313
"database-management": "Database management",
1414
"deployment": "Deployment",
1515
"clustering": "Clustering",
16-
"memgraph-in-production": "Memgraph in production",
1716
"data-streams": "Data streams",
1817
"help-center": "Help center",
1918
"release-notes": "Release notes",

pages/deployment.mdx

+26-31
Original file line numberDiff line numberDiff line change
@@ -3,48 +3,43 @@ title: Deployment
33
description: Learn all about deployment strategies and features in Memgraph.
44
---
55

6+
import { Callout } from 'nextra/components'
67
import {CommunityLinks} from '/components/social-card/CommunityLinks'
78

89

910
# Deployment
1011

11-
Deploy Memgraph using methods that suit your environment, whether it's containerized with Docker or a native Linux installation.
12+
Whether you're getting started with best practices, optimizing for specific
13+
workloads, or fine-tuning performance, this section brings together everything
14+
you need to run Memgraph effectively in production. Explore tailored [deployment
15+
guides](#deployment-guides), [environment-specific instructions](#environments),
16+
and [benchmarking strategies](#benchmarking) to ensure your graph applications
17+
scale reliably and efficiently.
1218

13-
## Docker deployment
19+
## Deployment guides
1420

15-
Deploy Memgraph in a [Docker environment](/deployment/docker). Learn how to
16-
install and run Memgraph using Docker images (`memgraph/memgraph-mage` or
17-
`memgraph/memgraph`). Configure Memgraph through the `memgraph.conf` file or
18-
Docker command flags, secure the database with user credentials and SSL, and
19-
ensure data persistence with Docker volumes. Backup and restore data
20-
efficiently, set up a replication cluster for high availability, and manage logs
21-
for troubleshooting and performance monitoring.
21+
To simplify running Memgraph in a production environment, we’ve created a series
22+
of guides to walk you through the process. **For the best results, follow them in
23+
this order**:
2224

23-
## Native Linux deployment
25+
1. **Begin with the [Deployment best practices guide](/deployment/best-practices)**.
26+
It outlines general best practices that apply to most production setups,
27+
regardless of workload type or specific use case.
2428

25-
Install Memgraph directly on a [Linux system](/deployment/linux). Follow steps
26-
to download and install Memgraph, connect using `mgconsole` or client libraries,
27-
and configure settings via the `memgraph.conf` file. Secure your database with
28-
user management and SSL encryption. Ensure data persistence by managing data
29-
directories, and perform backups and restores. Set up a replication cluster for
30-
improved data availability and monitor logs for system insights.
29+
2. **Then, go to the [Workloads](/deployment/workloads) section**. Each guide there
30+
focuses on a specific workload or deployment scenario. At the start of each
31+
guide, you'll find information on when that scenario is a good fit for your
32+
needs, along with tailored recommendations.
3133

32-
## AWS deployment
34+
## [Environments](/deployment/environments)
3335

34-
Deploy Memgraph on [AWS](/deployment/aws). Learn how to launch Memgraph using
35-
Amazon EC2 instances and how to configure instance settings for optimal
36-
performance.
36+
Learn how to deploy Memgraph using methods that suit your environment, whether
37+
it’s containerized with Docker or a native Linux installation.
3738

38-
## GCP deployment
39+
## [Benchmarking](/deployment/benchmarking-memgraph)
3940

40-
Deploy Memgraph on [Google Cloud Platform (GCP)](/deployment/gcp). Follow
41-
instructions to set up Memgraph on Google Compute Engine and how to configure VM
42-
instances.
41+
Get hands-on with benchmarking strategies to evaluate Memgraph’s performance.
42+
This guide walks through stress testing, analyzing key metrics, and comparing
43+
real-world workloads to ensure scalability and responsiveness.
4344

44-
## Azure deployment
45-
46-
Deploy Memgraph on [Microsoft Azure](/deployment/azure). Discover how to deploy
47-
Memgraph using Azure Virtual Machines and how to configure storage and
48-
networking settings.
49-
50-
<CommunityLinks/>
45+
<CommunityLinks />

pages/deployment/_meta.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
export default {
2-
"docker": "Docker",
3-
"linux": "Linux",
4-
"aws": "AWS",
5-
"gcp": "GCP",
6-
"azure": "Azure"
2+
"best-practices": "Best practices",
3+
"workloads": "Workloads",
4+
"environments": "Environments",
5+
"benchmarking-memgraph": "Benchmarking",
76
}

pages/memgraph-in-production/general-suggestions.mdx renamed to pages/deployment/best-practices.mdx

+391-392
Large diffs are not rendered by default.

pages/deployment/environments.mdx

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Environments
3+
description: Learn all about deployment strategies and features in Memgraph.
4+
---
5+
6+
import {CommunityLinks} from '/components/social-card/CommunityLinks'
7+
8+
9+
# Environments
10+
11+
Deploy Memgraph using methods that suit your environment, whether it's containerized with Docker or a native Linux installation.
12+
13+
## Docker deployment
14+
15+
Deploy Memgraph in a [Docker environment](/deployment/docker). Learn how to
16+
install and run Memgraph using Docker images (`memgraph/memgraph-mage` or
17+
`memgraph/memgraph`). Configure Memgraph through the `memgraph.conf` file or
18+
Docker command flags, secure the database with user credentials and SSL, and
19+
ensure data persistence with Docker volumes. Backup and restore data
20+
efficiently, set up a replication cluster for high availability, and manage logs
21+
for troubleshooting and performance monitoring.
22+
23+
## Native Linux deployment
24+
25+
Install Memgraph directly on a [Linux system](/deployment/linux). Follow steps
26+
to download and install Memgraph, connect using `mgconsole` or client libraries,
27+
and configure settings via the `memgraph.conf` file. Secure your database with
28+
user management and SSL encryption. Ensure data persistence by managing data
29+
directories, and perform backups and restores. Set up a replication cluster for
30+
improved data availability and monitor logs for system insights.
31+
32+
## AWS deployment
33+
34+
Deploy Memgraph on [AWS](/deployment/aws). Learn how to launch Memgraph using
35+
Amazon EC2 instances and how to configure instance settings for optimal
36+
performance.
37+
38+
## GCP deployment
39+
40+
Deploy Memgraph on [Google Cloud Platform (GCP)](/deployment/gcp). Follow
41+
instructions to set up Memgraph on Google Compute Engine and how to configure VM
42+
instances.
43+
44+
## Azure deployment
45+
46+
Deploy Memgraph on [Microsoft Azure](/deployment/azure). Discover how to deploy
47+
Memgraph using Azure Virtual Machines and how to configure storage and
48+
networking settings.
49+
50+
<CommunityLinks/>
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export default {
2+
"docker": "Docker",
3+
"linux": "Linux",
4+
"aws": "AWS",
5+
"gcp": "GCP",
6+
"azure": "Azure"
7+
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

pages/deployment/workloads.mdx

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Workloads
3+
description: Learn how to deploy Memgraph in production for your workload and consider all the advices directly from the Memgraph Team based on our multi-year experiences.
4+
---
5+
6+
import { Callout } from 'nextra/components'
7+
import {CommunityLinks} from '/components/social-card/CommunityLinks'
8+
9+
# Workloads
10+
11+
When deploying Memgraph in production, it is essential to consider a set of prerequisites to ensure optimal **performance**, **scalability**
12+
and **resilience**. That includes decisions about hardware configurations and integration strategies.
13+
14+
This section provides guides that are the starting point to production-readiness with Memgraph.
15+
16+
Before you dive into specific setups, it's important to think about:
17+
- **Hardware requirements** and **instance sizing**
18+
- **Driver configuration**
19+
- **Flags** when starting Memgraph
20+
- **Data import** best practices
21+
- Connecting to **external sources**
22+
23+
These factors ensure Memgraph performs effectively in your environment, no matter the use case.
24+
25+
## How to use these guides
26+
27+
**Start with the [Deployment best practices](/deployment/best-practices)**. That page covers the **best practices** that apply to most
28+
production deployments, regardless of your workload type and are **agnostic to specific use cases**.
29+
Each separate guide in the Workloads section focuses on a particular type of workload or deployment scenario.
30+
At the beginning of each guide, you’ll learn when that **use case** is a good fit for your needs and specific tailored **recommendations**.
31+
32+
<Callout type="warning">
33+
Recommendations in those guides **override** anything written in the
34+
general suggestions when there's a conflict, so always defer to the targeted guide when applicable.
35+
</Callout>
36+
37+
## Available guides
38+
39+
Here are the currently available guides to help you deploy Memgraph effectively:
40+
41+
### [Memgraph in high-throughput workloads](/deployment/workloads/memgraph-in-high-throughput-workloads)
42+
Scale your write throughput while keeping up with fast-changing, high-velocity graph data.
43+
44+
### [Memgraph in GraphRAG use cases](/deployment/workloads/memgraph-in-graphrag)
45+
Learn how to optimize Memgraph for Retrieval-Augmented Generation (RAG) systems using graph data.
46+
47+
## 🚧 Guides in construction
48+
- Memgraph in transactional workloads
49+
- Memgraph in analytical workloads
50+
- Memgraph in mission critical workloads
51+
- Memgraph in supply chain use cases
52+
- Memgraph in cybersecurity use cases
53+
- Memgraph in fraud detection use cases
54+
55+
<Callout type="info">
56+
If you'd like to help us **prioritize** this content, feel free to reach out on [Discord](https://discord.gg/memgraph)!
57+
Your feedback helps us build what matters most.
58+
</Callout>
59+
60+
<CommunityLinks/>
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
export default {
2-
"general-suggestions": "General suggestions",
32
"memgraph-in-graphrag": "Memgraph in GraphRAG use cases",
43
"memgraph-in-high-throughput-workloads": "Memgraph in high-throughput workloads",
5-
"benchmarking-memgraph": "Benchmarking Memgraph",
64
}

pages/memgraph-in-production/memgraph-in-graphrag.mdx renamed to pages/deployment/workloads/memgraph-in-graphrag.mdx

+13-14
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import { CommunityLinks } from '/components/social-card/CommunityLinks'
99
# Memgraph in GraphRAG use cases
1010

1111
<Callout type="info">
12-
👉 **Start here first**
13-
Before diving into this guide, we recommend starting with the [**General suggestions**](/memgraph-in-production/general-suggestions)
12+
Before diving into this guide, we recommend starting with the [Deployment best practices](/deployment/best-practices)
1413
page. It provides **foundational, use-case-agnostic advice** for deploying Memgraph in production.
1514

1615
This guide builds on that foundation, offering **additional recommendations tailored to specific workloads**.
@@ -23,11 +22,11 @@ on the unique needs of your use case.
2322
This guide is for you if you're exploring or building **GraphRAG (Graph-Augmented Retrieval-Augmented Generation)** systems.
2423
You'll benefit from this content if:
2524

26-
- 💬 You want to **query your graph using natural language** through a proxy **LLM** interface.
27-
- 🔄 You need to **seamlessly extract knowledge graphs from multiple source systems**, especially when a graph structure naturally fits the data.
28-
- 🏢 You're building a system where **business stakeholders need fast insights** without relying on engineers to expose data through APIs.
29-
- 🌙 Your engineers are **deep in the trenches at midnight**, and you'd rather they write **simple questions** instead of Cypher queries.
30-
- 🧠 You have **embeddings** and need to perform **vector search** across your graph, along with structured Cypher query language expressiveness.
25+
- You want to **query your graph using natural language** through a proxy **LLM** interface.
26+
- You need to **seamlessly extract knowledge graphs from multiple source systems**, especially when a graph structure naturally fits the data.
27+
- You're building a system where **business stakeholders need fast insights** without relying on engineers to expose data through APIs.
28+
- Your engineers are **deep in the trenches at midnight**, and you'd rather they write **simple questions** instead of Cypher queries.
29+
- You have **embeddings** and need to perform **vector search** across your graph, along with structured Cypher query language expressiveness.
3130

3231
If any of these resonate with your project, this guide will walk you through the best practices and configurations to bring
3332
GraphRAG to life using Memgraph.
@@ -89,10 +88,10 @@ This will give you a more accurate view of your memory needs when planning hardw
8988

9089
Memgraph is actively working on two short-term optimizations to reduce this memory overhead:
9190

92-
- 🧭 **Reference-based indexing**: Embeddings will be stored only in the vector index, with the property storage holding just a reference.
91+
- **Reference-based indexing**: Embeddings will be stored only in the vector index, with the property storage holding just a reference.
9392
Since embeddings are used exclusively for vector search, this eliminates duplication.
9493

95-
- ⚙️ **Support for float16 in usearch**: Users will be able to store embeddings as 2-byte floats (`float16`), commonly used in neural networks.
94+
- **Support for float16 in usearch**: Users will be able to store embeddings as 2-byte floats (`float16`), commonly used in neural networks.
9695
This reduces memory usage significantly while maintaining accuracy within a **\<1% margin**, making it a strong tradeoff for most applications.
9796

9897
### Best practices
@@ -134,24 +133,24 @@ Both modes are compatible with GraphRAG workflows — choose based on your perfo
134133
To ensure your GraphRAG setup is secure, scalable, and suitable for multi-user environments, Memgraph offers several
135134
enterprise features that are especially relevant:
136135

137-
- 🔐 **Role-based access control**
136+
- **Role-based access control**
138137
GraphRAG systems often generate queries automatically via LLMs, so it’s critical to enforce strict **read-only permissions**
139138
to prevent accidental data modification. Memgraph supports
140139
[role-based access control](/database-management/authentication-and-authorization/role-based-access-control),
141140
allowing you to limit access to **read-only roles** for GraphRAG users and services.
142141

143-
- 🏷️ **Label-based access control**
142+
- **Label-based access control**
144143
For more granular permissions, Memgraph supports
145144
[label-based access control](/database-management/authentication-and-authorization/role-based-access-control#label-based-access-control).
146145
This enables defining access rules at the **label and edge type level**, so users can only view and query the parts of the
147146
graph that are relevant to them—ensuring **data isolation and privacy** across teams or tenants.
148147

149-
- 🔐 **SSO support for GraphChat**
148+
- **SSO support for GraphChat**
150149
If you're using **GraphChat** inside **Memgraph Lab** to power LLM-based querying,
151150
[single sign-on (SSO)](/database-management/authentication-and-authorization/auth-system-integrations#single-sign-on) makes it easy
152151
to integrate with your existing identity provider and streamline user access across your organization.
153152

154-
- 🔄 **Dynamic graph algorithms**
153+
- **Dynamic graph algorithms**
155154
In scenarios where the graph is **changing in real-time** and you need **continuous summarization or insights**, Memgraph
156155
provides enterprise-only [dynamic graph algorithms](/advanced-algorithms/available-algorithms#dynamic-graph-algorithms-enterprise),
157156
such as **online community detection**. These allow your GraphRAG pipeline to stay up-to-date with evolving data without expensive
@@ -179,7 +178,7 @@ Memgraph’s **in-memory architecture**, offering fast and consistent response t
179178

180179
## Memgraph ecosystem
181180

182-
To accelerate your GraphRAG journey, we recommend exploring the [**AI ecosystem**](/ai-ecosystem) page. There,
181+
To accelerate your GraphRAG journey, we recommend exploring the [AI ecosystem](/ai-ecosystem) page. There,
183182
you’ll find detailed information about:
184183

185184
- **GraphChat**, Memgraph’s natural language interface powered by LLMs

pages/memgraph-in-production/memgraph-in-high-throughput-workloads.mdx renamed to pages/deployment/workloads/memgraph-in-high-throughput-workloads.mdx

+6-7
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import { CommunityLinks } from '/components/social-card/CommunityLinks'
99
# Memgraph in high-throughput workloads
1010

1111
<Callout type="info">
12-
👉 **Start here first**
13-
Before diving into this guide, we recommend starting with the [**General suggestions**](/memgraph-in-production/general-suggestions)
12+
Before diving into this guide, we recommend starting with the [Deployment best practices](/deployment/best-practices)
1413
page. It provides **foundational, use-case-agnostic advice** for deploying Memgraph in production.
1514

1615
This guide builds on that foundation, offering **additional recommendations tailored to specific workloads**.
@@ -24,10 +23,10 @@ This guide is for you if you're working with **high-throughput graph workloads**
2423
and scale are critical.
2524
You’ll benefit from this content if:
2625

27-
- You’re handling **more than a thousand writes per second**, and your graph data is constantly changing at high velocity.
28-
- 🔍 You want your **read performance to remain consistent**, even as new data is continuously ingested.
29-
- 🔁 You’re dealing with **high volumes of concurrent reads and writes**, and need a database that can handle both without performance degradation.
30-
- 🌊 Your data is flowing in from **real-time streaming systems** like **Kafka**, and you need a database that can keep up.
26+
- You’re handling **more than a thousand writes per second**, and your graph data is constantly changing at high velocity.
27+
- You want your **read performance to remain consistent**, even as new data is continuously ingested.
28+
- You’re dealing with **high volumes of concurrent reads and writes**, and need a database that can handle both without performance degradation.
29+
- Your data is flowing in from **real-time streaming systems** like **Kafka**, and you need a database that can keep up.
3130

3231
If this sounds like your use case, this guide will walk you through how to configure and scale Memgraph for **reliable, high-throughput performance** in production.
3332

@@ -211,7 +210,7 @@ If your payload contains **dynamic labels or edge types** and you still need **i
211210
- **Optionally use the [`merge`](/advanced-algorithms/available-algorithms/merge) procedure from MAGE**
212211

213212
<Callout type="warning">
214-
Note: While MAGE procedures are **written in C++ and highly optimized**, they still introduce **slightly more overhead**
213+
While MAGE procedures are **written in C++ and highly optimized**, they still introduce **slightly more overhead**
215214
compared to **pure Cypher**, as they are executed as external modules. We recommend favoring pure Cypher when
216215
possible for the **highest performance**.
217216
</Callout>

0 commit comments

Comments
 (0)