diff --git a/modules/ROOT/pages/database-internals/store-formats.adoc b/modules/ROOT/pages/database-internals/store-formats.adoc index 4528ab88c..885c5c990 100644 --- a/modules/ROOT/pages/database-internals/store-formats.adoc +++ b/modules/ROOT/pages/database-internals/store-formats.adoc @@ -6,10 +6,10 @@ 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. +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] @@ -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 @@ -81,7 +89,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 aab61ff02..4a62c1d4e 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. + +[[supported-migration-paths]] +.Migration paths between Neo4j store formats +[options="noheader"] +|=== +.2+.>|*Store format* 4+^|*Migration paths* + ^|To `block` ^|To `aligned` ^|To `high_limit` ^|To `standard` + +|`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 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} | | | + +|`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. +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: