From d1434706609b131608c743f2273caef1bbfe3770 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina Date: Tue, 28 Oct 2025 12:19:15 +0100 Subject: [PATCH 1/4] Clarify migration paths between store formats --- .../tools/neo4j-admin/migrate-database.adoc | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc index aab61ff02..b10055715 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc @@ -12,6 +12,28 @@ A migration to a higher `MAJOR` format version or another format is a manual act The store format for new databases can be set with the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] configuration setting. +The below table shows supported migration paths between different Neo4j store formats. +However, the `standard` and `high_limit` store formats are deprecated starting with Neo4j 5.23, meaning that migration to these formats is not recommended from this version onward. + + +.Migration paths between Neo4j store formats +[options="noheader"] +|=== +.2+.>|*Store format* 4+^|*Migration paths* + |Block label:enterprise[EE] |Aligned label:community[CE] |High_limit label:enterprise[EE] label:deprecated[Deprecated in 5.23] |Standard label:community[CE] label:deprecated[Deprecated in 5.23] + +|Block label:enterprise[EE] | ^|{check-mark} |{check-mark} Not recommended |{check-mark} Not recommended + +|Aligned label:community[CE] ^|{check-mark} | |{check-mark} Not recommended | + +|High_limit label:enterprise[EE] label:deprecated[Deprecated in 5.23] ^|{check-mark} | | | + +|Standard label:community[CE] label:deprecated[Deprecated in 5.23] ^|{check-mark} ^|{check-mark} |{check-mark} Not recommended | +|=== + +Before migrating from `block` to the `aligned` format, you have to ensure that your graph fits in the `aligned` since the `block` format has higher limits. +For details, see xref:database-internals/store-formats.adoc#store-formats-entity-limits[Database internals and transactional behavior -> Store formats]. + == Syntax The `neo4j-admin database migrate` has the following syntax: From 5e568227f5e620bd45b4d94c2af021408939c518 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina Date: Tue, 28 Oct 2025 14:57:02 +0100 Subject: [PATCH 2/4] some additions --- .../ROOT/pages/database-internals/store-formats.adoc | 6 ++++-- .../pages/tools/neo4j-admin/migrate-database.adoc | 12 ++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/ROOT/pages/database-internals/store-formats.adoc b/modules/ROOT/pages/database-internals/store-formats.adoc index 4528ab88c..2a97e1894 100644 --- a/modules/ROOT/pages/database-internals/store-formats.adoc +++ b/modules/ROOT/pages/database-internals/store-formats.adoc @@ -9,7 +9,7 @@ Starting from 5.23, `block` format is the recommended format for Enterprise Edit `aligned` is the recommended format for Community Edition. `standard` and `high_limit` formats are deprecated starting from Neo4j 5.23. -It is not recommended to use these formats for new databases. +It is not recommended to use these formats for new databases or to migrate to them. For more information on the deprecation and timeline for the eventual removal of these formats, see <>. [NOTE] @@ -81,7 +81,9 @@ The last version of Neo4j to include these formats will be an LTS release planne + . *How can I change the store format of my database?* + For information on changing the store format of an existing database, see <>. - ++ +. *From which store formats can I migrate, and to which formats?* + +For information about supported migration paths, refer to xref:tools/neo4j-admin/migrate-database.adoc#supported-migration-paths[Neo4j Admin -> Migrate a database]. [role="enterprise-edition"] [[how-to-set-store-format]] diff --git a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc index b10055715..63643eec8 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc @@ -15,20 +15,20 @@ The store format for new databases can be set with the xref:configuration/config The below table shows supported migration paths between different Neo4j store formats. However, the `standard` and `high_limit` store formats are deprecated starting with Neo4j 5.23, meaning that migration to these formats is not recommended from this version onward. - +[[supported-migration-paths]] .Migration paths between Neo4j store formats [options="noheader"] |=== .2+.>|*Store format* 4+^|*Migration paths* - |Block label:enterprise[EE] |Aligned label:community[CE] |High_limit label:enterprise[EE] label:deprecated[Deprecated in 5.23] |Standard label:community[CE] label:deprecated[Deprecated in 5.23] + ^|To `block` ^|To `aligned` ^|To `high_limit` ^|To `standard` -|Block label:enterprise[EE] | ^|{check-mark} |{check-mark} Not recommended |{check-mark} Not recommended +|`block` footnote:1[The `block` format is the default format for Enterprise Edition starting from 5.22.] | |{check-mark} Not recommended |{check-mark} Not recommended |{check-mark} Not recommended -|Aligned label:community[CE] ^|{check-mark} | |{check-mark} Not recommended | +|`aligned` footnote:2[The `aligned` format is the default format for Community Edition and for Enterprise Edition prior 5.22.] ^|{check-mark} | |{check-mark} Not recommended | -|High_limit label:enterprise[EE] label:deprecated[Deprecated in 5.23] ^|{check-mark} | | | +|`high_limit` footnote:3[label:enterprise[Enterprise Edition] The `high_limit` format is deprecated in 5.23.] ^|{check-mark} | | | -|Standard label:community[CE] label:deprecated[Deprecated in 5.23] ^|{check-mark} ^|{check-mark} |{check-mark} Not recommended | +|`standard` footnote:4[label:community[Community Edition] The `standard` format is deprecated in 5.23.] ^|{check-mark} ^|{check-mark} |{check-mark} Not recommended | |=== Before migrating from `block` to the `aligned` format, you have to ensure that your graph fits in the `aligned` since the `block` format has higher limits. From de43428cdacc410f2235715b8432d8d445d0819e Mon Sep 17 00:00:00 2001 From: Natalia Ivakina Date: Wed, 29 Oct 2025 10:22:11 +0100 Subject: [PATCH 3/4] further additions --- .../database-internals/store-formats.adoc | 24 ++++++++++++------- .../tools/neo4j-admin/migrate-database.adoc | 4 ++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/database-internals/store-formats.adoc b/modules/ROOT/pages/database-internals/store-formats.adoc index 2a97e1894..885c5c990 100644 --- a/modules/ROOT/pages/database-internals/store-formats.adoc +++ b/modules/ROOT/pages/database-internals/store-formats.adoc @@ -6,7 +6,7 @@ Neo4j's storage engine supports several store formats that describe how data is Starting from 5.23, `block` format is the recommended format for Enterprise Edition due to its superior performance and scalability. `block` format uses advanced data structures and inlining techniques to enhance data locality, which leads to better resource utilization. -`aligned` is the recommended format for Community Edition. +`aligned` is the default format for Community Edition starting with Neo4j 5.0. `standard` and `high_limit` formats are deprecated starting from Neo4j 5.23. It is not recommended to use these formats for new databases or to migrate to them. @@ -33,6 +33,9 @@ Supports the highest limits at the time of writing. See <> for details. + label:new[Introduced in 5.25] Supports token names (including label, property key, and relationship type names) of any length up to the GQL identifier max length of 16,383 characters. * *Future-proofing:* Designed to be extended and improved without requiring store migrations. New features such as data types, or performance enhancements are available without rewriting the store. +* *Supported migration paths to other store formats:* Although it is not recommended, you can change your store format from `block` to `aligned`, `high_limit`, or `standard`. +Note that `high_limit` and `standard` formats are deprecated. +The `aligned` format has lower limits than `block`, so your graph must fit within those reduced limits. Aligned:: * Default format in Community Edition and for all new databases in Enterprise Edition prior to Neo4j 5.22. @@ -41,13 +44,8 @@ Aligned:: * *Property access:* Stores graph data in linked list-like structures on disk. * *Entity limits:* Supports graphs within some limits. See <> for details. - -Standard:: label:deprecated[Deprecated in 5.23] -* *Performance:* Basic, foundational format. -* *Property access:* Stores graph data in linked list-like structures on disk. -* *Entity limits:* Supports graphs within some limits. -See <> for details. -* For information on deprecation and eventual removal, see <>. +* *Supported migration paths to other store formats:* You can change your store format from `aligned` to `block` or `high_limit`. +Note that the `high_limit` format is deprecated, therefore, it is not recommended to migrate to it. High_limit:: label:enterprise-edition[] label:deprecated[Deprecated in 5.23] * *Performance:* Performs slightly worse than `standard` and requires more disk space, but allows more nodes and relationships. @@ -56,6 +54,16 @@ High_limit:: label:enterprise-edition[] label:deprecated[Deprecated in 5.23] * *Entity limits:* From the record formats, supports the highest limits at the time of writing. For more information, see <>. * For information on deprecation and eventual removal, see <>. +* *Supported migration paths to other store formats:* You can migrate to the `block` format only. + +Standard:: label:deprecated[Deprecated in 5.23] +* *Performance:* Basic, foundational format. +* *Property access:* Stores graph data in linked list-like structures on disk. +* *Entity limits:* Supports graphs within some limits. +See <> for details. +* For information on deprecation and eventual removal, see <>. +* *Supported migration paths to other store formats:* You can change your store format from `standard` to `aligned`, `block`, or `high_limit`. +However, it is not recommended to migrate to the `high_limit` format as it is deprecated. [[format-deprecations]] == Format deprecations diff --git a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc index 63643eec8..4769d7fcb 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc @@ -22,9 +22,9 @@ However, the `standard` and `high_limit` store formats are deprecated starting w .2+.>|*Store format* 4+^|*Migration paths* ^|To `block` ^|To `aligned` ^|To `high_limit` ^|To `standard` -|`block` footnote:1[The `block` format is the default format for Enterprise Edition starting from 5.22.] | |{check-mark} Not recommended |{check-mark} Not recommended |{check-mark} Not recommended +|`block` footnote:1[The `block` format is the default format in Enterprise Edition starting from 5.22.] | |{check-mark} Not recommended |{check-mark} Not recommended |{check-mark} Not recommended -|`aligned` footnote:2[The `aligned` format is the default format for Community Edition and for Enterprise Edition prior 5.22.] ^|{check-mark} | |{check-mark} Not recommended | +|`aligned` footnote:2[The `aligned` format is the default format in Community Edition and for Enterprise Edition prior 5.22.] ^|{check-mark} | |{check-mark} Not recommended | |`high_limit` footnote:3[label:enterprise[Enterprise Edition] The `high_limit` format is deprecated in 5.23.] ^|{check-mark} | | | From de17c45769c3c06e6799c59190b36330fa7c543d Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 29 Oct 2025 10:36:16 +0100 Subject: [PATCH 4/4] Apply suggestions from code review --- modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc index 4769d7fcb..4a62c1d4e 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc @@ -22,9 +22,9 @@ However, the `standard` and `high_limit` store formats are deprecated starting w .2+.>|*Store format* 4+^|*Migration paths* ^|To `block` ^|To `aligned` ^|To `high_limit` ^|To `standard` -|`block` footnote:1[The `block` format is the default format in Enterprise Edition starting from 5.22.] | |{check-mark} Not recommended |{check-mark} Not recommended |{check-mark} Not recommended +|`block` footnote:1[The `block` format is the default in Enterprise Edition starting from Neo4j 5.22.] | |{check-mark} Not recommended |{check-mark} Not recommended |{check-mark} Not recommended -|`aligned` footnote:2[The `aligned` format is the default format in Community Edition and for Enterprise Edition prior 5.22.] ^|{check-mark} | |{check-mark} Not recommended | +|`aligned` footnote:2[The `aligned` format is the default in Community Edition. In Enterprise Edition, it was default before Neo4j 5.22.] ^|{check-mark} | |{check-mark} Not recommended | |`high_limit` footnote:3[label:enterprise[Enterprise Edition] The `high_limit` format is deprecated in 5.23.] ^|{check-mark} | | |