directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r1545189 - in /directory/site/trunk/content/mavibot/user-guide: 7.2-physical-storage.mdtext 7.3-serializations.mdtext images/ug-btree-has-prev.graphml images/ug-btree-has-prev.png
Date Mon, 25 Nov 2013 09:41:51 GMT
Author: elecharny
Date: Mon Nov 25 09:41:50 2013
New Revision: 1545189

URL: http://svn.apache.org/r1545189
Log:
added a page and some images

Added:
    directory/site/trunk/content/mavibot/user-guide/7.3-serializations.mdtext
    directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.graphml
    directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.png   (with props)
Modified:
    directory/site/trunk/content/mavibot/user-guide/7.2-physical-storage.mdtext

Modified: directory/site/trunk/content/mavibot/user-guide/7.2-physical-storage.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/mavibot/user-guide/7.2-physical-storage.mdtext?rev=1545189&r1=1545188&r2=1545189&view=diff
==============================================================================
--- directory/site/trunk/content/mavibot/user-guide/7.2-physical-storage.mdtext (original)
+++ directory/site/trunk/content/mavibot/user-guide/7.2-physical-storage.mdtext Mon Nov 25
09:41:50 2013
@@ -1,8 +1,10 @@
 Title: 7.2 - Physical storage
-NavUp: ../user-guide.html
-NavUpText: User Guide
+NavUp: 7-btree-internals.html
+NavUpText: 7 - Mavibot Internals
 NavPrev: 7.1-logical-structure.html
 NavPrevText: 7.1 - Logical Structure
+NavNext: 7.3-serializations.html
+NavNextText: 7.3 - Serializations
 Notice: Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
@@ -144,6 +146,3 @@ It does not need more space to serialize
 
 The gain is that we can have access to a given key and value without having to read all the
previous keys and values. Also we can now read a leaf or a node without having to deserialize
all the keys and values they contain.
 
-## Page serialization
-
-We serialize *Node* and *Leaf* differently on disk, as seen in a previois paragraph.

Added: directory/site/trunk/content/mavibot/user-guide/7.3-serializations.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/mavibot/user-guide/7.3-serializations.mdtext?rev=1545189&view=auto
==============================================================================
--- directory/site/trunk/content/mavibot/user-guide/7.3-serializations.mdtext (added)
+++ directory/site/trunk/content/mavibot/user-guide/7.3-serializations.mdtext Mon Nov 25 09:41:50
2013
@@ -0,0 +1,76 @@
+Title: 7.3 - Serializations
+NavUp: 7-btree-internals.html
+NavUpText: 7 - Mavibot Internals
+NavPrev: 7.2-physical-storage.html
+NavPrevText: 7.2 - Physical storage
+Notice: Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    .
+    http://www.apache.org/licenses/LICENSE-2.0
+    .
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+# 7.3 - Serializations
+
+The logical pages are serialized before being stored on physical pages. This is a process
that should obviously be reversible. W will describe in this chapter how we serialize **Leaf**
and **Node**.
+
+## Leaf serialization
+
+A **Leaf** contains some medata data, and a set of keys and values. A key can have many values,
and we have as many keys as values. That being said, let's describe the internal format of
a serialized leaf :
+
+<pre>
+    +----------------------------------+
+    | revision (long)                  | 8 bytes
+    +----------------------------------+
+    | nbElems (int)                    | 4 bytes
+    +----------------------------------+
+    | dataSize (int)                   | 4 bytes = sum[0..nbElems]( valueLength, keyLength
) + 8 x nbElems
+    +----------------------------------+
+    | +------------------------------+ |
+    | | valueLength[0] (int)         | | 4 bytes \
+    | +------------------------------+ |           > n+4 bytes
+    | | value[0] (byte[])            | | n bytes /
+    | +------------------------------+ |
+    | | keyLength[0] (int)           | | 4 bytes \
+    | +------------------------------+ |           > n+4 bytes
+    | | key[0] (byte[])              | | n bytes /
+    | +------------------------------+ |
+    ...                              ...
+    | +------------------------------+ |
+    | | valueLength[nbElems-1] (int) | | 4 bytes \
+    | +------------------------------+ |           > n+4 bytes
+    | | value[nbElems-1] (byte[])    | | n bytes /
+    | +------------------------------+ |
+    | | keyLength[nbElems-1] (int)   | | 4 bytes \
+    | +------------------------------+ |           > n+4 bytes
+    | | key[nbElems-1] (byte[])      | | n bytes /
+    | +------------------------------+ |
+    +----------------------------------+
+
+</pre>
+
+We keep the length of each serialized key and value just because we need to provide a complete
byte[] to the key or value deserializer (ie, the exact number of bytes needed to be able to
deserialize the key or the value).
+
+The _dataSize_ value is used so that we can know how many bytes we will have to read - thus
the number of physical pages to read - in order to get a full page.
+
+## Leaf deserialization
+
+On the other way, when we deserialize a leaf, we won't deserialize the keys and the values
(it would be too expensive, if the leaf is discarded from memory immediately, when we only
need to read one single key and value). We thus keep the byte[] form of each keys and each
values, which will be deserialized on demand.
+
+We use two data structures to store a key and a value :
+* a _KeyHolder_ for the key
+* a _ValueHolder_ for the value
+
+### KeyHolder
+
+### ValueHolder
\ No newline at end of file

Added: directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.graphml
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.graphml?rev=1545189&view=auto
==============================================================================
--- directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.graphml (added)
+++ directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.graphml Mon Nov
25 09:41:50 2013
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+  <!--Created by yFiles for Java 2.11-->
+  <key for="graphml" id="d0" yfiles.type="resources"/>
+  <key for="port" id="d1" yfiles.type="portgraphics"/>
+  <key for="port" id="d2" yfiles.type="portgeometry"/>
+  <key for="port" id="d3" yfiles.type="portuserdata"/>
+  <key attr.name="url" attr.type="string" for="node" id="d4"/>
+  <key attr.name="description" attr.type="string" for="node" id="d5"/>
+  <key for="node" id="d6" yfiles.type="nodegraphics"/>
+  <key attr.name="Description" attr.type="string" for="graph" id="d7"/>
+  <key attr.name="url" attr.type="string" for="edge" id="d8"/>
+  <key attr.name="description" attr.type="string" for="edge" id="d9"/>
+  <key for="edge" id="d10" yfiles.type="edgegraphics"/>
+  <graph edgedefault="directed" id="G">
+    <data key="d7"/>
+    <node id="n0">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="44.0625" x="577.5687499999991" y="467.5636627906969"/>
+          <y:Fill color="#C0C0C0" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="38.482421875" x="2.7900390625"
y="6.5224609375">before<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n1">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="621.6312499999992" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.27685546875" x="-2.4091277343750335"
y="6.5224609375">&lt;A, vA1&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n2">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="29.899224806201524" width="91.92499999999995" x="553.6374999999991"
y="383.47000000000037"/>
+          <y:Fill color="#FF99CC" transparent="false"/>
+          <y:BorderStyle hasColor="false" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="86.59130859375" x="2.6668457031249773"
y="6.472073340600787">hasPrev : FALSE<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n3">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="29.899224806201524" width="83.125" x="621.6312499999991"
y="432.56193798449505"/>
+          <y:Fill hasColor="false" transparent="false"/>
+          <y:BorderStyle hasColor="false" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="73.2978515625" x="4.91357421875"
y="6.472073340600787">Tuple Cursor<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:StyleProperties>
+            <y:Property class="java.lang.Boolean" name="ModernNodeShadow" value="false"/>
+          </y:StyleProperties>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n4">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="673.0898499999994" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.27685546875" x="-2.4091277343750335"
y="6.5224609375">&lt;A, vA2&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n5">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="724.5484499999995" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.27685546875" x="-2.4091277343750335"
y="6.5224609375">&lt;A, vA3&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n6">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="776.0070499999997" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.27685546875" x="-2.4091277343750335"
y="6.5224609375">&lt;A, vA4&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n7">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="827.4656499999999" y="467.5636627906969"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="46.796875" x="2.3308624999999665"
y="6.5224609375">&lt;B, vB&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n8">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="878.92425" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.31982421875" x="-2.4306121093750335"
y="6.5224609375">&lt;C, vC1&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n9">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="930.3828500000002" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.31982421875" x="-2.4306121093750335"
y="6.5224609375">&lt;C, vC2&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n10">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="981.8414500000003" y="467.5636627906969"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="50.62109375" x="0.41875312499996653"
y="6.5224609375">&lt;D, vD&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n11">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45860000000005" x="1033.3000500000005" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="46.06640625" x="2.6960968749999665"
y="6.5224609375">&lt;E, vE&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n12">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45859999999993" x="1084.7586500000007" y="467.5636627906969"/>
+          <y:Fill color="#FFCC00" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="45.9375" x="2.7605499999999665"
y="6.5224609375">&lt;F, vF&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n13">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45859999999993" x="1136.2172500000006" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.99658203125" x="-2.7689910156250335"
y="6.5224609375">&lt;G, vG1&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n14">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="51.45859999999993" x="1187.6758500000005" y="467.5636627906969"/>
+          <y:Fill color="#FFFF99" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="56.99658203125" x="-2.7689910156250335"
y="6.5224609375">&lt;G, vG2&gt;<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n15">
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="30.0" width="29.232099999999946" x="1239.1344500000005"
y="467.5636627906969"/>
+          <y:Fill color="#C0C0C0" transparent="false"/>
+          <y:BorderStyle color="#800000" type="line" width="2.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="28.86279296875" x="0.18465351562508658"
y="6.5224609375">after<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n16">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="29.899224806201524" width="91.92499999999995" x="807.23245"
y="383.47000000000037"/>
+          <y:Fill color="#CCFFCC" transparent="false"/>
+          <y:BorderStyle hasColor="false" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="82.84765625" x="4.538671874999977"
y="6.472073340600787">hasPrev : TRUE<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n17">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="29.899224806201524" width="91.92499999999995" x="1207.788"
y="390.47000000000037"/>
+          <y:Fill color="#CCFFCC" transparent="false"/>
+          <y:BorderStyle hasColor="false" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="82.84765625" x="4.538671875000091"
y="6.472073340600787">hasPrev : TRUE<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n18">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="ShinyPlateNodeWithShadow">
+          <y:Geometry height="29.899224806201524" width="91.92499999999995" x="601.3980499999992"
y="544.7581007751919"/>
+          <y:Fill color="#FF99CC" transparent="false"/>
+          <y:BorderStyle hasColor="false" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog"
fontSize="11" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="16.955078125"
modelName="custom" textColor="#000000" visible="true" width="86.59130859375" x="2.666845703125091"
y="6.472073340600787">hasPrev : FALSE<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0"
nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <edge id="e0" source="n2" target="n0">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="599.5999999999991" y="452.41961240310115"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="white_delta"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e1" source="n16" target="n7">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="white_delta"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e2" source="n17" target="n15">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="white_delta"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e3" source="n18" target="n1">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="white_delta"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+  </graph>
+  <data key="d0">
+    <y:Resources/>
+  </data>
+</graphml>

Added: directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.png
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.png?rev=1545189&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/site/trunk/content/mavibot/user-guide/images/ug-btree-has-prev.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



Mime
View raw message