SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
uguisudaniのご紹介 
moriyoshi
uguisudaniとは 
• https://github.com/moriyoshi/ 
uguisudani/ 
• Pure PHP in-memory NoSQL server 
• 734 lines of code 
• Crash recovery (journaling)
uguisudaniの構造 
Request Handler 
stream_select() 
Store Proxy 
Client 
Client 
Client 
Memory Store Journal Handler 
array() 
メタデータ 
fwrite() 
Metadata 
30秒おきに 
書き出し 
更新操作を 
逐次記録 
serialize() fwrite() 
fwrite() 
Data file file Journal File
性能測定 
• 500000件のレコードの挿入 
• そのなかから50000件の検索 
• 全くチューニングしていない 
MongoDBとの比較
結果 
• uguisudani 
• write500000: 113.6sec 
• read50000: 14.6sec 
• MongoDB 
• write500000: 61.3sec 
• read50000: 0.03sec
意外と速いな...

Contenu connexe

Tendances

Aerospike基本のき
Aerospike基本のきAerospike基本のき
Aerospike基本のきYuto Suzuki
 
Webサーバの性能測定
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定Ryo Maruyama
 
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springmongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springichikaway
 
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみましたRyuji Tamagawa
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument dbKazunori Hamamoto
 
20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakims20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakimsKuninobu SaSaki
 
MySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearchMySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearchKentaro Yoshida
 
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazakiAyachika Kitazaki
 
MODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開しますMODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開しますKei Mikage
 
Aws x MLB ~after cast~
Aws x MLB ~after cast~Aws x MLB ~after cast~
Aws x MLB ~after cast~Yuta Matsumura
 
CfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するCfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するDaisuke Nagao
 
第6回はじめてのAws jaws ug-iwata
第6回はじめてのAws jaws ug-iwata第6回はじめてのAws jaws ug-iwata
第6回はじめてのAws jaws ug-iwataiwata jaws-ug
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migrationspg_games
 
Introducing mroonga 20111129
Introducing mroonga 20111129Introducing mroonga 20111129
Introducing mroonga 20111129Kentoku
 
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Kuninobu SaSaki
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Masahiko Sawada
 
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策Daisuke Nagao
 
Postgre sql&postgisのインストール(仮)
Postgre sql&postgisのインストール(仮)Postgre sql&postgisのインストール(仮)
Postgre sql&postgisのインストール(仮)Hideo Harada
 

Tendances (20)

Aerospike基本のき
Aerospike基本のきAerospike基本のき
Aerospike基本のき
 
Webサーバの性能測定
Webサーバの性能測定Webサーバの性能測定
Webサーバの性能測定
 
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springmongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 spring
 
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument db
 
20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakims20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakims
 
MySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearchMySQLユーザ視点での小さく始めるElasticsearch
MySQLユーザ視点での小さく始めるElasticsearch
 
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki
 
MODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開しますMODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開します
 
Aws x MLB ~after cast~
Aws x MLB ~after cast~Aws x MLB ~after cast~
Aws x MLB ~after cast~
 
CfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するCfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築する
 
第6回はじめてのAws jaws ug-iwata
第6回はじめてのAws jaws ug-iwata第6回はじめてのAws jaws ug-iwata
第6回はじめてのAws jaws ug-iwata
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
 
Introducing mroonga 20111129
Introducing mroonga 20111129Introducing mroonga 20111129
Introducing mroonga 20111129
 
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
 
Bsdtw repo
Bsdtw repoBsdtw repo
Bsdtw repo
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
 
U boot-for-zynqberry
U boot-for-zynqberryU boot-for-zynqberry
U boot-for-zynqberry
 
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
 
Postgre sql&postgisのインストール(仮)
Postgre sql&postgisのインストール(仮)Postgre sql&postgisのインストール(仮)
Postgre sql&postgisのインストール(仮)
 

En vedette

HPHPは約束の地なのか
HPHPは約束の地なのかHPHPは約束の地なのか
HPHPは約束の地なのかMoriyoshi Koizumi
 
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidAuthentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidMoriyoshi Koizumi
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2goMoriyoshi Koizumi
 
mod_himoteからはじめよう
mod_himoteからはじめようmod_himoteからはじめよう
mod_himoteからはじめようMoriyoshi Koizumi
 
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクトPhjosh(仮)プロジェクト
Phjosh(仮)プロジェクトMoriyoshi Koizumi
 
Pyramidのrendererをカスタマイズする
PyramidのrendererをカスタマイズするPyramidのrendererをカスタマイズする
PyramidのrendererをカスタマイズするMoriyoshi Koizumi
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarSotaro Karasawa
 
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 AutumnHacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 AutumnMoriyoshi Koizumi
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話しますMoriyoshi Koizumi
 
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたよいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたMoriyoshi Koizumi
 

En vedette (18)

HPHPは約束の地なのか
HPHPは約束の地なのかHPHPは約束の地なのか
HPHPは約束の地なのか
 
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidAuthentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2go
 
mod_himoteからはじめよう
mod_himoteからはじめようmod_himoteからはじめよう
mod_himoteからはじめよう
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクトPhjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
 
Pyramidのrendererをカスタマイズする
PyramidのrendererをカスタマイズするPyramidのrendererをカスタマイズする
Pyramidのrendererをカスタマイズする
 
Gocon2013
Gocon2013Gocon2013
Gocon2013
 
PHP language update 201211
PHP language update 201211PHP language update 201211
PHP language update 201211
 
Pyfes201110
Pyfes201110Pyfes201110
Pyfes201110
 
Haxeについて
HaxeについてHaxeについて
Haxeについて
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
Ik in action
Ik in actionIk in action
Ik in action
 
PHP7を魔改造した話
PHP7を魔改造した話PHP7を魔改造した話
PHP7を魔改造した話
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 AutumnHacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 Autumn
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話します
 
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたよいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
 

Plus de Moriyoshi Koizumi

Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話Moriyoshi Koizumi
 
LLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐PythonLLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐PythonMoriyoshi Koizumi
 
10〜30分で何となく分かるGo
10〜30分で何となく分かるGo10〜30分で何となく分かるGo
10〜30分で何となく分かるGoMoriyoshi Koizumi
 
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法Phpをいじり倒す10の方法
Phpをいじり倒す10の方法Moriyoshi Koizumi
 
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewX / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewMoriyoshi Koizumi
 

Plus de Moriyoshi Koizumi (11)

Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
ctypes拡張モジュール
ctypes拡張モジュールctypes拡張モジュール
ctypes拡張モジュール
 
LLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐PythonLLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐Python
 
Introducing E-Cell 3.2
Introducing E-Cell 3.2Introducing E-Cell 3.2
Introducing E-Cell 3.2
 
GoでKVSを書けるのか
GoでKVSを書けるのかGoでKVSを書けるのか
GoでKVSを書けるのか
 
PHPのすべらない話#3
PHPのすべらない話#3PHPのすべらない話#3
PHPのすべらない話#3
 
10〜30分で何となく分かるGo
10〜30分で何となく分かるGo10〜30分で何となく分かるGo
10〜30分で何となく分かるGo
 
PHPのすべらない話
PHPのすべらない話PHPのすべらない話
PHPのすべらない話
 
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
 
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewX / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural Overview
 

Uguisudani