Commit dbb2a4f2 authored by John Esmet's avatar John Esmet Committed by Yoni Fogel

close [t:4372] Dr. Noga system comment updated. Topics include insertions,...

close [t:4372] Dr. Noga system comment updated. Topics include insertions, flushing a child, basement nodes, point and range queries with bulk fetch and prefetching, flusher threads on the cachetable kibbutz, and the cleaner thread.


git-svn-id: file:///svn/toku/tokudb@39544 c7de825b-a66e-492c-adef-691d508d4ae1
parent 6d1565ea
...@@ -92,18 +92,25 @@ Split_or_merge (node, childnum) { ...@@ -92,18 +92,25 @@ Split_or_merge (node, childnum) {
} }
} }
Here's how querying works:
lookups: lookups:
- As of Dr. No, we don't do any tree shaping on lookup. - As of Dr. No, we don't do any tree shaping on lookup.
- We don't promote eagerly or use aggressive promotion or passive-aggressive - We don't promote eagerly or use aggressive promotion or passive-aggressive
promotion. We just push messages down according to the traditional BRT promotion. We just push messages down according to the traditional BRT
algorithm on insertions. algorithm on insertions.
- when a node is brought into memory, we apply ancestor messages above it. - when a node is brought into memory, we apply ancestor messages above it.
basement nodes, bulk fetch, and partial fetch:
- leaf nodes are comprised of N basement nodes, each of nominal size. when
a query hits a leaf node. it may require one or more basement nodes to be in memory.
- for point queries, we do not read the entire node into memory. instead, - for point queries, we do not read the entire node into memory. instead,
we only read in the required basement node we only read in the required basement node
- for range queries, cursors may return cursor continue in their callback - for range queries, cursors may return cursor continue in their callback
to take a shortcut path to the next row in the basement node. to take a the shortcut path until the end of the basement node.
- for range queries, cursors that prelock a range benefit from - for range queries, cursors may prelock a range of keys (with or without a txn).
internal prefetching of nodes within that range. the fractal tree will prefetch nodes aggressively until the end of the range.
- without a prelocked range, range queries behave like successive point queries.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment