changeset 33:5c154df2a4d7

commit
author tatsuki
date Mon, 13 Feb 2017 13:17:57 +0900
parents edda4302866b
children 5707345bb98c
files slide/images/compareDBbigJson.svg slide/slide.html
diffstat 2 files changed, 212 insertions(+), 234 deletions(-) [+]
line wrap: on
line diff
--- a/slide/images/compareDBbigJson.svg	Mon Feb 13 06:17:40 2017 +0900
+++ b/slide/images/compareDBbigJson.svg	Mon Feb 13 13:17:57 2017 +0900
@@ -1,192 +1,161 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   viewBox="0 0 1056 816"
-   height="816"
-   width="1056"
-   xml:space="preserve"
-   id="svg2"
-   version="1.1"><metadata
-     id="metadata8"><rdf:RDF><cc:Work
-         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-     id="defs6"><clipPath
-       id="clipPath14"
-       clipPathUnits="userSpaceOnUse"><path
-         id="path12"
-         d="M 0,0 H 612 V 792 H 0 Z" /></clipPath><clipPath
-       id="clipPath24"
-       clipPathUnits="userSpaceOnUse"><path
-         id="path22"
-         d="M 0,0 H 612 V 792 H 0 Z" /></clipPath></defs><g
-     clip-path="url(#clipPath14)"
-     transform="matrix(0,1.3333333,1.3333333,0,0,0)"
-     id="g10"><g
-       id="g16" /><g
-       id="g18"><g
-         clip-path="url(#clipPath24)"
-         id="g20"><path
-           id="path26"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 494.9,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text30"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,499.57,119.2163)"><tspan
-             id="tspan28"
-             y="0"
-             x="0">0</tspan></text>
-<path
-           id="path32"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 423.6,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text36"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,428.27,95.8579)"><tspan
-             id="tspan34"
-             y="0"
-             x="0 7.7839999 15.568 23.351999">5000</tspan></text>
-<path
-           id="path38"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 352.3,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text42"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,356.97,88.0717)"><tspan
-             id="tspan40"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">10000</tspan></text>
-<path
-           id="path44"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 280.9,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text48"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,285.57,88.0717)"><tspan
-             id="tspan46"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">15000</tspan></text>
-<path
-           id="path50"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 209.6,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text54"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,214.27,88.0717)"><tspan
-             id="tspan52"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">20000</tspan></text>
-<path
-           id="path56"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 138.2,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text60"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,142.87,88.0717)"><tspan
-             id="tspan58"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">25000</tspan></text>
-<path
-           id="path62"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 66.9,135.4 v 6.3 m 0,603 v -6.3" /><text
-           id="text66"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,71.57,88.0717)"><tspan
-             id="tspan64"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">30000</tspan></text>
-<path
-           id="path68"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 509.2,208.4 h -6.3 m -436,0 h 6.3" /><text
-           id="text72"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,527.87,194.775)"><tspan
-             id="tspan70"
-             y="0"
-             x="0 7.7839999 15.568 23.351999">5000</tspan></text>
-<path
-           id="path74"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 509.2,343.8 h -6.3 m -436,0 h 6.3" /><text
-           id="text78"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,527.87,326.2819)"><tspan
-             id="tspan76"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">10000</tspan></text>
-<path
-           id="path80"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 509.2,479.2 h -6.3 m -436,0 h 6.3" /><text
-           id="text84"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,527.87,461.6819)"><tspan
-             id="tspan82"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">15000</tspan></text>
-<path
-           id="path86"
-           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 509.2,614.6 h -6.3 m -436,0 h 6.3" /><text
-           id="text90"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,527.87,597.0819)"><tspan
-             id="tspan88"
-             y="0"
-             x="0 7.7839999 15.568 23.351999 31.136">20000</tspan></text>
-<path
-           id="path92"
-           style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="M 66.9,135.4 H 509.2 V 744.7 H 66.9 Z" /><text
-           id="text96"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(-1,0,0,1,315.3173,65.87)"><tspan
-             id="tspan94"
-             y="0"
-             x="0 3.892 7 18.662001 26.445999 31.108 42.77 49.77">time(ms)</tspan></text>
-<text
-           id="text100"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,548.87,411.5967)"><tspan
-             id="tspan98"
-             y="0"
-             x="0 7 14 21.784 29.568001 38.905998 42.014 49.014">JsonSize</tspan></text>
-<text
-           id="text104"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,84.8,473.5443)"><tspan
-             id="tspan102"
-             y="0"
-             x="0 4.9699998 8.0780001 15.862 23.646 31.43 34.537998 42.321999 50.875999 53.984001 61.768002 69.552002 78.889999 86.674004 94.458 101.458 109.242 120.904 128.688 133.35001 140.35001 145.32001 149.21201 156.996 163.996 167.104 174.888 182.672 186.564 194.34801 198.24001">&quot;jungleFindBenchMark&quot; using 1:2</tspan></text>
-<path
-           id="path106"
-           style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="m 80.2,688 v 39.9 M 494.9,135.4 v 270.8 l -0.1,67.7 0.1,67.7 v 203.1" /><text
-           id="text110"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,98.8,475.8891)"><tspan
-             id="tspan108"
-             y="0"
-             x="0 4.9699998 16.632 24.416 32.200001 39.984001 48.537998 51.646 59.43 67.213997 76.552002 84.335999 92.120003 99.120003 106.904 118.566 126.35 131.01199 138.01199 142.98199 146.87399 154.658 161.658 164.76601 172.55 180.334 184.226 192.00999 195.90199">&quot;mongFindBenchMark&quot; using 1:2</tspan></text>
-<path
-           id="path112"
-           style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:20, 30;stroke-dashoffset:0;stroke-opacity:1"
-           d="m 94.2,688 v 39.9 m 362.7,-592.5 -4.5,67.7 -5.6,67.7 -4.2,67.7 -2.8,67.7 -3.5,67.7 -4.5,67.7 -5.4,67.7 -3.4,67.7 -2.9,67.7" /><text
-           id="text116"
-           style="font-variant:normal;font-weight:normal;font-size:14px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-           transform="matrix(0,1,1,0,112.8,457.2133)"><tspan
-             id="tspan114"
-             y="0"
-             x="0 4.9699998 12.754 20.538 27.538 31.43 39.214001 43.875999 51.66 58.66 67.213997 70.321999 78.106003 85.889999 95.227997 103.012 110.796 117.796 125.58 137.242 145.026 149.688 156.688 161.658 165.55 173.334 180.334 183.442 191.226 199.00999 202.90199 210.686 214.578">&quot;postgresFindBenchMark&quot; using 1:2</tspan></text>
-<path
-           id="path118"
-           style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:10, 15;stroke-dashoffset:0;stroke-opacity:1"
-           d="m 108.2,688 v 39.9 m 330.4,-592.5 -36.6,67.7 -62.6,67.7 -30.9,67.7 -29.7,67.7 -40.8,67.7 -31.3,67.7 -30.2,67.7 -27.3,67.7 -44,67.7" /><path
-           id="path120"
-           style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
-           d="M 66.9,135.4 H 509.2 V 744.7 H 66.9 Z" /></g></g></g></svg>
\ No newline at end of file
+<?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 
+ width="600" height="480"
+ viewBox="0 0 600 480"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.0 patchlevel 5 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="480" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5'/>
+	<path id='gpPt0' stroke-width='0.222' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.222' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.222' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.222' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.222' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.222' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.222' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.222' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,409.3 L97.5,409.3 M575.0,409.3 L566.0,409.3  '/>	<g transform="translate(80.2,413.2)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,343.9 L97.5,343.9 M575.0,343.9 L566.0,343.9  '/>	<g transform="translate(80.2,347.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 5000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,278.4 L97.5,278.4 M575.0,278.4 L566.0,278.4  '/>	<g transform="translate(80.2,282.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 10000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,213.0 L97.5,213.0 M575.0,213.0 L566.0,213.0  '/>	<g transform="translate(80.2,216.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 15000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,147.6 L97.5,147.6 M575.0,147.6 L566.0,147.6  '/>	<g transform="translate(80.2,151.5)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 20000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,82.1 L97.5,82.1 M575.0,82.1 L566.0,82.1  '/>	<g transform="translate(80.2,86.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 25000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,16.7 L97.5,16.7 M575.0,16.7 L566.0,16.7  '/>	<g transform="translate(80.2,20.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 30000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M146.8,422.4 L146.8,413.4 M146.8,16.7 L146.8,25.7  '/>	<g transform="translate(146.8,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" > 5000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M254.9,422.4 L254.9,413.4 M254.9,16.7 L254.9,25.7  '/>	<g transform="translate(254.9,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" > 10000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M363.0,422.4 L363.0,413.4 M363.0,16.7 L363.0,25.7  '/>	<g transform="translate(363.0,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" > 15000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M471.1,422.4 L471.1,413.4 M471.1,16.7 L471.1,25.7  '/>	<g transform="translate(471.1,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" > 20000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,16.7 L88.5,422.4 L575.0,422.4 L575.0,16.7 L88.5,16.7 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(17.0,219.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >time(ms)</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(331.7,471.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >JsonSize</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	<g id="gnuplot_plot_1" ><title>"Jungle" using 1:2</title>
+<g fill="none" color="white" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(507.9,38.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text>"Jungle" using 1:2</text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='rgb(148,   0, 211)'  d='M516.2,34.7 L558.4,34.7 M88.5,409.3 L142.6,409.3 L196.6,409.3 L250.7,409.2 L304.7,409.3 L358.8,409.2
+		L412.8,409.3 L466.9,409.2 L520.9,409.3 L575.0,409.3  '/></g>
+	</g>
+	<g id="gnuplot_plot_2" ><title>"MongoDB" using 1:2</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(507.9,56.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text>"MongoDB" using 1:2</text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='rgb(  0, 158, 115)'  d='M516.2,52.7 L558.4,52.7 M88.5,373.0 L142.6,367.2 L196.6,364.4 L250.7,363.3 L304.7,361.4 L358.8,357.3
+		L412.8,354.4 L466.9,349.0 L520.9,342.7 L575.0,339.8  '/></g>
+	</g>
+	<g id="gnuplot_plot_3" ><title>"PostgreSQL" using 1:2</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(507.9,74.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text>"PostgreSQL" using 1:2</text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="10.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='rgb( 86, 180, 233)'  d='M516.2,70.7 L558.4,70.7 M88.5,357.7 L142.6,324.1 L196.6,266.7 L250.7,238.3 L304.7,211.1 L358.8,173.7
+		L412.8,144.9 L466.9,117.3 L520.9,92.2 L575.0,51.8  '/></g>
+	</g>
+<g fill="none" color="white" stroke="rgb( 86, 180, 233)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M88.5,16.7 L88.5,422.4 L575.0,422.4 L575.0,16.7 L88.5,16.7 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+
--- a/slide/slide.html	Mon Feb 13 06:17:40 2017 +0900
+++ b/slide/slide.html	Mon Feb 13 13:17:57 2017 +0900
@@ -127,9 +127,9 @@
 <h1>データベースのトランザクションとデータ構造のギャップ</h1>
 <font size=5>
 <p>データベースには、複数のレコードをアップデートするときに、整合性を維持する仕組みとしてトランザクションがある。</p>
-<p>データ構造には並行処理ようにスレッドセーフなものが用意されている。</p>
-<p>しかし、複数のスレッドセーフなデータ構造はアクセスするときに整合性を維持するトランザクションを自分で用意する必要があり、標準的なものは用意されていない。</p>
-<p>特に複数のリストや木構造に対してトランザクションが必要になってきている。</p>
+<p>データ構造には並行処理用にスレッドセーフなものが用意されている。</p>
+<p>しかし、複数のスレッドセーフなデータ構造は、アクセスするときに整合性を維持するトランザクションを自分で用意する必要があり、標準的なものは用意されていない。</p>
+<p>特に複数のリストや木構造に対してのトランザクションが必要になってきている。</p>
 </font>
 </div>
 
@@ -203,9 +203,11 @@
 </div>
 
 <div>
-<h1>JungleのTransaction</h1>
+<h1>Jungleのトランザクション</h1>
 <font size=5>
 <p>データの変更は一度生成した木を上書きせず、ルートから変更を行うノードまでコピーを行い、新しく木構造を構築する。</p>
+<p>木の変更に関係ないノードは参照を行い過去の木と共有する。</p>
+<p>そして新しい木構造に変更を加える。</p>
 <p>最後にルートをアトミックに入れ替えてCommitする。</p>
 <p>他のThreadとCommitが競合し失敗した場合は最初からやり直す。</p>
 <!--<embed src="images/non_destructive_tree.svg" width="800" height="500"/>
@@ -214,7 +216,14 @@
 </div>
 
 <div>
-<h1>Jungleの木</h1>
+<h1>非破壊的木構造の編集例</h1>
+<font size=5>
+<embed src="images/non_destructive_tree.svg" width="800" height="500"/>
+</font>
+</div>
+
+<div>
+<h1>名前による木の生成、取得</h1>
 <font size=5>
 <p>Jungleは木を名前で生成、管理している。</p>
 
@@ -245,15 +254,15 @@
 
 
 <div>
-<h1>NodePath</h1>
+<h1>[-1,1,2,3]を指し示す例</h1>
 <embed src="images/nodepath.svg" width="800" height="500"/>
 </div>
 
 
 <div>
-<h1>Jungleの木の編集</h1>
+<h1>Jungleのノードの編集</h1>
 <font size=5>
-<p>Jungleの木の編集はJungleTreeEditorを用いて行われる。</p>
+<p>Jungleのノードの編集はJungleTreeEditorを用いて行われる。</p>
 
 <p>JungleTreeEditorには編集を行うためのAPIが実装されている。</p>
 
@@ -278,7 +287,9 @@
 }
 </code></pre>
 </div>
+<p>Queryは、検索の条件を記述する関数conditionを持つ。</p>
 
+<p>conditionは、引数で受け取ったノードが条件に一致するならtrueを、一致しないならfalseを返す。</p>
 </font>
 </div>
 
@@ -319,12 +330,12 @@
 
 <div>
 <font size=5>
-<h1>非破壊TreeMapによるJungleのIndex</h1>
+<h1>非破壊赤黒木によるJungleのIndex</h1>
 <p>Jungleは過去の版の木を全て保持している。</p>
 <p>過去の木に対する検索もサポートしている。</p>
 <p>木の版毎にIndexを持っている必要がある。</p>
-<p>従来は破壊的TreeMapでIndexを実現しており、木に更新が入るたびに新しいIndexをO(n)で作り直す必要があった。</p>
-<p>実装した非破壊TreeMapでIndexを実装することにより、更新をO(log n)で行うことができるようになった。
+<p>従来は破壊的赤黒木でIndexを実現しており、木に更新が入るたびに新しいIndexをO(n)で作り直す必要があった。</p>
+<p>実装した非破壊赤黒木でIndexを実装することにより、更新をO(log n)で行うことができるようになった。
 また、変更されない部分は過去の版と共有されるので、メモリ効率も改良された。
 </font>
 </div>
@@ -404,9 +415,10 @@
 <div style="padding: 10px; margin-bottom: 10px; border: 5px double #333333;">
 <pre><code class="language-Java"> JungleTree createNewDifferenceTree(String treeName);
 </code></pre>
+</div>
 <p>createNewDifferenceTreeは、第一引数で指定した名前の差分木を構築する。</p>
-
-</div>
+<p>差分木の取得に関しては既存の木と同じように行える。</p>
+<p>既存の木、差分木ともにJungleTreeInterfaceを実装しているからである。</p>
 </font>
 </div>
 
@@ -423,7 +435,7 @@
 
 <div>
 <font size=5>
-<h1>Differential Jungle Treeの編集の例</h1>
+<h1>差分木の編集の例</h1>
 <embed src="images/EditDifferencialTree.svg" width="800" height="450"/>
 <p></p>
 </font>
@@ -432,11 +444,11 @@
 
 <div>
 <font size=5>
-<h1>Differential Jungle Treeの整合性</h1>
-<p>Default Jungle TreeへCommitは編集後の木のルートをAtomicに入れ替えることで行う。</p>
-<p>しかしDifferential Jungle Treeは、ルートの入れ替えと、Editorが持つ木構造の末尾ノードへのAppendの2つのプロセスからなる。</p>
-<p>ルートの入れ替えに関しては、Default Jungle Treeと同じように行う。</p>
-<p>Editorが持っている木構造の末尾ノードへのAppendは、ルートの入れ替えに成功した場合のみ行う。</p>
+<h1>差分木の整合性</h1>
+<p>既存のJungleTreeへのCommitは編集後の木のルートをAtomicに入れ替えることで行う。</p>
+<p>しかし差分木は、ルートの入れ替えと、Sub Treeの末尾ノードへのAppendの2つのプロセスからなる。</p>
+<p>ルートの入れ替えに関しては、既存のJungle Treeと同じように行う。</p>
+<p>Sub Treeの末尾ノードへのAppendは、ルートの入れ替えに成功した場合のみ行う。</p>
 <p>そうすることで、別Threadで行われているCommitと競合した際に、ルートを入れ替えたThreadと別ThreadがAppendを行い木の整合性が崩れることを回避している。</p>
 </font>
 </div>
@@ -483,13 +495,12 @@
 <font size=5>
 <h1>Jungleの評価</h1>
 <ol>
-<li>Jungleに新しく追加した機能の性能測定を行う。</li><br>
-<li>新しく実装したTreeMapとFunctionalJavaのTreeMap</li><br>
-<li>IndexのFullアップデートと差分アップデート</li><br>
-<li>Default Jungle TreeとDefferential Jungle Tree</li><br>
-<li>Default Jungle Tree と Red Black Jungle Tree</li><br>
-<li>最後に既存のDBであるPostgreSQLとMongoDBとJungleの比較を行う。</li><br>
+<li>測定対象はPostgreSQLとMongoDBとJungle</li>
+<li>データベースに対する10000回の検索速度の比較を行う。</li><br>
+<li>Json形式で100人分のデータを格納する。</li><br>
+<li>1人あたりのデータの大きさを変更する。</li>
 </ol>
+<p></p>
 </font>
 </div>
 
@@ -577,39 +588,37 @@
 -->
 
 <div>
-<font size=5>
-<h1>既存のDBとJungleの比較</h1>
-<p>比較対象はMongoDBとPostgreSQLを選択した。</p>
-<p>PostgreSQLはJson形式でデータを格納している。</p>
-<p>データの検索速度を比較した。</p>
-<embed src="images/compareDBbigJson.svg" width="800" height="500"/>
+<font size=4>
+<p>グラフのX軸は、データ1件あたりのJSONのサイズ。</p>
+<p>グラフのY軸は、検索にかかった時間を表している。</p>
+<embed src="images/compareDBbigJson.svg" width="700" height="460"/>
 </font>
 </div>
 
 <div>
 <font size=5>
 <h1>既存のDBとJungleの比較の考察</h1>
-<p>MongoDBとPostgreSQLは、プログラム外にあるデータベースに通信を用いてアクセスしている。</p>
-<p>Jungleは、メモリの中にデータを持ち通信を使わずデータにアクセスできる。</p>
-<p>期待通りの性能が出た。</p>
+<p>PostgreSQLは、JSONのサイズが大きくなると性能が落ちる。一方、MongoDBとJungleはJSONのサイズが変わっても性能はあまり落ちない。</p>
+<p>PostgreSQLのIndexは、JSONのサイズには対応していなかった。</p>
+<p>MongoDBとJungleの性能差の理由としては、通信の有無が原因と考えられる。</p>
+<p>MongoDBは通信を介してデータにアクセスしているのに対して、Jungleはプログラムの中にデータを持つため通信を行わずにデータにアクセスできている。</p>
 </font>
 </div>
 
 
 
 <div>
-<font size=5>
+<font size=4>
 <h1>まとめ</h1>
 <p>Jungleの性能を向上させるために新たな要素を追加した。</p>
 <ol>
-<li>高速な非破壊赤黒木の実装(O(log n))</li><br>
-<li>検索APIの実装(卒論時)</li><br>
-<li>Indexの差分アップデート(O(log n))</li><br>
-<li>線形リストの高速化(O(1))</li><br>
-<li>Jungle Tree自体のバランス化による大きな木の扱い(O(log n))</li><br>
+<li>高速な非破壊赤黒木の実装</li><br>
+<li>検索APIの実装</li><br>
+<li>Indexの差分アップデート)</li><br>
+<li>線形リストの高速化</li><br>
+<li>Jungle Tree自体のバランス化による大きな木の扱い</li><br>
 </ol>
-<p>実装後の測定では、全てが既存の木と比べて高速に動いていた。</p>
-<p>また、Jungleは既存のDBと比較しても、極めて高速な検索が行えることがわかった。</p>
+<p>Jungleは既存のDBと比較しても、極めて高速な検索が行えることがわかった。</p>
 </font>
 </div>