rabbit-slide-clear-code-pgroonga-introduction 2016.12.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ef88f161f1e10b032f07208c2a7c6a1b345912e7
4
+ data.tar.gz: 279e891ceb5c1fd50c400a26944f2f47e05c30c0
5
+ SHA512:
6
+ metadata.gz: d1ce50876757659689dd69236db7f8a64ac4fd6ee2545e2919091041d32b398c35b15aaea4aaa217a021f8e38783e98f2befd233d7a66d0b505863d5c535f433
7
+ data.tar.gz: e3d68d1a6fdcdb28dba8bbe5ad672833f244a4efab2dcacd1ba70076c39b0a527c9e8c9162e76479b077e5b3b63b00928489ada571a0d35d2bbb73b781f055bf
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ pgroonga-introduction.rab
@@ -0,0 +1,45 @@
1
+ = PGroongaの紹介
2
+
3
+ PGroonga紹介用資料。
4
+
5
+ == ライセンス
6
+
7
+ === スライド
8
+
9
+ CC BY-SA 4.0
10
+
11
+ 著作者情報は次のどれかを使ってください。
12
+
13
+ * 株式会社クリアコード
14
+ * クリアコード
15
+
16
+ === 画像
17
+
18
+ ==== GroongaとPGroongaのロゴ
19
+
20
+ CC BY 3.0
21
+
22
+ 著作者:Groongaプロジェクト
23
+
24
+ スライドの各ページのヘッダーおよびいくつかのページ中で使用しています。
25
+
26
+ == 作者向け
27
+
28
+ === 表示
29
+
30
+ rake
31
+
32
+ === 公開
33
+
34
+ rake publish
35
+
36
+ == 閲覧者向け
37
+
38
+ === インストール
39
+
40
+ gem install rabbit-slide-clear-code-pgroonga-introduction
41
+
42
+ === 表示
43
+
44
+ rabbit rabbit-slide-clear-code-pgroonga-introduction.gem
45
+
@@ -0,0 +1,61 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ spec.files += Dir.glob("data/**/*.*")
9
+ spec.files += Dir.glob("images/**/*.*")
10
+ # spec.files -= Dir.glob("private/**/*.*")
11
+ spec.add_runtime_dependency("rabbit-theme-clear-code")
12
+ end
13
+
14
+ desc "Tag #{spec.version}"
15
+ task :tag do
16
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
17
+ sh("git", "push", "--tags")
18
+ end
19
+
20
+
21
+ key_graphs = []
22
+ plots = Pathname.glob("data/**/*.gnuplot")
23
+ plots.each do |plot|
24
+ output_base_dir = plot.dirname.to_s.gsub(/\Adata/, "images")
25
+ loaded_plots = []
26
+ graphs = []
27
+ data = []
28
+
29
+ plot.open do |plot_file|
30
+ plot_file.each_line do |line|
31
+ case line.chomp
32
+ when /\Aload "(.*?)"\z/
33
+ loaded_plots << "#{plot.dirname}/#{$1}"
34
+ when /"(.*?\.tsv)"/
35
+ data << "#{plot.dirname}/#{$1}"
36
+ when /\Aset output "(.*?)"\z/
37
+ graphs << "#{output_base_dir}/#{$1}"
38
+ end
39
+ end
40
+ end
41
+ next if graphs.empty?
42
+
43
+ key_graph = graphs.first
44
+ key_graphs << key_graph
45
+ file key_graph => [plot.to_s, *loaded_plots, *data] do
46
+ cd(plot.dirname) do
47
+ sh("gnuplot", plot.basename.to_s)
48
+ end
49
+ graphs.each do |graph|
50
+ mkdir_p(File.dirname(graph))
51
+ mv("#{plot.dirname}/#{File.basename(graph)}",
52
+ graph)
53
+ end
54
+ end
55
+ end
56
+
57
+ desc "Generate graphs"
58
+ task :graph => key_graphs
59
+
60
+ task :run => :graph
61
+ task :pdf => :graph
@@ -0,0 +1,24 @@
1
+ ---
2
+ id: pgroonga-introduction
3
+ base_name: pgroonga-introduction
4
+ tags:
5
+ - rabbit
6
+ - pgroonga
7
+ - postgresql
8
+ presentation_date:
9
+ version: 2016.12.26.0
10
+ licenses:
11
+ - CC-BY-SA-4.0
12
+ - CC-BY-3.0
13
+ slideshare_id:
14
+ speaker_deck_id:
15
+ ustream_id:
16
+ vimeo_id:
17
+ youtube_id:
18
+ author:
19
+ markup_language: :rd
20
+ name: クリアコード
21
+ email: rubygems@clear-code.com
22
+ rubygems_user: clear-code
23
+ slideshare_user:
24
+ speaker_deck_user:
@@ -0,0 +1,37 @@
1
+ load "style.gnuplot"
2
+
3
+ set xlabel "ヒット数"
4
+ set ylabel " 実行時間(秒)\n(低いほど速い)"
5
+
6
+ set label 1 \
7
+ "データ:日本語版Wikipedia\n(大量で大きなテキスト)" \
8
+ at first 0,2.875 left
9
+ set label 2 \
10
+ "レコード数:約90万\n平均テキストサイズ:6.7KiB" \
11
+ at first 0,2.375 left
12
+ set label 3 \
13
+ "遅い" \
14
+ textcolor "#ef2929" \
15
+ at first 15306,1.3 left
16
+ set label 4 \
17
+ "遅い" \
18
+ textcolor "#ef2929" \
19
+ at first 19889,2.8 right
20
+ set label 5 \
21
+ "速い" \
22
+ textcolor "#ef2929" \
23
+ at first 14709,0.25 center
24
+ set label 6 \
25
+ "速い" \
26
+ textcolor "#ef2929" \
27
+ at first 20189,0.25 center
28
+ set output "search-pgroonga-pg-bigm.pdf"
29
+ plot [0:20389] \
30
+ "search-ja.tsv" using 3:($2/1000) \
31
+ title columnheader \
32
+ with linespoints \
33
+ linestyle 5, \
34
+ "search-ja.tsv" using 7:($6/1000):xtic(7) \
35
+ title columnheader \
36
+ with linespoints \
37
+ linestyle 1
@@ -0,0 +1,5 @@
1
+ Query PGroonga "N hits(PGroonga)" Groonga "N hits(Groonga)" pg\\_bigm "N hits(pg\\_bigm)"
2
+ "PostgreSQL\nOR\nMySQL" 2 316 1 316 49 311
3
+ データベース 49 14709 31 14709 1300 14706
4
+ テレビアニメ 65 20389 38 20389 2800 20389
5
+ 日本 563 537382 59 537382 479 537382
@@ -0,0 +1,29 @@
1
+ set terminal pdfcairo enhanced color transparent rounded
2
+
3
+ set key outside center top horizontal reverse Left samplen 2
4
+ unset border
5
+ set xtics scale 0
6
+ set ytics scale 0
7
+ set grid ytics linewidth 1 linetype -1
8
+
9
+ set key font "Sans,18"
10
+ set title font "Sans,18"
11
+ set xlabel font "Sans,18"
12
+ set ylabel font "Sans,18"
13
+ set label 1 font "Sans,18"
14
+ set label 2 font "Sans,18"
15
+ set label 3 font "Sans,18"
16
+ set label 4 font "Sans,18"
17
+ set label 5 font "Sans,18"
18
+ set label 6 font "Sans,18"
19
+
20
+ set style line 1 lt 1 lc rgbcolor "#3465a4" lw 2.5 pt 7 ps 1
21
+ set style line 2 lt 1 lc rgbcolor "#edd400" lw 2.5 pt 7 ps 1
22
+ set style line 3 lt 1 lc rgbcolor "#888a85" lw 2.5 pt 5 ps 1
23
+ set style line 4 lt 1 lc rgbcolor "#f57900" lw 2.5 pt 5 ps 1
24
+ set style line 5 lt 1 lc rgbcolor "#ad7fa8" lw 2.5 pt 9 ps 1
25
+ set style line 6 lt 1 lc rgbcolor "#4e9a06" lw 2.5 pt 9 ps 1
26
+ set style line 7 lt 1 lc rgbcolor "#ef2929" lw 2.5 pt 1 ps 1
27
+ set style line 8 lt 1 lc rgbcolor "#5c3566" lw 2.5 pt 1 ps 1
28
+ set style line 9 lt 1 lc rgbcolor "#c17d11" lw 2.5 pt 3 ps 1
29
+ set style line 10 lt 1 lc rgbcolor "#dce775" lw 2.5 pt 3 ps 1
@@ -0,0 +1,55 @@
1
+ = PGroongaの紹介
2
+
3
+ : author
4
+ クリアコード
5
+ : theme
6
+ clear-code
7
+
8
+ = PostgreSQLの課題
9
+
10
+ * (('wait'))組込全文検索機能
11
+ * 日本語未対応
12
+ * (('wait'))サードパーティーの拡張機能
13
+ * 日本語対応だが遅い
14
+
15
+ (('wait'))
16
+ (('tag:center'))
17
+ ↓\n
18
+ PGroonga:日本語対応で速い
19
+
20
+ = 速度
21
+
22
+ # image
23
+ # src = images/search-pgroonga-pg-bigm.pdf
24
+ # relative_width = 100
25
+
26
+ == スライドプロパティ
27
+
28
+ : enable-title-on-image
29
+ false
30
+
31
+ = 速い理由
32
+
33
+ (('tag:center'))
34
+ (('tag:margin-bottom * 2'))
35
+ ((*recheck*))が必要ない\n
36
+ (('note:recheck:インデックス検索後のシーケンシャルサーチ'))\n
37
+ (('note:シーケンシャルサーチ=ヒット件数が多いほど遅い'))\n
38
+
39
+ # RT
40
+
41
+ 索引, ((*完全*))\n転置索引か, recheck
42
+
43
+ GIN, No, 必要
44
+ PGroonga, ((*Yes*)), ((*必要ない*))
45
+
46
+ = 速いだけではない
47
+
48
+ * 日本語特化の機能
49
+ * ローマ字での入力補完\n
50
+ 例:「to」で「東京」を補完
51
+ * JSON内の全テキストを全文検索
52
+ * JSON内のレイアウトが違ってもOK\n
53
+ →ログ検索・データ解析などに有用
54
+
55
+ # TODO:スコアーのカスタマイズ機能を実装してここに追加
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-clear-code-pgroonga-introduction
3
+ version: !ruby/object:Gem::Version
4
+ version: 2016.12.26.0
5
+ platform: ruby
6
+ authors:
7
+ - クリアコード
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-12-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: rabbit-theme-clear-code
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: PGroonga紹介用資料。
42
+ email:
43
+ - rubygems@clear-code.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".rabbit"
49
+ - README.rd
50
+ - Rakefile
51
+ - config.yaml
52
+ - data/search-ja.gnuplot
53
+ - data/search-ja.tsv
54
+ - data/style.gnuplot
55
+ - images/search-pgroonga-pg-bigm.pdf
56
+ - pdf/pgroonga-introduction-pgroonga-introduction.pdf
57
+ - pgroonga-introduction.rab
58
+ homepage: http://slide.rabbit-shocker.org/authors/clear-code/pgroonga-introduction/
59
+ licenses:
60
+ - CC-BY-SA-4.0
61
+ - CC-BY-3.0
62
+ metadata: {}
63
+ post_install_message:
64
+ rdoc_options: []
65
+ require_paths:
66
+ - lib
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ requirements: []
78
+ rubyforge_project:
79
+ rubygems_version: 2.5.2
80
+ signing_key:
81
+ specification_version: 4
82
+ summary: PGroongaの紹介
83
+ test_files: []