2022-12-23 18:44:59 -05:00
<?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">
2024-01-28 21:29:28 +08:00
<svg xmlns= "http://www.w3.org/2000/svg" xmlns:xl= "http://www.w3.org/1999/xlink" xmlns:dc= "http://purl.org/dc/elements/1.1/" version= "1.1" viewBox= "6 194 693 361" width= "693" height= "361" >
2022-12-23 18:44:59 -05:00
<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= "-1 -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>
<marker orient= "auto" overflow= "visible" markerUnits= "strokeWidth" id= "FilledArrow_Marker_3" stroke-linejoin= "miter" stroke-miterlimit= "10" viewBox= "-1 -3 6 6" markerWidth= "6" markerHeight= "6" color= "#7f8080" >
<g >
<path d= "M 3.7333333 0 L 0 -1.4 L 0 1.4 Z" fill= "currentColor" stroke= "currentColor" stroke-width= "1" />
</g>
</marker>
</defs>
2024-01-28 21:29:28 +08:00
<g id= "00-lsm-read-flow" stroke-dasharray= "none" stroke-opacity= "1" fill= "none" fill-opacity= "1" stroke= "none" >
2022-12-23 18:44:59 -05:00
<title > 00-lsm-read-flow</title>
<rect fill= "white" x= "6" y= "194" width= "693" height= "361" />
<g id= "00-lsm-read-flow_Layer_1" >
<title > Layer 1</title>
<g id= "Graphic_30" >
<rect x= "81.5" y= "329" width= "386" height= "188" fill= "white" />
<rect x= "81.5" y= "329" width= "386" height= "188" stroke= "gray" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
</g>
<g id= "Graphic_29" >
<rect x= "128.292" y= "358.5" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "128.292" y= "358.5" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(133.292 370.026)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Graphic_28" >
<text transform= "translate(90 370.026)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "6394885e-19" y= "15" > L0</tspan>
</text>
</g>
<g id= "Graphic_27" >
<rect x= "128.5" y= "410.026" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "128.5" y= "410.026" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(133.5 421.552)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Graphic_26" >
<rect x= "201.09484" y= "410.026" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "201.09484" y= "410.026" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(206.09484 421.552)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Graphic_25" >
<text transform= "translate(90.208 421.552)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "6394885e-19" y= "15" > L1</tspan>
</text>
</g>
<g id= "Graphic_24" >
<rect x= "200.88684" y= "461.552" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "200.88684" y= "461.552" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(205.88684 473.078)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Graphic_23" >
<rect x= "273.48168" y= "461.552" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "273.48168" y= "461.552" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(278.48168 473.078)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Graphic_22" >
<text transform= "translate(90 473.078)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "6394885e-19" y= "15" > Ln</tspan>
</text>
</g>
<g id= "Graphic_21" >
<rect x= "128.292" y= "461.552" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "128.292" y= "461.552" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(133.292 473.078)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Graphic_20" >
<rect x= "346.07652" y= "461.552" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "346.07652" y= "461.552" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(351.07652 473.078)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "11.445159" y= "15" > SST</tspan>
</text>
</g>
<g id= "Line_19" >
<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_18" >
<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_17" >
<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_16" >
<rect x= "128.5" y= "245.974" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "128.5" y= "245.974" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(133.5 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_15" >
<rect x= "201.09484" y= "245.974" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "201.09484" y= "245.974" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(206.09484 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_14" >
<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_13" >
<rect x= "530.95384" y= "365.026" width= "62.81032" height= "41.5" fill= "white" />
<rect x= "530.95384" y= "365.026" width= "62.81032" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(535.95384 376.552)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "9.557159" y= "15" > WAL</tspan>
</text>
</g>
<g id= "Graphic_12" >
<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_11" >
<line x1= "562.359" y1= "280.5" x2= "562.359" y2= "355.126" marker-end= "url(#FilledArrow_Marker)" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
</g>
<g id= "Line_10" >
<line x1= "159.8668" y1= "287.474" x2= "159.75381" y2= "348.6" marker-end= "url(#FilledArrow_Marker)" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
</g>
<g id= "Line_9" >
<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 id= "Line_5" >
<path d= "M 436.92997 383.00897 C 436.92997 383.00897 456.93 404.82856 456.93 434.00897 C 456.93 452.75967 448.67184 468.88394 442.76857 478.01486" marker-end= "url(#FilledArrow_Marker)" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
</g>
<g id= "Graphic_3" >
<rect x= "511.8359" y= "475.5" width= "101.04616" height= "41.5" fill= "white" />
<rect x= "511.8359" y= "475.5" width= "101.04616" height= "41.5" stroke= "black" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
<text transform= "translate(516.8359 487.026)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "14.851079" y= "15" > Manifest</tspan>
</text>
</g>
<g id= "Line_2" >
<line x1= "467.5" y1= "472.1117" x2= "502.2417" y2= "480.95225" marker-end= "url(#FilledArrow_Marker_2)" stroke= "#7f8080" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "1" />
</g>
<g id= "Line_31" >
<line x1= "110.41992" y1= "227.974" x2= "338.68008" y2= "227.974" marker-end= "url(#FilledArrow_Marker_3)" stroke= "#7f8080" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "3" />
</g>
<g id= "Graphic_32" >
<text transform= "translate(45 199)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "216005e-17" y= "15" > 1. Find the key-value pair in all memtables (new to old)</tspan>
</text>
</g>
<g id= "Line_33" >
<line x1= "63" y1= "364.5" x2= "63" y2= "501.1" marker-end= "url(#FilledArrow_Marker_3)" stroke= "#7f8080" stroke-linecap= "round" stroke-linejoin= "round" stroke-width= "3" />
</g>
<g id= "Graphic_34" >
<text transform= "translate(36.340004 531)" fill= "black" >
<tspan font-family= "Helvetica Neue" font-size= "16" fill= "black" x= "34674486e-19" y= "15" > 2. Find the key-value pair in SSTs (top layer to bottom layer)</tspan>
</text>
</g>
</g>
</g>
</svg>