SlideShare a Scribd company logo
1 of 19
Download to read offline
Grnxx - 䛠䜛䜣䛯䛩 
඲ᩥ᳨⣴䜶䞁䝆䞁 Groonga 䜢ᅖ䜐ኤ䜉 5 䠄2014䠅 
@s5yata
ෆᐜ 
䙜 ᫖ᖺ䛾᝟ሗ 
䚖 Grnxx 䛸䛿 
䚖 Grnxx 䛾᪉㔪 
䚖 Grnxx 䛾ᇶᮏタィ 
䙜 ௒ᖺ䛾᝟ሗ 
䚖 N/A ್ 䠄null ┦ᙜ䠅 䛻䛴䛔䛶 
䚖 ᩚᩘ䛾⤫ྜ䛻䛴䛔䛶 
䚖 ᘧホ౯䛻䛴䛔䛶
᫖ᖺ䛾᝟ሗ
Grnxx 䛸䛿 
䙜 ఩⨨௜䛡 
䚖 Groonga 䛾ᚋ⥅ 
䙜 ㄞ䜏᪉ 
䚖 䛠䜛䜣䛯䛩 
䙜 ⏤᮶ 
䚖 Groonga + C++ 
䙜 㐍ᤖ 
䚖 㛤Ⓨ୰ 
䘟 https://github.com/groonga/grnxx
Grnxx 䛾᪉㔪 
䙜 ኱つᶍ໬ 
䚖 ኱ᐜ㔞䝯䝰䝸䛾ά⏝ 
䘟 䝷䜲䝤䝷䝸䛻䜘䜛ไ㝈䛾᧔ᗫ 
䙜 㧗㏿໬ 
䚖 䝇䝹䞊䝥䝑䝖䛾ྥୖ䠈ᛂ⟅᫬㛫䛾▷⦰ 
䘟 ᵓ⠏䞉᭦᪂᫬㛫䛾▷⦰ 
䘟 ᳨⣴᫬㛫䛾▷⦰ 
䙜 ຠ⋡໬ 
䚖 䝸䝋䞊䝇䛾⠇⣙
Grnxx 䛾ᇶᮏタィ 
䙜 64 䝡䝑䝖໬ 
䚖 䝷䜲䝤䝷䝸䛻䜘䜛ไ㝈䛾᧔ᗫ 
䙜 䜲䞁䝯䝰䝸໬ 
䚖 ពᅗ䛧䛺䛔 I/O 䛾ᅇ㑊 
䚖 䝕䞊䝍ᵓ㐀䛾⮬⏤ᗘྥୖ 
䙜 䜽䜶䝸䛾䝅䝸䜰䝷䜲䝈 
䚖 ᤼௚ไᚚ䛻䛛䛛䜛䝁䝇䝖䛾ᢚไ 
䚖 䜰䝹䝂䝸䝈䝮䛾⮬⏤ᗘྥୖ
௒ᖺ䛾᝟ሗ
Grnxx 䛾 N/A ್ 䠄ᴫせ䠅 
䙜 ᴫせ 
䚖 ྛ✀ DBMS 䛾 null 䛻┦ᙜ䛩䜛 
䙜 ≉ᚩ 
䚖 N/A 䜢ྵ䜐₇⟬䛾⤖ᯝ䛿 N/A 䛻䛺䜛 
䘟 䠄100 + N/A䠅→ N/A, 䠄“ABC” < N/A䠅→ N/A, etc. 
䙜 ౑⏝౛ 
䚖 䜹䝷䝮䛾ึᮇ್ 
䚖 䝊䝻㝖⟬䜔䜸䞊䝞䞊䝣䝻䞊䛾⤖ᯝ 
䘟 䠄100 / 0䠅→ N/A, 䠄263 * 263䠅→ N/A, etc.
Grnxx 䛾 N/A ್ 䠄䝕䞊䝍ᆺ䠅 
䙜 Bool 
䚖 TRUE, FALSE, N/A 
䙜 Int 
䚖 -263+1 ௨ୖ 263-1 ௨ୗ䛾ᩚᩘ䠈 N/A 
䙜 Float 
䚖 ṇつᩘ䠈㠀ṇつᩘ䠈↓㝈኱䠈 N/A 䠄NaN䠅 
䙜 Text 
䚖 ᩥᏐิ䠄✵ᩥᏐิ䜢ྵ䜐䠅䠈 N/A 
䙜 ௨ୗ␎
Grnxx 䛾 N/A ್ 䠄౑⏝౛䠅 
䙜 䜹䝷䝮䛾ึᮇ್ 
䚖 ᪂䛧䛔⾜䜔䜹䝷䝮䛿 N/A 䛷ᇙ䜑䜛 
䘟 N/A 䛿⣴ᘬ䛻Ⓩ㘓䛥䜜䛺䛔 
䘟 N/A 䛻ᡠ䛩䛣䛸䛜䛷䛝䜛 
RowID A B C D 
1 - - - - 
2 - - - - 
3 - - - - 
E 
N/A 
N/A 
N/A 
4 N/A N/A N/A N/A
Grnxx 䛾 N/A ್ 䠄␗ᖖ್䠅 
䙜 䝊䝻㝖⟬䜔䜸䞊䝞䞊䝣䝻䞊䛾⤖ᯝ 
䚖 ␗ᖖ್䛿 N/A 䛷ᇙ䜑䜛 
䘟 ṇᖖ್䛸␗ᖖ್䜢༊ู䛷䛝䜛 
䘟 ␗ᖖ್䛜䛒䛳䛶䜒Ṇ䜎䜙䛺䛔 
RowID A B C 
1 1 2 5 
2 10 N/A 3 
3 100 30 0 
4 1000 263-1 10 
A + B 
3 
N/A 
130 
N/A 
A / C 
0 
3 
N/A 
100
Grnxx 䛾ᩚᩘ 䠄ᴫせ䠅 
䙜 ᴫせ 
䚖 ᩚᩘᆺ䜢 Int 䛻⤫ྜ䛩䜛 
䙜 ≉ᚩ 
䚖 64 䝡䝑䝖➢ྕ௜䛝ᩚᩘ 
䘟 INT64_MIN 䛿 N/A 䛻๭䜚ᙜ䛶䜛 
䚖 ⠊ᅖእ䛾್䜔␗ᖖ್䛿 N/A 䛻䛺䜛 
䙜 ḞⅬ 
䚖 DB 䛾䝃䜲䝈䛜኱䛝䛟䛺䜛 
䚖 N/A 䛾ᢅ䛔䛜䜸䞊䝞䞊䝦䝑䝗䛻䛺䜛
Grnxx 䛾ᩚᩘ 䠄฼Ⅼ䞉ᕤኵⅬ䠅 
䙜 ᩚᩘ₇⟬䛾༢⣧໬ 
䚖 ᩚᩘ₇⟬䛻䛿 64 䝡䝑䝖➢ྕ௜䛝ᩚᩘ䜢౑䛖 
䘟 ₇⟬䛾⤌䜏ྜ䜟䛫䜢ῶ䜙䛩 䠄64 ㏻䜚 → 1 ㏻䜚䠅 
䘟 ➢ྕ䛾᭷↓䛻䜘䜛ၥ㢟䜢㑊䛡䜛 
䙜 䜹䝷䝮䛾ᐇ⿦ 
䚖 ᭱ᑠ್䞉᭱኱್䛻䜘䜚ෆ㒊ᐇ⿦䜢ษ䜚᭰䛘䜛 
䘟 -127 ௨ୖ 127 ௨ୗ䛺䜙 8 䝡䝑䝖➢ྕ௜䛝ᩚᩘ 
䙜 䜸䞊䝞䞊䝣䝻䞊 
䚖 ᑡ䛺䛟䛸䜒 x86 䛷䛿 OF 䛻䜘䜚᳨ฟ䛷䛝䜛
Grnxx 䛾ᘧホ౯ 䠄ᴫせ䠅 
䙜 ᴫせ 
䚖 䝤䝻䝑䜽༢఩䛷ホ౯䛩䜛 
䙜 ≉ᚩ 
䚖 ₇⟬Ꮚ䜢䜂䛸䛴䛪䛴㐺⏝䛧䛶༢⣧໬䛩䜛 
䚖 䝤䝻䝑䜽䜢 CPU 䜻䝱䝑䝅䝳䛻཰䜑䜛 
䘟 ୍᫬㡿ᇦ䛾෌฼⏝䛻䜘䜚ຠ⋡໬䛷䛝䜛 
䙜 ౑䛔᪉ 
䚖 ධຊ ⾜䛾୍ぴ 
䚖 ฟຊ ホ౯⤖ᯝ䜒䛧䛟䛿䝣䜱䝹䝍䝸䞁䜾⤖ᯝ
Grnxx 䛾ᘧホ౯ 䠄₇⟬䠅 
䙜 ホ౯ᘧ 
䚖 䠄A + B䠅+ C 
ධຊ ฟຊ 
+ 
+ C 
A B 
୍᫬㡿ᇦ䛾 
ෆᐜ䜢ຍ⟬ 
䜹䝷䝮 C 䛛䜙 
ㄞ䜏ฟ䛧 
୍᫬㡿ᇦ䛾 
ෆᐜ䜢ຍ⟬ 
䜹䝷䝮 A 䛛䜙 
ㄞ䜏ฟ䛧 
䜹䝷䝮 B 䛛䜙 
ㄞ䜏ฟ䛧
Grnxx 䛾ᘧホ౯ 䠄䝣䜱䝹䝍䠅 
䙜 ホ౯ᘧ 
䚖 A &䠄B & C䠅 
& 
A & 
ධຊ䛥䜜䛯 
⾜䛾୍ぴ䛛䜙 
๐䛳䛶䛔䛟 
B C 
䜹䝷䝮 A 䛻䜘䜛 
䝣䜱䝹䝍䝸䞁䜾 
䜹䝷䝮 B 䛻䜘䜛 
䝣䜱䝹䝍䝸䞁䜾 
䜹䝷䝮 C 䛻䜘䜛 
䝣䜱䝹䝍䝸䞁䜾
Grnxx 䛾䝧䞁䝏䝬䞊䜽 䠄タᐃ䠅 
䙜 ᐇ㦂⎔ቃ 
䚖 CPU: Core i7 3720QM 2.6GHz 
䚖 RAM: 8GB 
䚖 OS: Ubuntu 14.04 on VMware Fusion 7 + Yosemite 
䙜 䝔䞊䝤䝹 
䚖 ⾜ᩘ䠖 1 ൨ 
䚖 䜹䝷䝮䠖 A, B, C 
䘟 䝕䞊䝍ᆺ䠖 Int 
䘟 ධຊ್䠖 0 ௨ୖ 255 ௨ୗ䛾ᨃఝ஘ᩘ
Grnxx 䛾䝧䞁䝏䝬䞊䜽 䠄⤖ᯝ䠅 
䙜 䝣䜱䝹䝍䝸䞁䜾䛾ᡤせ᫬㛫 
䚖 䠄A < X䠅 AND 䠄B < X䠅 AND 䠄C < X䠅 
䚖 䠄A < X䠅 OR 䠄B < X䠅 OR 䠄C < X䠅 
X Ratio 
䠄%䠅 
AND 䝣䜱䝹䝍 
䠄⛊䠅 
OR 䝣䜱䝹䝍 
䠄⛊䠅 
16 6.25 0.563 1.863 
32 12.50 0.666 2.191 
64 25.00 0.862 2.870 
128 50.00 1.423 3.544
䛚䜟䜚䛻 
䙜 ௒ᅇ䛾䜎䛸䜑 
䚖 N/A ್䛾ᑟධ 
䚖 ᩚᩘᆺ䛾⤫ྜ 
䚖 ᘧホ౯䛾᪉ἲ 
䙜 ௒ᚋ䛾ணᐃ 
䚖 ᩚิ䛾ຠ⋡໬ 
䚖 ⣴ᘬ䛾ᶵ⬟ᣑᙇ䛸ຠ⋡໬ 
䚖 ඲ᩥ᳨⣴䛾タィ䛸ᐇ⿦

More Related Content

Similar to Grnxx - Groonga database management system performance analysis

ごみカレンダー
ごみカレンダーごみカレンダー
ごみカレンダーrarere
 
IaaS業界激変の背景
IaaS業界激変の背景IaaS業界激変の背景
IaaS業界激変の背景知礼 八子
 
第25回高専プロコン競技部門(府大高専)
第25回高専プロコン競技部門(府大高専)第25回高専プロコン競技部門(府大高専)
第25回高専プロコン競技部門(府大高専)opuctplab
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングYuichi Ito
 
東南アジアでエンジニア
東南アジアでエンジニア東南アジアでエンジニア
東南アジアでエンジニアHirakawa Akira
 
第7回 ECMA-262 Edition5.1読書会
第7回 ECMA-262 Edition5.1読書会第7回 ECMA-262 Edition5.1読書会
第7回 ECMA-262 Edition5.1読書会Shou Takenaka
 
CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++Seiya Ishibashi
 
Cordovaで業務アプリを作る 〜その事例とノウハウ〜
Cordovaで業務アプリを作る 〜その事例とノウハウ〜Cordovaで業務アプリを作る 〜その事例とノウハウ〜
Cordovaで業務アプリを作る 〜その事例とノウハウ〜Kenichi Inoue
 
Arch TCP/IP Introduction
Arch TCP/IP IntroductionArch TCP/IP Introduction
Arch TCP/IP IntroductionMasahiko Hara
 
[Android]Fragmentとのつきあい方を考える
[Android]Fragmentとのつきあい方を考える[Android]Fragmentとのつきあい方を考える
[Android]Fragmentとのつきあい方を考えるichigotake .
 
11th rep of ese.cmdy .banu
11th rep of ese.cmdy .banu11th rep of ese.cmdy .banu
11th rep of ese.cmdy .banuahsanrabbani
 
第4回WordBenchしずおか
第4回WordBenchしずおか第4回WordBenchしずおか
第4回WordBenchしずおかEndoh Shingo
 
Pintrace: Distributed tracing @Pinterest
Pintrace: Distributed tracing @PinterestPintrace: Distributed tracing @Pinterest
Pintrace: Distributed tracing @PinterestSuman Karumuri
 
Android Wear のムダ知識
Android Wear のムダ知識Android Wear のムダ知識
Android Wear のムダ知識Satoshi Noda
 
dockerはじめました。 GDG京都 2014年忘れ勉強会 LT
dockerはじめました。 GDG京都 2014年忘れ勉強会 LTdockerはじめました。 GDG京都 2014年忘れ勉強会 LT
dockerはじめました。 GDG京都 2014年忘れ勉強会 LTSatoshi Noda
 
M3 hackathon 2014 slidecast
M3 hackathon 2014   slidecastM3 hackathon 2014   slidecast
M3 hackathon 2014 slidecastYuki Takano
 
Chef ossishigaki-140917230902-phpapp01
Chef ossishigaki-140917230902-phpapp01Chef ossishigaki-140917230902-phpapp01
Chef ossishigaki-140917230902-phpapp01XxjerryleexX
 

Similar to Grnxx - Groonga database management system performance analysis (20)

ごみカレンダー
ごみカレンダーごみカレンダー
ごみカレンダー
 
CentOS 7 入門
CentOS 7 入門CentOS 7 入門
CentOS 7 入門
 
IaaS業界激変の背景
IaaS業界激変の背景IaaS業界激変の背景
IaaS業界激変の背景
 
第25回高専プロコン競技部門(府大高専)
第25回高専プロコン競技部門(府大高専)第25回高専プロコン競技部門(府大高専)
第25回高専プロコン競技部門(府大高専)
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
 
東南アジアでエンジニア
東南アジアでエンジニア東南アジアでエンジニア
東南アジアでエンジニア
 
第7回 ECMA-262 Edition5.1読書会
第7回 ECMA-262 Edition5.1読書会第7回 ECMA-262 Edition5.1読書会
第7回 ECMA-262 Edition5.1読書会
 
CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++CEDEC2014 Live Coding in C++
CEDEC2014 Live Coding in C++
 
Cordovaで業務アプリを作る 〜その事例とノウハウ〜
Cordovaで業務アプリを作る 〜その事例とノウハウ〜Cordovaで業務アプリを作る 〜その事例とノウハウ〜
Cordovaで業務アプリを作る 〜その事例とノウハウ〜
 
Arch TCP/IP Introduction
Arch TCP/IP IntroductionArch TCP/IP Introduction
Arch TCP/IP Introduction
 
Arduino
ArduinoArduino
Arduino
 
Docker勉強会
Docker勉強会Docker勉強会
Docker勉強会
 
[Android]Fragmentとのつきあい方を考える
[Android]Fragmentとのつきあい方を考える[Android]Fragmentとのつきあい方を考える
[Android]Fragmentとのつきあい方を考える
 
11th rep of ese.cmdy .banu
11th rep of ese.cmdy .banu11th rep of ese.cmdy .banu
11th rep of ese.cmdy .banu
 
第4回WordBenchしずおか
第4回WordBenchしずおか第4回WordBenchしずおか
第4回WordBenchしずおか
 
Pintrace: Distributed tracing @Pinterest
Pintrace: Distributed tracing @PinterestPintrace: Distributed tracing @Pinterest
Pintrace: Distributed tracing @Pinterest
 
Android Wear のムダ知識
Android Wear のムダ知識Android Wear のムダ知識
Android Wear のムダ知識
 
dockerはじめました。 GDG京都 2014年忘れ勉強会 LT
dockerはじめました。 GDG京都 2014年忘れ勉強会 LTdockerはじめました。 GDG京都 2014年忘れ勉強会 LT
dockerはじめました。 GDG京都 2014年忘れ勉強会 LT
 
M3 hackathon 2014 slidecast
M3 hackathon 2014   slidecastM3 hackathon 2014   slidecast
M3 hackathon 2014 slidecast
 
Chef ossishigaki-140917230902-phpapp01
Chef ossishigaki-140917230902-phpapp01Chef ossishigaki-140917230902-phpapp01
Chef ossishigaki-140917230902-phpapp01
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Grnxx - Groonga database management system performance analysis

  • 1. Grnxx - 䛠䜛䜣䛯䛩 ඲ᩥ᳨⣴䜶䞁䝆䞁 Groonga 䜢ᅖ䜐ኤ䜉 5 䠄2014䠅 @s5yata
  • 2. ෆᐜ 䙜 ᫖ᖺ䛾᝟ሗ 䚖 Grnxx 䛸䛿 䚖 Grnxx 䛾᪉㔪 䚖 Grnxx 䛾ᇶᮏタィ 䙜 ௒ᖺ䛾᝟ሗ 䚖 N/A ್ 䠄null ┦ᙜ䠅 䛻䛴䛔䛶 䚖 ᩚᩘ䛾⤫ྜ䛻䛴䛔䛶 䚖 ᘧホ౯䛻䛴䛔䛶
  • 4. Grnxx 䛸䛿 䙜 ఩⨨௜䛡 䚖 Groonga 䛾ᚋ⥅ 䙜 ㄞ䜏᪉ 䚖 䛠䜛䜣䛯䛩 䙜 ⏤᮶ 䚖 Groonga + C++ 䙜 㐍ᤖ 䚖 㛤Ⓨ୰ 䘟 https://github.com/groonga/grnxx
  • 5. Grnxx 䛾᪉㔪 䙜 ኱つᶍ໬ 䚖 ኱ᐜ㔞䝯䝰䝸䛾ά⏝ 䘟 䝷䜲䝤䝷䝸䛻䜘䜛ไ㝈䛾᧔ᗫ 䙜 㧗㏿໬ 䚖 䝇䝹䞊䝥䝑䝖䛾ྥୖ䠈ᛂ⟅᫬㛫䛾▷⦰ 䘟 ᵓ⠏䞉᭦᪂᫬㛫䛾▷⦰ 䘟 ᳨⣴᫬㛫䛾▷⦰ 䙜 ຠ⋡໬ 䚖 䝸䝋䞊䝇䛾⠇⣙
  • 6. Grnxx 䛾ᇶᮏタィ 䙜 64 䝡䝑䝖໬ 䚖 䝷䜲䝤䝷䝸䛻䜘䜛ไ㝈䛾᧔ᗫ 䙜 䜲䞁䝯䝰䝸໬ 䚖 ពᅗ䛧䛺䛔 I/O 䛾ᅇ㑊 䚖 䝕䞊䝍ᵓ㐀䛾⮬⏤ᗘྥୖ 䙜 䜽䜶䝸䛾䝅䝸䜰䝷䜲䝈 䚖 ᤼௚ไᚚ䛻䛛䛛䜛䝁䝇䝖䛾ᢚไ 䚖 䜰䝹䝂䝸䝈䝮䛾⮬⏤ᗘྥୖ
  • 8. Grnxx 䛾 N/A ್ 䠄ᴫせ䠅 䙜 ᴫせ 䚖 ྛ✀ DBMS 䛾 null 䛻┦ᙜ䛩䜛 䙜 ≉ᚩ 䚖 N/A 䜢ྵ䜐₇⟬䛾⤖ᯝ䛿 N/A 䛻䛺䜛 䘟 䠄100 + N/A䠅→ N/A, 䠄“ABC” < N/A䠅→ N/A, etc. 䙜 ౑⏝౛ 䚖 䜹䝷䝮䛾ึᮇ್ 䚖 䝊䝻㝖⟬䜔䜸䞊䝞䞊䝣䝻䞊䛾⤖ᯝ 䘟 䠄100 / 0䠅→ N/A, 䠄263 * 263䠅→ N/A, etc.
  • 9. Grnxx 䛾 N/A ್ 䠄䝕䞊䝍ᆺ䠅 䙜 Bool 䚖 TRUE, FALSE, N/A 䙜 Int 䚖 -263+1 ௨ୖ 263-1 ௨ୗ䛾ᩚᩘ䠈 N/A 䙜 Float 䚖 ṇつᩘ䠈㠀ṇつᩘ䠈↓㝈኱䠈 N/A 䠄NaN䠅 䙜 Text 䚖 ᩥᏐิ䠄✵ᩥᏐิ䜢ྵ䜐䠅䠈 N/A 䙜 ௨ୗ␎
  • 10. Grnxx 䛾 N/A ್ 䠄౑⏝౛䠅 䙜 䜹䝷䝮䛾ึᮇ್ 䚖 ᪂䛧䛔⾜䜔䜹䝷䝮䛿 N/A 䛷ᇙ䜑䜛 䘟 N/A 䛿⣴ᘬ䛻Ⓩ㘓䛥䜜䛺䛔 䘟 N/A 䛻ᡠ䛩䛣䛸䛜䛷䛝䜛 RowID A B C D 1 - - - - 2 - - - - 3 - - - - E N/A N/A N/A 4 N/A N/A N/A N/A
  • 11. Grnxx 䛾 N/A ್ 䠄␗ᖖ್䠅 䙜 䝊䝻㝖⟬䜔䜸䞊䝞䞊䝣䝻䞊䛾⤖ᯝ 䚖 ␗ᖖ್䛿 N/A 䛷ᇙ䜑䜛 䘟 ṇᖖ್䛸␗ᖖ್䜢༊ู䛷䛝䜛 䘟 ␗ᖖ್䛜䛒䛳䛶䜒Ṇ䜎䜙䛺䛔 RowID A B C 1 1 2 5 2 10 N/A 3 3 100 30 0 4 1000 263-1 10 A + B 3 N/A 130 N/A A / C 0 3 N/A 100
  • 12. Grnxx 䛾ᩚᩘ 䠄ᴫせ䠅 䙜 ᴫせ 䚖 ᩚᩘᆺ䜢 Int 䛻⤫ྜ䛩䜛 䙜 ≉ᚩ 䚖 64 䝡䝑䝖➢ྕ௜䛝ᩚᩘ 䘟 INT64_MIN 䛿 N/A 䛻๭䜚ᙜ䛶䜛 䚖 ⠊ᅖእ䛾್䜔␗ᖖ್䛿 N/A 䛻䛺䜛 䙜 ḞⅬ 䚖 DB 䛾䝃䜲䝈䛜኱䛝䛟䛺䜛 䚖 N/A 䛾ᢅ䛔䛜䜸䞊䝞䞊䝦䝑䝗䛻䛺䜛
  • 13. Grnxx 䛾ᩚᩘ 䠄฼Ⅼ䞉ᕤኵⅬ䠅 䙜 ᩚᩘ₇⟬䛾༢⣧໬ 䚖 ᩚᩘ₇⟬䛻䛿 64 䝡䝑䝖➢ྕ௜䛝ᩚᩘ䜢౑䛖 䘟 ₇⟬䛾⤌䜏ྜ䜟䛫䜢ῶ䜙䛩 䠄64 ㏻䜚 → 1 ㏻䜚䠅 䘟 ➢ྕ䛾᭷↓䛻䜘䜛ၥ㢟䜢㑊䛡䜛 䙜 䜹䝷䝮䛾ᐇ⿦ 䚖 ᭱ᑠ್䞉᭱኱್䛻䜘䜚ෆ㒊ᐇ⿦䜢ษ䜚᭰䛘䜛 䘟 -127 ௨ୖ 127 ௨ୗ䛺䜙 8 䝡䝑䝖➢ྕ௜䛝ᩚᩘ 䙜 䜸䞊䝞䞊䝣䝻䞊 䚖 ᑡ䛺䛟䛸䜒 x86 䛷䛿 OF 䛻䜘䜚᳨ฟ䛷䛝䜛
  • 14. Grnxx 䛾ᘧホ౯ 䠄ᴫせ䠅 䙜 ᴫせ 䚖 䝤䝻䝑䜽༢఩䛷ホ౯䛩䜛 䙜 ≉ᚩ 䚖 ₇⟬Ꮚ䜢䜂䛸䛴䛪䛴㐺⏝䛧䛶༢⣧໬䛩䜛 䚖 䝤䝻䝑䜽䜢 CPU 䜻䝱䝑䝅䝳䛻཰䜑䜛 䘟 ୍᫬㡿ᇦ䛾෌฼⏝䛻䜘䜚ຠ⋡໬䛷䛝䜛 䙜 ౑䛔᪉ 䚖 ධຊ ⾜䛾୍ぴ 䚖 ฟຊ ホ౯⤖ᯝ䜒䛧䛟䛿䝣䜱䝹䝍䝸䞁䜾⤖ᯝ
  • 15. Grnxx 䛾ᘧホ౯ 䠄₇⟬䠅 䙜 ホ౯ᘧ 䚖 䠄A + B䠅+ C ධຊ ฟຊ + + C A B ୍᫬㡿ᇦ䛾 ෆᐜ䜢ຍ⟬ 䜹䝷䝮 C 䛛䜙 ㄞ䜏ฟ䛧 ୍᫬㡿ᇦ䛾 ෆᐜ䜢ຍ⟬ 䜹䝷䝮 A 䛛䜙 ㄞ䜏ฟ䛧 䜹䝷䝮 B 䛛䜙 ㄞ䜏ฟ䛧
  • 16. Grnxx 䛾ᘧホ౯ 䠄䝣䜱䝹䝍䠅 䙜 ホ౯ᘧ 䚖 A &䠄B & C䠅 & A & ධຊ䛥䜜䛯 ⾜䛾୍ぴ䛛䜙 ๐䛳䛶䛔䛟 B C 䜹䝷䝮 A 䛻䜘䜛 䝣䜱䝹䝍䝸䞁䜾 䜹䝷䝮 B 䛻䜘䜛 䝣䜱䝹䝍䝸䞁䜾 䜹䝷䝮 C 䛻䜘䜛 䝣䜱䝹䝍䝸䞁䜾
  • 17. Grnxx 䛾䝧䞁䝏䝬䞊䜽 䠄タᐃ䠅 䙜 ᐇ㦂⎔ቃ 䚖 CPU: Core i7 3720QM 2.6GHz 䚖 RAM: 8GB 䚖 OS: Ubuntu 14.04 on VMware Fusion 7 + Yosemite 䙜 䝔䞊䝤䝹 䚖 ⾜ᩘ䠖 1 ൨ 䚖 䜹䝷䝮䠖 A, B, C 䘟 䝕䞊䝍ᆺ䠖 Int 䘟 ධຊ್䠖 0 ௨ୖ 255 ௨ୗ䛾ᨃఝ஘ᩘ
  • 18. Grnxx 䛾䝧䞁䝏䝬䞊䜽 䠄⤖ᯝ䠅 䙜 䝣䜱䝹䝍䝸䞁䜾䛾ᡤせ᫬㛫 䚖 䠄A < X䠅 AND 䠄B < X䠅 AND 䠄C < X䠅 䚖 䠄A < X䠅 OR 䠄B < X䠅 OR 䠄C < X䠅 X Ratio 䠄%䠅 AND 䝣䜱䝹䝍 䠄⛊䠅 OR 䝣䜱䝹䝍 䠄⛊䠅 16 6.25 0.563 1.863 32 12.50 0.666 2.191 64 25.00 0.862 2.870 128 50.00 1.423 3.544
  • 19. 䛚䜟䜚䛻 䙜 ௒ᅇ䛾䜎䛸䜑 䚖 N/A ್䛾ᑟධ 䚖 ᩚᩘᆺ䛾⤫ྜ 䚖 ᘧホ౯䛾᪉ἲ 䙜 ௒ᚋ䛾ணᐃ 䚖 ᩚิ䛾ຠ⋡໬ 䚖 ⣴ᘬ䛾ᶵ⬟ᣑᙇ䛸ຠ⋡໬ 䚖 ඲ᩥ᳨⣴䛾タィ䛸ᐇ⿦