Index: oak-doc/src/site/markdown/nodestore/segment/overview.md IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/oak-doc/src/site/markdown/nodestore/segment/overview.md b/oak-doc/src/site/markdown/nodestore/segment/overview.md --- a/oak-doc/src/site/markdown/nodestore/segment/overview.md (revision fa54797c66e262d07e6e139526855ae8cb800bd1) +++ b/oak-doc/src/site/markdown/nodestore/segment/overview.md (date 1623436985530) @@ -46,7 +46,7 @@ * *Locality*. Segments are written so that related records, like a node and its immediate children, usually end up stored in the same segment. This makes tree traversals very fast and avoids most cache misses for typical clients that access more than one related node per session. -The content tree and all its revisions are stored in a collection of immutable *records* within *segments*. Each segment is identified by a UUID and typically contains a continuous subset of the content tree, for example a node with its properties and closest child nodes. Some segments might also be used to store commonly occurring property values or other shared data. Segments can be to up to 256KiB in size. See [Segments and records](records.html) for a detailed description of the segments and records. +The content tree and all its revisions are stored in a collection of immutable *records* within *segments*. Each segment is identified by a UUID and typically contains a continuous subset of the content tree, for example a node with its properties and closest child nodes. Some segments might also be used to store commonly occurring property values or other shared data. Segments can be up to 256KiB in size. See [Segments and records](records.html) for a detailed description of the segments and records. Segments are collectively stored in *tar files* and check-summed to ensure their integrity. Tar files also contain an index of the tar segments, the graph of segment references of all segments it contains and an index of all external binaries referenced from the segments in the tar file. See [Structure of TAR files](tar.html) for details. @@ -278,7 +278,7 @@ ##### How does compaction deal with checkpoints? -Since checkpoints share a lot of common data between themselves and between the actual content compaction handles them individually deduplicating as much content as possible. The following messages will be printed to the log during the process. +Since checkpoints share a lot of common data between themselves and between the actual content, compaction handles them individually, deduplicating as much content as possible. The following messages will be printed to the log during the process. ``` TarMK GC #2: Found checkpoint 4b2ee46a-d7cf-45e7-93c3-799d538f85e6 created at Wed Nov 29 15:31:43 CET 2017. Index: oak-doc/src/site/markdown/nodestore/segment/records.md IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/oak-doc/src/site/markdown/nodestore/segment/records.md b/oak-doc/src/site/markdown/nodestore/segment/records.md --- a/oak-doc/src/site/markdown/nodestore/segment/records.md (revision fa54797c66e262d07e6e139526855ae8cb800bd1) +++ b/oak-doc/src/site/markdown/nodestore/segment/records.md (date 1623436911433) @@ -239,14 +239,14 @@ an integer field and a record identifier pointing to a bucket. - +--------+--------+--------+-----+ - | sub-list ID 1 | ... | - +--------+--------+--------+-----+ - | - v - +--------+--------+--------+-----+--------+--------+--------+ - | record ID 1 | ... | record ID 255 | - +--------+--------+--------+-----+--------+--------+--------+ + +--------+--------+--------+-----+ + | sub-list ID 1 | ... | + +--------+--------+--------+-----+ + | + v + +--------+--------+--------+-----+--------+--------+--------+ + | record ID 1 | ... | record ID 255 | + +--------+--------+--------+-----+--------+--------+--------+ The result is a hierarchically stored immutable list where each element can be accessed in O(log N) time and the size overhead of updating or