Database Reference
In-Depth Information
Unclean shutdown usually refers to the scenario where a Neo4j instance has crashed unex-
pectedly. It can also refer to situations where Neo4j was intentionally shut down, but the
keypointisthatNeo4jwasnotallowedtoperformitsusualcleanupactivities forwhatever
reason. When an unclean shutdown occurs, the following warning message can generally
be seen in the logs the next time the database is started up— non clean shutdown
detected .
WhenNeo4jstartsup,thefirstthingitwilldoisconsultthemostrecenttransactionlogand
replay all of the transactions found against the actual store files. There's a possibility that
these transactions will already have been applied to the store (remember that the OS con-
trols when the filesystem cache is flushed to disk—this may or may not have happened).
Replaying these transaction again isn't a problem, however, as these actions are deemed to
be idempotent —the changes can be applied multiple times without resulting in a different
result in the graph.
Once the Neo4j instance has started up, its store files will have been fully recovered and
contain all the transactions up to and including the last commit—and you're ready to con-
tinue!
Besides aiding with transactions and recoverability, the transaction log also serves as the
basis upon which the HA functionality is built—the ability to run Neo4j in a clustered
setup.
11.1.6. Programmatic APIs
At the very top of the Neo4j architectural stack are the three primary APIs (Cypher,
Traversal, and Core), which are used to access and manipulate data within Neo4j (see fig-
ure 11.1 ) .PreviouschaptershavecoveredtheseAPIsin-depthsowewon'tbecoveringthat
ground again.
Technically, there isn't any operational aspect to these APIs; there are no specific settings
to tune these APIs in the same way as, for example, the caches. They do form part of the
overall Neo4j architecture that you're touring, so they get a special mention here.
Search WWH ::




Custom Search