@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 170 704 599" width="704" height="599">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 170 704 599" width="704" height="599">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="00-full-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="00-full-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>00-full-overview</title>
|
<title>00-full-overview</title>
|
||||||
<rect fill="white" x="-5" y="170" width="704" height="599"/>
|
<rect fill="white" x="-5" y="170" width="704" height="599"/>
|
||||||
<g id="00-full-overview_Layer_1">
|
<g id="00-full-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 194 693 361" width="693" height="361">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 194 693 361" width="693" height="361">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="00-lsm-read-flow" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="00-lsm-read-flow" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>00-lsm-read-flow</title>
|
<title>00-lsm-read-flow</title>
|
||||||
<rect fill="white" x="6" y="194" width="693" height="361"/>
|
<rect fill="white" x="6" y="194" width="693" height="361"/>
|
||||||
<g id="00-lsm-read-flow_Layer_1">
|
<g id="00-lsm-read-flow_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 273" width="693" height="273">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 273" width="693" height="273">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="00-lsm-write-flow" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="00-lsm-write-flow" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>00-lsm-write-flow</title>
|
<title>00-lsm-write-flow</title>
|
||||||
<rect fill="white" x="6" y="245" width="693" height="273"/>
|
<rect fill="white" x="6" y="245" width="693" height="273"/>
|
||||||
<g id="00-lsm-write-flow_Layer_1">
|
<g id="00-lsm-write-flow_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
70
mini-lsm-book/src/lsm-tutorial/week1-01-frozen.svg
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 214 693 135" width="693" height="135">
|
||||||
|
<defs>
|
||||||
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
|
<g>
|
||||||
|
<path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
</marker>
|
||||||
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="#7f8080">
|
||||||
|
<g>
|
||||||
|
<path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<g id="week1-01-frozen" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
|
<title>week1-01-frozen</title>
|
||||||
|
<rect fill="white" x="6" y="214" width="693" height="135"/>
|
||||||
|
<g id="week1-01-frozen_Layer_1">
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="Line_37">
|
||||||
|
<line x1="7" y1="319" x2="697.696" y2="319" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_36">
|
||||||
|
<text transform="translate(12 325)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="0" y="15">On Disk</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_35">
|
||||||
|
<text transform="translate(12 296.552)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="0" y="15">In Memory</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_32">
|
||||||
|
<rect x="273.68968" y="245.974" width="73.31032" height="41.5" fill="white"/>
|
||||||
|
<rect x="273.68968" y="245.974" width="73.31032" height="41.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
<text transform="translate(278.68968 257.5)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="4.983159" y="15">Current</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_30">
|
||||||
|
<rect x="500.31726" y="252.052" width="124.08348" height="28.447998" fill="white"/>
|
||||||
|
<rect x="500.31726" y="252.052" width="124.08348" height="28.447998" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
<text transform="translate(505.31726 257.052)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="16.52974" y="15">key + value</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Line_27">
|
||||||
|
<line x1="500.31726" y1="266.3863" x2="356.9" y2="266.64124" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_38">
|
||||||
|
<rect x="195" y="245.974" width="62.81032" height="41.5" fill="white"/>
|
||||||
|
<rect x="195" y="245.974" width="62.81032" height="41.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
<text transform="translate(200 257.5)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="2.117159" y="15">Frozen</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Line_39">
|
||||||
|
<path d="M 240.73783 237.3985 C 248.2207 225.4971 258.08746 214.5 269 214.5 C 282.52838 214.5 294.045 231.40123 301.4606 245.974" marker-start="url(#FilledArrow_Marker_2)" stroke="#7f8080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_40">
|
||||||
|
<rect x="116.31032" y="245.974" width="62.81032" height="41.5" fill="white"/>
|
||||||
|
<rect x="116.31032" y="245.974" width="62.81032" height="41.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
<text transform="translate(121.31032 257.5)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="2.117159" y="15">Frozen</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 213 693 136" width="693" height="136">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 213 693 136" width="693" height="136">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-01-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-01-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-01-overview</title>
|
<title>week1-01-overview</title>
|
||||||
<rect fill="white" x="6" y="213" width="693" height="136"/>
|
<rect fill="white" x="6" y="213" width="693" height="136"/>
|
||||||
<g id="week1-01-overview_Layer_1">
|
<g id="week1-01-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
49
mini-lsm-book/src/lsm-tutorial/week1-01-single.svg
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 104" width="693" height="104">
|
||||||
|
<defs>
|
||||||
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
|
<g>
|
||||||
|
<path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<g id="week1-01-single" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
|
<title>week1-01-single</title>
|
||||||
|
<rect fill="white" x="6" y="245" width="693" height="104"/>
|
||||||
|
<g id="week1-01-single_Layer_1">
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="Line_37">
|
||||||
|
<line x1="7" y1="319" x2="697.696" y2="319" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_36">
|
||||||
|
<text transform="translate(12 325)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="0" y="15">On Disk</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_35">
|
||||||
|
<text transform="translate(12 296.552)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="0" y="15">In Memory</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_32">
|
||||||
|
<rect x="273.68968" y="245.974" width="62.81032" height="41.5" fill="white"/>
|
||||||
|
<rect x="273.68968" y="245.974" width="62.81032" height="41.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
<text transform="translate(278.68968 248.276)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="8.317159" y="15">Mem </tspan>
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="7.589159" y="33.448">Table</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Graphic_30">
|
||||||
|
<rect x="500.31726" y="252.052" width="124.08348" height="28.447998" fill="white"/>
|
||||||
|
<rect x="500.31726" y="252.052" width="124.08348" height="28.447998" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
<text transform="translate(505.31726 257.052)" fill="black">
|
||||||
|
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="16.52974" y="15">key + value</tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
<g id="Line_27">
|
||||||
|
<line x1="500.31726" y1="266.38404" x2="346.4" y2="266.65207" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 213 693 136" width="693" height="136">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 213 693 136" width="693" height="136">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-02-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-02-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-02-overview</title>
|
<title>week1-02-overview</title>
|
||||||
<rect fill="white" x="6" y="213" width="693" height="136"/>
|
<rect fill="white" x="6" y="213" width="693" height="136"/>
|
||||||
<g id="week1-02-overview_Layer_1">
|
<g id="week1-02-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 245 704 524" width="704" height="524">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 245 704 524" width="704" height="524">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-03-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-03-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-03-overview</title>
|
<title>week1-03-overview</title>
|
||||||
<rect fill="white" x="-5" y="245" width="704" height="524"/>
|
<rect fill="white" x="-5" y="245" width="704" height="524"/>
|
||||||
<g id="week1-03-overview_Layer_1">
|
<g id="week1-03-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 480" width="693" height="480">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 480" width="693" height="480">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-04-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-04-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-04-overview</title>
|
<title>week1-04-overview</title>
|
||||||
<rect fill="white" x="6" y="245" width="693" height="480"/>
|
<rect fill="white" x="6" y="245" width="693" height="480"/>
|
||||||
<g id="week1-04-overview_Layer_1">
|
<g id="week1-04-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 170 693 236" width="693" height="236">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 170 693 236" width="693" height="236">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-05-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-05-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-05-overview</title>
|
<title>week1-05-overview</title>
|
||||||
<rect fill="white" x="6" y="170" width="693" height="236"/>
|
<rect fill="white" x="6" y="170" width="693" height="236"/>
|
||||||
<g id="week1-05-overview_Layer_1">
|
<g id="week1-05-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 461 784 308" width="784" height="308">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 461 784 308" width="784" height="308">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#7f8080">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#7f8080">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-07-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-07-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-07-overview</title>
|
<title>week1-07-overview</title>
|
||||||
<rect fill="white" x="-5" y="461" width="784" height="308"/>
|
<rect fill="white" x="-5" y="461" width="784" height="308"/>
|
||||||
<g id="week1-07-overview_Layer_1">
|
<g id="week1-07-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 170 784 599" width="784" height="599">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="-5 170 784 599" width="784" height="599">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week1-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week1-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week1-overview</title>
|
<title>week1-overview</title>
|
||||||
<rect fill="white" x="-5" y="170" width="784" height="599"/>
|
<rect fill="white" x="-5" y="170" width="784" height="599"/>
|
||||||
<g id="week1-overview_Layer_1">
|
<g id="week1-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 269" width="693" height="269">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 693 269" width="693" height="269">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week2-01-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week2-01-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week2-01-overview</title>
|
<title>week2-01-overview</title>
|
||||||
<rect fill="white" x="6" y="245" width="693" height="269"/>
|
<rect fill="white" x="6" y="245" width="693" height="269"/>
|
||||||
<g id="week2-01-overview_Layer_1">
|
<g id="week2-01-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 765 268" width="765" height="268">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 245 765 268" width="765" height="268">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week2-05-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week2-05-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week2-05-overview</title>
|
<title>week2-05-overview</title>
|
||||||
<rect fill="white" x="6" y="245" width="765" height="268"/>
|
<rect fill="white" x="6" y="245" width="765" height="268"/>
|
||||||
<g id="week2-05-overview_Layer_1">
|
<g id="week2-05-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 213 693 291" width="693" height="291">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 213 693 291" width="693" height="291">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week2-06-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week2-06-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week2-06-overview</title>
|
<title>week2-06-overview</title>
|
||||||
<rect fill="white" x="6" y="213" width="693" height="291"/>
|
<rect fill="white" x="6" y="213" width="693" height="291"/>
|
||||||
<g id="week2-06-overview_Layer_1">
|
<g id="week2-06-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 156 788 358" width="788" height="358">
|
<svg xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="6 156 788 358" width="788" height="358">
|
||||||
<defs>
|
<defs>
|
||||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
|
||||||
<g>
|
<g>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
</g>
|
</g>
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="week2-overview" fill-opacity="1" stroke-dasharray="none" fill="none" stroke-opacity="1" stroke="none">
|
<g id="week2-overview" stroke-dasharray="none" fill="none" fill-opacity="1" stroke="none" stroke-opacity="1">
|
||||||
<title>week2-overview</title>
|
<title>week2-overview</title>
|
||||||
<rect fill="white" x="6" y="156" width="788" height="358"/>
|
<rect fill="white" x="6" y="156" width="788" height="358"/>
|
||||||
<g id="week2-overview_Layer_1">
|
<g id="week2-overview_Layer_1">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -37,7 +37,9 @@ Now, we will add our first data structure, the memtable, to the LSM state. In `L
|
|||||||
|
|
||||||
Taking a look at `lsm_storage.rs`, you will find there are two structures that represents a storage engine: `MiniLSM` and `LsmStorageInner`. `MiniLSM` is a thin wrapper for `LsmStorageInner`. You will implement most of the functionalities in `LsmStorageInner`, until week 2 compaction.
|
Taking a look at `lsm_storage.rs`, you will find there are two structures that represents a storage engine: `MiniLSM` and `LsmStorageInner`. `MiniLSM` is a thin wrapper for `LsmStorageInner`. You will implement most of the functionalities in `LsmStorageInner`, until week 2 compaction.
|
||||||
|
|
||||||
`LsmStorageState` stores the current structure of the LSM storage engine. For now, we will only use the `memtable` field, which stores the current memtable. In this task, you will need to implement `LsmStorageInner::get`, `LsmStorageInner::put`, and `LsmStorageInner::delete`. All of them should directly dispatch the request to the current memtable.
|
`LsmStorageState` stores the current structure of the LSM storage engine. For now, we will only use the `memtable` field, which stores the current mutable memtable. In this task, you will need to implement `LsmStorageInner::get`, `LsmStorageInner::put`, and `LsmStorageInner::delete`. All of them should directly dispatch the request to the current memtable.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
Your `delete` implementation should simply put an empty slice for that key, and we call it a *delete tombstone*. Your `get` implementation should handle this case correspondingly.
|
Your `delete` implementation should simply put an empty slice for that key, and we call it a *delete tombstone*. Your `get` implementation should handle this case correspondingly.
|
||||||
|
|
||||||
@@ -52,6 +54,8 @@ src/lsm_storage.rs
|
|||||||
src/mem_table.rs
|
src/mem_table.rs
|
||||||
```
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
A memtable cannot continuously grow in size, and we will need to freeze them (and later flush to the disk) when it reaches the size limit. You may find the memtable size limit, which is equal to the SST size limit, in the `LsmStorageOptions`. This is not a hard limit and you should freeze the memtable at best effort.
|
A memtable cannot continuously grow in size, and we will need to freeze them (and later flush to the disk) when it reaches the size limit. You may find the memtable size limit, which is equal to the SST size limit, in the `LsmStorageOptions`. This is not a hard limit and you should freeze the memtable at best effort.
|
||||||
|
|
||||||
In this task, you will need to compute the approximate memtable size when put/delete a key in the memtable. This can be computed by simply adding the total number of bytes of keys and values when `put` is called. Is a key is put twice, though the skiplist only contains the latest value, you may count it twice in the approximate memtable size. Once a memtable reaches the limit, you should call `force_freeze_memtable` to freeze the memtable and create a new one.
|
In this task, you will need to compute the approximate memtable size when put/delete a key in the memtable. This can be computed by simply adding the total number of bytes of keys and values when `put` is called. Is a key is put twice, though the skiplist only contains the latest value, you may count it twice in the approximate memtable size. Once a memtable reaches the limit, you should call `force_freeze_memtable` to freeze the memtable and create a new one.
|
||||||
|
|||||||