rabbit-slide-kou-jpmug-db-study-1 2018.1.30.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ee8bf7a5b690a593fe127ff9c1e38e220ad60183
4
+ data.tar.gz: 275e7a583bb7dd03d09e3f1a35ef64303d859258
5
+ SHA512:
6
+ metadata.gz: 52af9a9c0c2c769d366fe73174750373edc156c786f58278479563606408d62175f886d9cf8a167a987b563768652255d5af7c46d1c47aa7509581803fb337df
7
+ data.tar.gz: d097c0d90d537a58036078c48712f871532905da7579099c70402b446bf41488f8946d4e0dccae451274e776bf992d501cd397cfe61dad5cf44d42d59740cb3e
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ mariadb-mroonga-all-languages-supported-super-fast-full-text-search-system.rab
data/README.rd ADDED
@@ -0,0 +1,52 @@
1
+ = MariaDBとMroongaで作る全言語対応超高速全文検索システム
2
+
3
+ MariaDBには超高速な全文検索を実現するMroongaストレージエンジンがバンドルされていることを知っていますか?Mroongaを使うと日本語だけでなくアジア圏の言語も含むすべての言語をサポートした超高速な全文検索システムを簡単に作ることができます。どれだけ簡単に作ることができるか紹介します。
4
+
5
+ == ライセンス
6
+
7
+ === スライド
8
+
9
+ CC BY-SA 4.0
10
+
11
+ 原著作者名は以下の通りです。
12
+
13
+ * 須藤功平(またはKouhei Sutou)
14
+
15
+ === 画像
16
+
17
+ ==== 各種Groonga関連プロダクトのロゴ
18
+
19
+ CC BY 3.0
20
+
21
+ 原著作者名は以下の通りです。
22
+
23
+ * Groongaプロジェクト
24
+
25
+ ==== それ以外
26
+
27
+ CC BY-SA 4.0
28
+
29
+ 原著作者名は以下の通りです。
30
+
31
+ * 須藤功平(またはKouhei Sutou)
32
+
33
+ == 作者向け
34
+
35
+ === 表示
36
+
37
+ rake
38
+
39
+ === 公開
40
+
41
+ rake publish
42
+
43
+ == 閲覧者向け
44
+
45
+ === インストール
46
+
47
+ gem install rabbit-slide-kou-jpmug-db-study-1
48
+
49
+ === 表示
50
+
51
+ rabbit rabbit-slide-kou-jpmug-db-study-1.gem
52
+
data/Rakefile ADDED
@@ -0,0 +1,73 @@
1
+ require "csv"
2
+
3
+ require "rabbit/task/slide"
4
+
5
+ # Edit ./config.yaml to customize meta data
6
+
7
+ spec = nil
8
+ Rabbit::Task::Slide.new do |task|
9
+ spec = task.spec
10
+ spec.files += Dir.glob("images/*.*")
11
+ # spec.files -= Dir.glob("private/**/*.*")
12
+ spec.add_runtime_dependency("rabbit-theme-groonga")
13
+ end
14
+
15
+ desc "Tag #{spec.version}"
16
+ task :tag do
17
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
18
+ sh("git", "push", "--tags")
19
+ end
20
+
21
+ crimes_csv = "crimes.csv"
22
+ file crimes_csv do |task|
23
+ sh("wget", "-O", task.name,
24
+ "https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD")
25
+ end
26
+
27
+ def sql_escape_string(string)
28
+ escaped_string = string.gsub(/'/, "''")
29
+ "'#{escaped_string}'"
30
+ end
31
+
32
+ crimes_sql = "crimes.sql"
33
+ file crimes_sql => crimes_csv do |task|
34
+ File.open(task.name, "w") do |sql|
35
+ sql.puts(<<-SQL)
36
+ DROP TABLE IF EXISTS crimes;
37
+ CREATE TABLE crimes (
38
+ id int PRIMARY KEY,
39
+ block varchar(512),
40
+ description varchar(512),
41
+ arrest boolean,
42
+ domestic boolean,
43
+ ward int,
44
+ community_area int,
45
+ year int
46
+ ) ENGINE=Mroonga;
47
+ SQL
48
+ CSV.open(task.prerequisites[0], headers: true) do |csv|
49
+ csv.each.each_slice(10000) do |rows|
50
+ sql.puts("INSERT INTO crimes VALUES")
51
+ rows.each_with_index do |row, i|
52
+ sql.puts(",") unless i.zero?
53
+ values = [
54
+ row["ID"],
55
+ sql_escape_string(row["Block"]),
56
+ sql_escape_string(row["Description"]),
57
+ row["Arrest"],
58
+ row["Domestic"],
59
+ row["Ward"] || 0,
60
+ row["Community Area"] || 0,
61
+ row["Year"],
62
+ ].join(", ")
63
+ sql.print("(#{values})")
64
+ end
65
+ sql.puts
66
+ sql.puts(";")
67
+ end
68
+ end
69
+ end
70
+ end
71
+
72
+ task "Generate data"
73
+ task :generate => crimes_sql
data/config.yaml ADDED
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: jpmug-db-study-1
3
+ base_name: mariadb-mroonga-all-languages-supported-super-fast-full-text-search-system
4
+ tags:
5
+ - rabbit
6
+ - mariadb
7
+ - mroonga
8
+ - groonga
9
+ - full-text-search
10
+ - jpmug
11
+ presentation_date: 2018-01-30
12
+ presentation_start_time: 2018-01-30T19:00:00+09:00
13
+ presentation_end_time: 2018-01-30T20:00:00+09:00
14
+ version: 2018.1.30.0
15
+ licenses:
16
+ - CC-BY-SA-4.0
17
+ - CC-BY-3.0
18
+ slideshare_id:
19
+ speaker_deck_id:
20
+ ustream_id:
21
+ vimeo_id:
22
+ youtube_id:
23
+ author:
24
+ markup_language: :rd
25
+ name: 須藤功平
26
+ email: kou@clear-code.com
27
+ rubygems_user: kou
28
+ slideshare_user: kou
29
+ speaker_deck_user:
Binary file
@@ -0,0 +1,624 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="220.20432mm"
13
+ height="113.87171mm"
14
+ viewBox="0 0 780.25151 403.48245"
15
+ id="svg2"
16
+ version="1.1"
17
+ inkscape:version="0.91 r13725"
18
+ sodipodi:docname="column-store.svg">
19
+ <defs
20
+ id="defs4" />
21
+ <sodipodi:namedview
22
+ id="base"
23
+ pagecolor="#ffffff"
24
+ bordercolor="#666666"
25
+ borderopacity="1.0"
26
+ inkscape:pageopacity="0.0"
27
+ inkscape:pageshadow="2"
28
+ inkscape:zoom="0.7071068"
29
+ inkscape:cx="668.04502"
30
+ inkscape:cy="271.79315"
31
+ inkscape:document-units="px"
32
+ inkscape:current-layer="layer1"
33
+ showgrid="false"
34
+ inkscape:window-width="1366"
35
+ inkscape:window-height="704"
36
+ inkscape:window-x="0"
37
+ inkscape:window-y="27"
38
+ inkscape:window-maximized="1"
39
+ fit-margin-top="5"
40
+ fit-margin-bottom="5"
41
+ fit-margin-left="5"
42
+ fit-margin-right="5" />
43
+ <metadata
44
+ id="metadata7">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:format>image/svg+xml</dc:format>
49
+ <dc:type
50
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51
+ <dc:title></dc:title>
52
+ </cc:Work>
53
+ </rdf:RDF>
54
+ </metadata>
55
+ <g
56
+ inkscape:label="レイヤー 1"
57
+ inkscape:groupmode="layer"
58
+ id="layer1"
59
+ transform="translate(93.034971,-46.321779)">
60
+ <text
61
+ xml:space="preserve"
62
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
63
+ x="37.470554"
64
+ y="90.069565"
65
+ id="text8070"
66
+ sodipodi:linespacing="125%"><tspan
67
+ sodipodi:role="line"
68
+ id="tspan8072"
69
+ x="37.470554"
70
+ y="90.069565">カラム</tspan></text>
71
+ <text
72
+ xml:space="preserve"
73
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
74
+ x="-253.87207"
75
+ y="-48.630936"
76
+ id="text8074"
77
+ sodipodi:linespacing="125%"
78
+ transform="matrix(0,-1,1,0,0,0)"><tspan
79
+ sodipodi:role="line"
80
+ id="tspan8076"
81
+ x="-253.87207"
82
+ y="-48.630936">行</tspan></text>
83
+ <text
84
+ xml:space="preserve"
85
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
86
+ x="21.302296"
87
+ y="132.48473"
88
+ id="text8078"
89
+ sodipodi:linespacing="125%"><tspan
90
+ sodipodi:role="line"
91
+ id="tspan8080"
92
+ x="21.302296"
93
+ y="132.48473">a</tspan></text>
94
+ <text
95
+ xml:space="preserve"
96
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
97
+ x="75.77713"
98
+ y="135.68472"
99
+ id="text8082"
100
+ sodipodi:linespacing="125%"><tspan
101
+ sodipodi:role="line"
102
+ id="tspan8084"
103
+ x="75.77713"
104
+ y="135.68472">b</tspan></text>
105
+ <text
106
+ xml:space="preserve"
107
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
108
+ x="131.02333"
109
+ y="132.48473"
110
+ id="text8086"
111
+ sodipodi:linespacing="125%"><tspan
112
+ sodipodi:role="line"
113
+ id="tspan8088"
114
+ x="131.02333"
115
+ y="132.48473">c</tspan></text>
116
+ <text
117
+ xml:space="preserve"
118
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
119
+ x="-32.560833"
120
+ y="186.3622"
121
+ id="text8090"
122
+ sodipodi:linespacing="125%"><tspan
123
+ sodipodi:role="line"
124
+ id="tspan8092"
125
+ x="-32.560833"
126
+ y="186.3622">1</tspan></text>
127
+ <text
128
+ xml:space="preserve"
129
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
130
+ x="-33.3577"
131
+ y="252.34659"
132
+ id="text8094"
133
+ sodipodi:linespacing="125%"><tspan
134
+ sodipodi:role="line"
135
+ id="tspan8096"
136
+ x="-33.3577"
137
+ y="252.34659">2</tspan></text>
138
+ <text
139
+ xml:space="preserve"
140
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
141
+ x="-33.3577"
142
+ y="317.86221"
143
+ id="text8098"
144
+ sodipodi:linespacing="125%"><tspan
145
+ sodipodi:role="line"
146
+ id="tspan8100"
147
+ x="-33.3577"
148
+ y="317.86221">3</tspan></text>
149
+ <text
150
+ xml:space="preserve"
151
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
152
+ x="12.213366"
153
+ y="187.33659"
154
+ id="text8111"
155
+ sodipodi:linespacing="125%"><tspan
156
+ sodipodi:role="line"
157
+ id="tspan8113"
158
+ x="12.213366"
159
+ y="187.33659">値</tspan></text>
160
+ <text
161
+ sodipodi:linespacing="125%"
162
+ id="text8115"
163
+ y="187.33659"
164
+ x="66.523338"
165
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
166
+ xml:space="preserve"><tspan
167
+ y="187.33659"
168
+ x="66.523338"
169
+ id="tspan8117"
170
+ sodipodi:role="line">値</tspan></text>
171
+ <text
172
+ xml:space="preserve"
173
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
174
+ x="120.85176"
175
+ y="187.33659"
176
+ id="text8119"
177
+ sodipodi:linespacing="125%"><tspan
178
+ sodipodi:role="line"
179
+ id="tspan8121"
180
+ x="120.85176"
181
+ y="187.33659">値</tspan></text>
182
+ <text
183
+ sodipodi:linespacing="125%"
184
+ id="text8123"
185
+ y="253.33659"
186
+ x="12.213366"
187
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
188
+ xml:space="preserve"><tspan
189
+ y="253.33659"
190
+ x="12.213366"
191
+ id="tspan8125"
192
+ sodipodi:role="line">値</tspan></text>
193
+ <text
194
+ xml:space="preserve"
195
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
196
+ x="67.351761"
197
+ y="253.33659"
198
+ id="text8127"
199
+ sodipodi:linespacing="125%"><tspan
200
+ sodipodi:role="line"
201
+ id="tspan8129"
202
+ x="67.351761"
203
+ y="253.33659">値</tspan></text>
204
+ <text
205
+ sodipodi:linespacing="125%"
206
+ id="text8131"
207
+ y="253.33659"
208
+ x="121.9426"
209
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
210
+ xml:space="preserve"><tspan
211
+ y="253.33659"
212
+ x="121.9426"
213
+ id="tspan8133"
214
+ sodipodi:role="line">値</tspan></text>
215
+ <text
216
+ xml:space="preserve"
217
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
218
+ x="12.213366"
219
+ y="315.83661"
220
+ id="text8135"
221
+ sodipodi:linespacing="125%"><tspan
222
+ sodipodi:role="line"
223
+ id="tspan8137"
224
+ x="12.213366"
225
+ y="315.83661">値</tspan></text>
226
+ <text
227
+ sodipodi:linespacing="125%"
228
+ id="text8139"
229
+ y="315.83661"
230
+ x="68.801514"
231
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
232
+ xml:space="preserve"><tspan
233
+ y="315.83661"
234
+ x="68.801514"
235
+ id="tspan8141"
236
+ sodipodi:role="line">値</tspan></text>
237
+ <text
238
+ xml:space="preserve"
239
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
240
+ x="122.6497"
241
+ y="315.83661"
242
+ id="text8143"
243
+ sodipodi:linespacing="125%"><tspan
244
+ sodipodi:role="line"
245
+ id="tspan8145"
246
+ x="122.6497"
247
+ y="315.83661">値</tspan></text>
248
+ <path
249
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
250
+ d="m -2.083264,107.3622 0,230.10051"
251
+ id="path8147"
252
+ inkscape:connector-curvature="0"
253
+ sodipodi:nodetypes="cc" />
254
+ <path
255
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
256
+ d="m -50.083264,146.3622 217.034494,0"
257
+ id="path8149"
258
+ inkscape:connector-curvature="0"
259
+ sodipodi:nodetypes="cc" />
260
+ <text
261
+ sodipodi:linespacing="125%"
262
+ id="text8253"
263
+ y="90.069565"
264
+ x="537.55383"
265
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
266
+ xml:space="preserve"><tspan
267
+ y="90.069565"
268
+ x="537.55383"
269
+ id="tspan8255"
270
+ sodipodi:role="line">カラム</tspan></text>
271
+ <text
272
+ transform="matrix(0,-1,1,0,0,0)"
273
+ sodipodi:linespacing="125%"
274
+ id="text8257"
275
+ y="437.96704"
276
+ x="-253.87207"
277
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
278
+ xml:space="preserve"><tspan
279
+ y="437.96704"
280
+ x="-253.87207"
281
+ id="tspan8259"
282
+ sodipodi:role="line">行</tspan></text>
283
+ <text
284
+ sodipodi:linespacing="125%"
285
+ id="text8261"
286
+ y="132.48473"
287
+ x="521.38556"
288
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
289
+ xml:space="preserve"><tspan
290
+ y="132.48473"
291
+ x="521.38556"
292
+ id="tspan8263"
293
+ sodipodi:role="line">a</tspan></text>
294
+ <text
295
+ sodipodi:linespacing="125%"
296
+ id="text8265"
297
+ y="135.68472"
298
+ x="575.86041"
299
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
300
+ xml:space="preserve"><tspan
301
+ y="135.68472"
302
+ x="575.86041"
303
+ id="tspan8267"
304
+ sodipodi:role="line">b</tspan></text>
305
+ <text
306
+ sodipodi:linespacing="125%"
307
+ id="text8269"
308
+ y="132.48473"
309
+ x="631.10663"
310
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
311
+ xml:space="preserve"><tspan
312
+ y="132.48473"
313
+ x="631.10663"
314
+ id="tspan8271"
315
+ sodipodi:role="line">c</tspan></text>
316
+ <text
317
+ sodipodi:linespacing="125%"
318
+ id="text8273"
319
+ y="186.3622"
320
+ x="467.52243"
321
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
322
+ xml:space="preserve"><tspan
323
+ y="186.3622"
324
+ x="467.52243"
325
+ id="tspan8275"
326
+ sodipodi:role="line">1</tspan></text>
327
+ <text
328
+ sodipodi:linespacing="125%"
329
+ id="text8277"
330
+ y="252.34659"
331
+ x="466.72556"
332
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
333
+ xml:space="preserve"><tspan
334
+ y="252.34659"
335
+ x="466.72556"
336
+ id="tspan8279"
337
+ sodipodi:role="line">2</tspan></text>
338
+ <text
339
+ sodipodi:linespacing="125%"
340
+ id="text8281"
341
+ y="317.86221"
342
+ x="466.72556"
343
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
344
+ xml:space="preserve"><tspan
345
+ y="317.86221"
346
+ x="466.72556"
347
+ id="tspan8283"
348
+ sodipodi:role="line">3</tspan></text>
349
+ <text
350
+ sodipodi:linespacing="125%"
351
+ id="text8285"
352
+ y="187.33659"
353
+ x="520.29663"
354
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
355
+ xml:space="preserve"><tspan
356
+ y="187.33659"
357
+ x="520.29663"
358
+ id="tspan8287"
359
+ sodipodi:role="line">値</tspan></text>
360
+ <text
361
+ xml:space="preserve"
362
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
363
+ x="574.60657"
364
+ y="187.33659"
365
+ id="text8289"
366
+ sodipodi:linespacing="125%"><tspan
367
+ sodipodi:role="line"
368
+ id="tspan8291"
369
+ x="574.60657"
370
+ y="187.33659">値</tspan></text>
371
+ <text
372
+ sodipodi:linespacing="125%"
373
+ id="text8293"
374
+ y="187.33659"
375
+ x="628.935"
376
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
377
+ xml:space="preserve"><tspan
378
+ y="187.33659"
379
+ x="628.935"
380
+ id="tspan8295"
381
+ sodipodi:role="line">値</tspan></text>
382
+ <text
383
+ xml:space="preserve"
384
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
385
+ x="520.29663"
386
+ y="253.33659"
387
+ id="text8297"
388
+ sodipodi:linespacing="125%"><tspan
389
+ sodipodi:role="line"
390
+ id="tspan8299"
391
+ x="520.29663"
392
+ y="253.33659">値</tspan></text>
393
+ <text
394
+ sodipodi:linespacing="125%"
395
+ id="text8301"
396
+ y="253.33659"
397
+ x="575.435"
398
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
399
+ xml:space="preserve"><tspan
400
+ y="253.33659"
401
+ x="575.435"
402
+ id="tspan8303"
403
+ sodipodi:role="line">値</tspan></text>
404
+ <text
405
+ xml:space="preserve"
406
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
407
+ x="630.02588"
408
+ y="253.33659"
409
+ id="text8305"
410
+ sodipodi:linespacing="125%"><tspan
411
+ sodipodi:role="line"
412
+ id="tspan8307"
413
+ x="630.02588"
414
+ y="253.33659">値</tspan></text>
415
+ <text
416
+ sodipodi:linespacing="125%"
417
+ id="text8309"
418
+ y="315.83661"
419
+ x="520.29663"
420
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
421
+ xml:space="preserve"><tspan
422
+ y="315.83661"
423
+ x="520.29663"
424
+ id="tspan8311"
425
+ sodipodi:role="line">値</tspan></text>
426
+ <text
427
+ xml:space="preserve"
428
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
429
+ x="576.88477"
430
+ y="315.83661"
431
+ id="text8313"
432
+ sodipodi:linespacing="125%"><tspan
433
+ sodipodi:role="line"
434
+ id="tspan8315"
435
+ x="576.88477"
436
+ y="315.83661">値</tspan></text>
437
+ <text
438
+ sodipodi:linespacing="125%"
439
+ id="text8317"
440
+ y="315.83661"
441
+ x="630.73297"
442
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
443
+ xml:space="preserve"><tspan
444
+ y="315.83661"
445
+ x="630.73297"
446
+ id="tspan8319"
447
+ sodipodi:role="line">値</tspan></text>
448
+ <path
449
+ sodipodi:nodetypes="cc"
450
+ inkscape:connector-curvature="0"
451
+ id="path8321"
452
+ d="m 498,107.3622 0,230.10051"
453
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
454
+ <path
455
+ sodipodi:nodetypes="cc"
456
+ inkscape:connector-curvature="0"
457
+ id="path8323"
458
+ d="m 450,146.3622 217.03449,0"
459
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
460
+ <rect
461
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
462
+ id="rect8325"
463
+ width="43"
464
+ height="229"
465
+ x="7.9167361"
466
+ y="103.36221"
467
+ rx="5"
468
+ ry="5" />
469
+ <rect
470
+ ry="5"
471
+ rx="5"
472
+ y="103.36221"
473
+ x="61.916737"
474
+ height="229"
475
+ width="43"
476
+ id="rect8327"
477
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
478
+ <rect
479
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
480
+ id="rect8329"
481
+ width="43"
482
+ height="229"
483
+ x="116.91673"
484
+ y="103.36221"
485
+ rx="5"
486
+ ry="5" />
487
+ <text
488
+ xml:space="preserve"
489
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
490
+ x="191.05591"
491
+ y="91.459404"
492
+ id="text8331"
493
+ sodipodi:linespacing="125%"><tspan
494
+ sodipodi:role="line"
495
+ id="tspan8333"
496
+ x="191.05591"
497
+ y="91.459404">Mroonga</tspan></text>
498
+ <text
499
+ xml:space="preserve"
500
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
501
+ x="82.575394"
502
+ y="383.02518"
503
+ id="text8335"
504
+ sodipodi:linespacing="125%"><tspan
505
+ sodipodi:role="line"
506
+ x="82.575394"
507
+ y="383.02518"
508
+ id="tspan8339">カラムごと</tspan></text>
509
+ <text
510
+ sodipodi:linespacing="125%"
511
+ id="text8341"
512
+ y="94.216759"
513
+ x="338.16293"
514
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
515
+ xml:space="preserve"><tspan
516
+ y="94.216759"
517
+ x="338.16293"
518
+ id="tspan8343"
519
+ sodipodi:role="line">InnoDB他</tspan></text>
520
+ <rect
521
+ ry="5"
522
+ rx="5"
523
+ y="-668"
524
+ x="153.36221"
525
+ height="209.5"
526
+ width="43"
527
+ id="rect8345"
528
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
529
+ transform="matrix(0,1,-1,0,0,0)" />
530
+ <rect
531
+ transform="matrix(0,1,-1,0,0,0)"
532
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
533
+ id="rect8347"
534
+ width="43"
535
+ height="209.5"
536
+ x="218.86221"
537
+ y="-668"
538
+ rx="5"
539
+ ry="5" />
540
+ <rect
541
+ ry="5"
542
+ rx="5"
543
+ y="-668"
544
+ x="283.36221"
545
+ height="209.5"
546
+ width="43"
547
+ id="rect8349"
548
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
549
+ transform="matrix(0,1,-1,0,0,0)" />
550
+ <text
551
+ xml:space="preserve"
552
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
553
+ x="79.90786"
554
+ y="435.40387"
555
+ id="text8357"
556
+ sodipodi:linespacing="125%"><tspan
557
+ sodipodi:role="line"
558
+ x="79.90786"
559
+ y="435.40387"
560
+ id="tspan8361">カラム</tspan></text>
561
+ <text
562
+ sodipodi:linespacing="125%"
563
+ id="text8367"
564
+ y="435.52518"
565
+ x="567.90491"
566
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
567
+ xml:space="preserve"><tspan
568
+ id="tspan8371"
569
+ y="435.52518"
570
+ x="567.90491"
571
+ sodipodi:role="line">行</tspan></text>
572
+ <text
573
+ xml:space="preserve"
574
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
575
+ x="214.57152"
576
+ y="383.1377"
577
+ id="text8373"
578
+ sodipodi:linespacing="125%"><tspan
579
+ sodipodi:role="line"
580
+ id="tspan8375"
581
+ x="214.57152"
582
+ y="383.1377">値の管理単位</tspan></text>
583
+ <text
584
+ sodipodi:linespacing="125%"
585
+ id="text8407"
586
+ y="384.38913"
587
+ x="568.08716"
588
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
589
+ xml:space="preserve"><tspan
590
+ id="tspan8409"
591
+ y="384.38913"
592
+ x="568.08716"
593
+ sodipodi:role="line">行ごと</tspan></text>
594
+ <text
595
+ sodipodi:linespacing="125%"
596
+ id="text8411"
597
+ y="434.72702"
598
+ x="172.24052"
599
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
600
+ xml:space="preserve"><tspan
601
+ y="434.72702"
602
+ x="172.24052"
603
+ id="tspan8413"
604
+ sodipodi:role="line">高速なアクセス単位</tspan></text>
605
+ <path
606
+ style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
607
+ d="m 323.18747,66.595237 0,282.221393"
608
+ id="path8159"
609
+ inkscape:connector-curvature="0"
610
+ sodipodi:nodetypes="cc" />
611
+ <path
612
+ inkscape:connector-curvature="0"
613
+ id="path4228"
614
+ d="m 669.44147,349.23842 -733.446197,0"
615
+ style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
616
+ sodipodi:nodetypes="cc" />
617
+ <path
618
+ sodipodi:nodetypes="cc"
619
+ style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
620
+ d="m 669.44147,395.90747 -733.446197,0"
621
+ id="path4230"
622
+ inkscape:connector-curvature="0" />
623
+ </g>
624
+ </svg>