Skip to content
7 changes: 6 additions & 1 deletion modules/ROOT/pages/database-internals/checkpointing.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
[[checkpointing-log-pruning]]
= Checkpointing and log pruning

[NOTE]
====
For information on checkpointing and log pruning in Neo4j 4.4, refer to link:https://neo4j.com/docs/operations-manual/4.4/configuration/configuration-settings/#_checkpoint_settings[Configuration settings -> Checkpoint settings] and link:https://neo4j.com/docs/operations-manual/4.4/configuration/transaction-logs/#transaction-logging-log-pruning[Transaction log -> Log pruning] respectively.
====

Checkpointing is the process of flushing all pending updates from volatile memory to non-volatile data storage.
This action is crucial to limit the number of transactions that need to be replayed during the recovery process, particularly to minimize the time required for recovery after an improper shutdown of the database or a crash.

Expand Down Expand Up @@ -154,4 +159,4 @@ https://neo4j.com/docs/operations-manual/current/monitoring/metrics/reference/#m
neo4j.check_point.duration.csv
neo4j.check_point.total_time.csv
neo4j.check_point.events.csv
....
....
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@

== Isolation levels

[NOTE]
====
For information on Neo4j 4.4, see link:https://neo4j.com/docs/java-reference/4.4/transaction-management/#transactions-isolation[Java Reference -> Isolation levels].
====

Neo4j supports the following isolation levels:

_read-committed isolation level_:: label:default[] A transaction that reads a node/relationship does not block another transaction from writing to that node/relationship before the first transaction finishes.
Expand Down
8 changes: 7 additions & 1 deletion modules/ROOT/pages/database-internals/index.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
= Database internals and transactional behavior
:description: Database internals and transactional behavior

[NOTE]
====
For information on Neo4j 4.4, see link:https://neo4j.com/docs/java-reference/4.4/transaction-management/[Java Reference 4.4 -> Transaction management].
====

To maintain data integrity and ensure reliable transactional behavior, Neo4j DBMS supports transactions with full ACID properties, and it uses a write-ahead transaction log to ensure durability.

* **Atomicity** -- If a part of a transaction fails, the database state is left unchanged.
Expand All @@ -24,4 +29,5 @@ The following sections describe the transactional behavior in detail and how to
* xref:database-internals/concurrent-data-access.adoc[]
* xref:database-internals/transaction-logs.adoc[]
* xref:database-internals/checkpointing.adoc[]
* xref:database-internals/store-formats.adoc[]
* xref:database-internals/store-formats.adoc[]

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@

== Transactions

[NOTE]
====
For information on Neo4j 4.4, refer to link:https://neo4j.com/docs/java-reference/4.4/transaction-management/[Java Reference -> Transaction management].
====

Database operations that access the graph, indexes, or schema are performed in a transaction to ensure the ACID properties.
Transactions are single-threaded, confined, and independent.
Multiple transactions can be started in a single thread and they are independent of each other.
Expand Down