From a78f5c105dda5d7e055c577daae280fbc9f7a736 Mon Sep 17 00:00:00 2001 From: DavIvek Date: Wed, 29 Apr 2026 11:00:02 +0200 Subject: [PATCH 1/4] Add docs for the AI Platform license type Documents the new AI_PLATFORM license type from memgraph#3999: same Enterprise feature set, but the license memory limit gates only graph memory, while vector index memory is bounded by the system --memory-limit. Also updates SHOW STORAGE INFO field references across the docs for the PR's collateral renames (disk_usage -> global_disk_usage, memory_tracked -> global_memory_tracked, allocation_limit -> global_runtime_allocation_limit, and the new global_license_allocation_limit), and notes the 24-hour license-expiry grace period. --- .../enabling-memgraph-enterprise.mdx | 37 +++++++++++++++++-- pages/database-management/server-stats.md | 13 ++++--- pages/fundamentals/storage-memory-usage.mdx | 11 +++--- pages/querying/vector-search.mdx | 6 ++- 4 files changed, 51 insertions(+), 16 deletions(-) diff --git a/pages/database-management/enabling-memgraph-enterprise.mdx b/pages/database-management/enabling-memgraph-enterprise.mdx index 3aecb48f0..cbfea4416 100644 --- a/pages/database-management/enabling-memgraph-enterprise.mdx +++ b/pages/database-management/enabling-memgraph-enterprise.mdx @@ -45,6 +45,29 @@ higher-priority source wins. storage so it remains active across restarts even if the CLI flags or environment variables are no longer passed. +## License types + +Memgraph issues three license types. All three unlock the Enterprise features +listed at the top of this page; the difference lies in how the license-imposed +memory limit is applied. + +| Type | Feature gating | What the license memory limit gates | +| -------------- | -------------- | ----------------------------------- | +| `enterprise` | Enterprise | **Total** tracked memory (graph + vector index combined). | +| `ai_platform` | Enterprise | **Graph memory only** (vertices, edges, properties). Vector index memory grows unconstrained, gated only by the system [`--memory-limit`](/configuration/configuration-settings) flag. | +| `oem` | OEM-specific | Reserved for OEM deployments. | + +The license type for the active license is reported by +[`SHOW LICENSE INFO`](/database-management/server-stats#license-information) +under the `license_type` field, and `SHOW STORAGE INFO` exposes both the +license-imposed limit (`global_license_allocation_limit`) and the system +`--memory-limit` (`global_runtime_allocation_limit`) so you can see which one +is active. + +The AI Platform license is intended for vector-heavy workloads (RAG, +similarity search, AI/ML pipelines) where the embedding storage typically +dominates total memory and should not consume the licensed graph capacity. + ## Providing the license If you want to enable the Enterprise Edition on startup, [set the configuration @@ -108,10 +131,16 @@ To check the used storage, run `SHOW STORAGE INFO;`. ## License key expiry -Once the license key expires, the enterprise features will be disabled, but the -data stored in the database will remain intact. You will still be able to add -more data, but any enterprise features that require specific actions will no -longer function. For example, you will not be able to create any new databases. +Memgraph applies a **24-hour grace period** before treating a license as +expired: the license remains valid for 24 hours past its `valid_until` +timestamp, so a brief delay in rotating keys does not immediately disable +Enterprise features. + +Once the grace period also passes, the enterprise features will be disabled, +but the data stored in the database will remain intact. You will still be +able to add more data, but any enterprise features that require specific +actions will no longer function. For example, you will not be able to create +any new databases. ## Switching between Community and Enterprise editions diff --git a/pages/database-management/server-stats.md b/pages/database-management/server-stats.md index cdb4e4bf3..8d52a70a1 100644 --- a/pages/database-management/server-stats.md +++ b/pages/database-management/server-stats.md @@ -38,11 +38,12 @@ The result will contain the following fields: | memory_res | The non-swapped physical RAM memory a task has used, reported by the OS (in B, KiB, MiB, GiB or TiB). | | peak_memory_res | Peak RAM memory usage in the system during the whole run. | | unreleased_delta_objects | The current number of still allocated objects with the information about the changes that write transactions have made, called Delta objects. Refer to allocation and deallocation of Delta objects [on this page](/fundamentals/storage-memory-usage#in-memory-transactional-storage-mode-default). | -| disk_usage | The amount of disk space used by the data directory (in B, KiB, MiB, GiB or TiB). | -| memory_tracked | The amount of RAM allocated in the system and tracked by Memgraph (in B, KiB, MiB, GiB or TiB).
For more info, check out [memory control](/fundamentals/storage-memory-usage). | -| graph_memory_tracked | The portion of `memory_tracked` used by graph structures (vertices, edges, properties). | -| vector_index_memory_tracked | The portion of `memory_tracked` used by vector index embeddings. | -| allocation_limit | The current allocation limit set for this instance (in B, KiB, MiB, GiB or TiB).
For more info, check out the [memory control](/fundamentals/storage-memory-usage#control-memory-usage). | +| global_disk_usage | The amount of disk space used by the data directory (in B, KiB, MiB, GiB or TiB). | +| global_memory_tracked | The total amount of RAM allocated in the system and tracked by Memgraph (in B, KiB, MiB, GiB or TiB).
For more info, check out [memory control](/fundamentals/storage-memory-usage). | +| graph_memory_tracked | The portion of `global_memory_tracked` used by graph structures (vertices, edges, properties). | +| vector_index_memory_tracked | The portion of `global_memory_tracked` used by vector index embeddings. | +| global_runtime_allocation_limit | The instance-level memory limit, taken from the [`--memory-limit`](/configuration/configuration-settings) flag (in B, KiB, MiB, GiB or TiB).
For more info, check out the [memory control](/fundamentals/storage-memory-usage#control-memory-usage). | +| global_license_allocation_limit | The memory limit imposed by the active license, or `"unlimited"` if no license is active. With an `enterprise` license this gates total tracked memory; with an `ai_platform` license it gates only `graph_memory_tracked`. See [License types](/database-management/enabling-memgraph-enterprise#license-types). | | global_isolation_level | The current `global` isolation level.
For more info, check out [isolation levels](/fundamentals/transactions#isolation-levels). | | session_isolation_level | The current `session` isolation level. | | next_session_isolation_level | The current `next` isolation level. | @@ -63,7 +64,7 @@ SHOW LICENSE INFO; | organization_name | Organization name for the enterprise license. | | license_key | Encoded license key. | | is_valid | Whether the license is currently valid. Uses the same validation logic as enterprise feature checks. | -| license_type | Enterprise / OEM | +| license_type | One of `enterprise`, `ai_platform`, or `oem`. See [License types](/database-management/enabling-memgraph-enterprise#license-types). | | valid_until | Date when the license expires, or `FOREVER` for non-expiring licenses. | | memory_limit | Memory limit (in GiB). | | status | Descriptive status of the license validity. | diff --git a/pages/fundamentals/storage-memory-usage.mdx b/pages/fundamentals/storage-memory-usage.mdx index a46a18d05..daa9552e6 100644 --- a/pages/fundamentals/storage-memory-usage.mdx +++ b/pages/fundamentals/storage-memory-usage.mdx @@ -769,11 +769,12 @@ SHOW STORAGE INFO; | "memory_res" | "43.16MiB" | | "peak_memory_res" | "43.16MiB" | | "unreleased_delta_objects" | 0 | -| "disk_usage" | "104.46KiB" | -| "memory_tracked" | "8.52MiB" | -| "graph_memory_tracked" | "6.14MiB" | -| "vector_index_memory_tracked" | "2.38MiB" | -| "allocation_limit" | "58.55GiB" | +| "global_disk_usage" | "104.46KiB" | +| "global_memory_tracked" | "8.52MiB" | +| "graph_memory_tracked" | "6.14MiB" | +| "vector_index_memory_tracked" | "2.38MiB" | +| "global_runtime_allocation_limit" | "58.55GiB" | +| "global_license_allocation_limit" | "unlimited" | | "global_isolation_level" | "SNAPSHOT_ISOLATION" | | "session_isolation_level" | "" | | "next_session_isolation_level" | "" | diff --git a/pages/querying/vector-search.mdx b/pages/querying/vector-search.mdx index e7ce04be7..e494ebd46 100644 --- a/pages/querying/vector-search.mdx +++ b/pages/querying/vector-search.mdx @@ -248,7 +248,11 @@ Two fields are relevant: - `graph_memory_tracked` — memory used by graph structures (vertices, edges, properties). - `vector_index_memory_tracked` — memory used by vector index embeddings stored in the index backend. -Together, these two fields sum to `memory_tracked` (the total tracked allocation). The instance-level `--memory-limit` applies to the combined total: if inserting a vector would exceed the limit, Memgraph throws a `Memory limit exceeded` error. +Together, these two fields sum to `global_memory_tracked` (the total tracked allocation). The instance-level [`--memory-limit`](/configuration/configuration-settings) applies to the combined total: if inserting a vector would exceed the limit, Memgraph throws a `Memory limit exceeded` error. + + +With the [AI Platform license](/database-management/enabling-memgraph-enterprise#license-types), the license-imposed memory limit gates only `graph_memory_tracked`. Vector index memory grows up to the system `--memory-limit`, so embedding storage does not consume the licensed graph capacity. Both limits are visible in `SHOW STORAGE INFO` as `global_license_allocation_limit` and `global_runtime_allocation_limit`. + Deleting vertices or removing a vector property from nodes does **not** free `vector_index_memory_tracked`. However, that memory is reused when new vectors are inserted into the same index, so the reserved capacity is not wasted. Memory is fully released only when the entire index is dropped with `DROP VECTOR INDEX`. From 966e43225a4d0c77288f7967836a9be0a092c0de Mon Sep 17 00:00:00 2001 From: DavIvek Date: Wed, 29 Apr 2026 11:04:19 +0200 Subject: [PATCH 2/4] Match SHOW STORAGE INFO example to new emission order Limits now appear before the graph/vector breakdown. --- pages/fundamentals/storage-memory-usage.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/fundamentals/storage-memory-usage.mdx b/pages/fundamentals/storage-memory-usage.mdx index daa9552e6..9a9a87f88 100644 --- a/pages/fundamentals/storage-memory-usage.mdx +++ b/pages/fundamentals/storage-memory-usage.mdx @@ -771,10 +771,10 @@ SHOW STORAGE INFO; | "unreleased_delta_objects" | 0 | | "global_disk_usage" | "104.46KiB" | | "global_memory_tracked" | "8.52MiB" | -| "graph_memory_tracked" | "6.14MiB" | -| "vector_index_memory_tracked" | "2.38MiB" | | "global_runtime_allocation_limit" | "58.55GiB" | | "global_license_allocation_limit" | "unlimited" | +| "graph_memory_tracked" | "6.14MiB" | +| "vector_index_memory_tracked" | "2.38MiB" | | "global_isolation_level" | "SNAPSHOT_ISOLATION" | | "session_isolation_level" | "" | | "next_session_isolation_level" | "" | From 6f6f925cc052de056dfc82a50fd34f1e10d59201 Mon Sep 17 00:00:00 2001 From: DavIvek Date: Wed, 29 Apr 2026 11:54:14 +0200 Subject: [PATCH 3/4] Drop SHOW STORAGE INFO field-rename docs and grace-period note Those land in a separate PR. This PR now focuses on the AI Platform license type only. --- .../enabling-memgraph-enterprise.mdx | 19 +++++-------------- pages/database-management/server-stats.md | 11 +++++------ pages/fundamentals/storage-memory-usage.mdx | 11 +++++------ pages/querying/vector-search.mdx | 4 ++-- 4 files changed, 17 insertions(+), 28 deletions(-) diff --git a/pages/database-management/enabling-memgraph-enterprise.mdx b/pages/database-management/enabling-memgraph-enterprise.mdx index cbfea4416..94a0cd24f 100644 --- a/pages/database-management/enabling-memgraph-enterprise.mdx +++ b/pages/database-management/enabling-memgraph-enterprise.mdx @@ -59,10 +59,7 @@ memory limit is applied. The license type for the active license is reported by [`SHOW LICENSE INFO`](/database-management/server-stats#license-information) -under the `license_type` field, and `SHOW STORAGE INFO` exposes both the -license-imposed limit (`global_license_allocation_limit`) and the system -`--memory-limit` (`global_runtime_allocation_limit`) so you can see which one -is active. +under the `license_type` field. The AI Platform license is intended for vector-heavy workloads (RAG, similarity search, AI/ML pipelines) where the embedding storage typically @@ -131,16 +128,10 @@ To check the used storage, run `SHOW STORAGE INFO;`. ## License key expiry -Memgraph applies a **24-hour grace period** before treating a license as -expired: the license remains valid for 24 hours past its `valid_until` -timestamp, so a brief delay in rotating keys does not immediately disable -Enterprise features. - -Once the grace period also passes, the enterprise features will be disabled, -but the data stored in the database will remain intact. You will still be -able to add more data, but any enterprise features that require specific -actions will no longer function. For example, you will not be able to create -any new databases. +Once the license key expires, the enterprise features will be disabled, but the +data stored in the database will remain intact. You will still be able to add +more data, but any enterprise features that require specific actions will no +longer function. For example, you will not be able to create any new databases. ## Switching between Community and Enterprise editions diff --git a/pages/database-management/server-stats.md b/pages/database-management/server-stats.md index 8d52a70a1..d6fc66acd 100644 --- a/pages/database-management/server-stats.md +++ b/pages/database-management/server-stats.md @@ -38,12 +38,11 @@ The result will contain the following fields: | memory_res | The non-swapped physical RAM memory a task has used, reported by the OS (in B, KiB, MiB, GiB or TiB). | | peak_memory_res | Peak RAM memory usage in the system during the whole run. | | unreleased_delta_objects | The current number of still allocated objects with the information about the changes that write transactions have made, called Delta objects. Refer to allocation and deallocation of Delta objects [on this page](/fundamentals/storage-memory-usage#in-memory-transactional-storage-mode-default). | -| global_disk_usage | The amount of disk space used by the data directory (in B, KiB, MiB, GiB or TiB). | -| global_memory_tracked | The total amount of RAM allocated in the system and tracked by Memgraph (in B, KiB, MiB, GiB or TiB).
For more info, check out [memory control](/fundamentals/storage-memory-usage). | -| graph_memory_tracked | The portion of `global_memory_tracked` used by graph structures (vertices, edges, properties). | -| vector_index_memory_tracked | The portion of `global_memory_tracked` used by vector index embeddings. | -| global_runtime_allocation_limit | The instance-level memory limit, taken from the [`--memory-limit`](/configuration/configuration-settings) flag (in B, KiB, MiB, GiB or TiB).
For more info, check out the [memory control](/fundamentals/storage-memory-usage#control-memory-usage). | -| global_license_allocation_limit | The memory limit imposed by the active license, or `"unlimited"` if no license is active. With an `enterprise` license this gates total tracked memory; with an `ai_platform` license it gates only `graph_memory_tracked`. See [License types](/database-management/enabling-memgraph-enterprise#license-types). | +| disk_usage | The amount of disk space used by the data directory (in B, KiB, MiB, GiB or TiB). | +| memory_tracked | The amount of RAM allocated in the system and tracked by Memgraph (in B, KiB, MiB, GiB or TiB).
For more info, check out [memory control](/fundamentals/storage-memory-usage). | +| graph_memory_tracked | The portion of `memory_tracked` used by graph structures (vertices, edges, properties). | +| vector_index_memory_tracked | The portion of `memory_tracked` used by vector index embeddings. | +| allocation_limit | The current allocation limit set for this instance (in B, KiB, MiB, GiB or TiB).
For more info, check out the [memory control](/fundamentals/storage-memory-usage#control-memory-usage). | | global_isolation_level | The current `global` isolation level.
For more info, check out [isolation levels](/fundamentals/transactions#isolation-levels). | | session_isolation_level | The current `session` isolation level. | | next_session_isolation_level | The current `next` isolation level. | diff --git a/pages/fundamentals/storage-memory-usage.mdx b/pages/fundamentals/storage-memory-usage.mdx index 9a9a87f88..a46a18d05 100644 --- a/pages/fundamentals/storage-memory-usage.mdx +++ b/pages/fundamentals/storage-memory-usage.mdx @@ -769,12 +769,11 @@ SHOW STORAGE INFO; | "memory_res" | "43.16MiB" | | "peak_memory_res" | "43.16MiB" | | "unreleased_delta_objects" | 0 | -| "global_disk_usage" | "104.46KiB" | -| "global_memory_tracked" | "8.52MiB" | -| "global_runtime_allocation_limit" | "58.55GiB" | -| "global_license_allocation_limit" | "unlimited" | -| "graph_memory_tracked" | "6.14MiB" | -| "vector_index_memory_tracked" | "2.38MiB" | +| "disk_usage" | "104.46KiB" | +| "memory_tracked" | "8.52MiB" | +| "graph_memory_tracked" | "6.14MiB" | +| "vector_index_memory_tracked" | "2.38MiB" | +| "allocation_limit" | "58.55GiB" | | "global_isolation_level" | "SNAPSHOT_ISOLATION" | | "session_isolation_level" | "" | | "next_session_isolation_level" | "" | diff --git a/pages/querying/vector-search.mdx b/pages/querying/vector-search.mdx index e494ebd46..0b505bac4 100644 --- a/pages/querying/vector-search.mdx +++ b/pages/querying/vector-search.mdx @@ -248,10 +248,10 @@ Two fields are relevant: - `graph_memory_tracked` — memory used by graph structures (vertices, edges, properties). - `vector_index_memory_tracked` — memory used by vector index embeddings stored in the index backend. -Together, these two fields sum to `global_memory_tracked` (the total tracked allocation). The instance-level [`--memory-limit`](/configuration/configuration-settings) applies to the combined total: if inserting a vector would exceed the limit, Memgraph throws a `Memory limit exceeded` error. +Together, these two fields sum to `memory_tracked` (the total tracked allocation). The instance-level `--memory-limit` applies to the combined total: if inserting a vector would exceed the limit, Memgraph throws a `Memory limit exceeded` error. -With the [AI Platform license](/database-management/enabling-memgraph-enterprise#license-types), the license-imposed memory limit gates only `graph_memory_tracked`. Vector index memory grows up to the system `--memory-limit`, so embedding storage does not consume the licensed graph capacity. Both limits are visible in `SHOW STORAGE INFO` as `global_license_allocation_limit` and `global_runtime_allocation_limit`. +With the [AI Platform license](/database-management/enabling-memgraph-enterprise#license-types), the license-imposed memory limit gates only `graph_memory_tracked`. Vector index memory grows up to the system `--memory-limit`, so embedding storage does not consume the licensed graph capacity. From aead98c0ef0b3abc3dd73991446f4e3b1aac99f7 Mon Sep 17 00:00:00 2001 From: DavIvek Date: Wed, 29 Apr 2026 11:57:41 +0200 Subject: [PATCH 4/4] Use actual license_type values returned by SHOW LICENSE INFO --- pages/database-management/server-stats.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/database-management/server-stats.md b/pages/database-management/server-stats.md index d6fc66acd..1b8e71b54 100644 --- a/pages/database-management/server-stats.md +++ b/pages/database-management/server-stats.md @@ -63,7 +63,7 @@ SHOW LICENSE INFO; | organization_name | Organization name for the enterprise license. | | license_key | Encoded license key. | | is_valid | Whether the license is currently valid. Uses the same validation logic as enterprise feature checks. | -| license_type | One of `enterprise`, `ai_platform`, or `oem`. See [License types](/database-management/enabling-memgraph-enterprise#license-types). | +| license_type | `enterprise` / `ai_platform` / `oem` | | valid_until | Date when the license expires, or `FOREVER` for non-expiring licenses. | | memory_limit | Memory limit (in GiB). | | status | Descriptive status of the license validity. |