SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Tokyo Cabinet & Tokyo Tyrant を使ってみた。 そして比較してみた
[object Object],[object Object],[object Object],[object Object],Tokyo Cabinet :  ライブラリ群 Tokyo Tyrant :  サーバ Tokyo Cabinet, Tokyo Tyrant  って何?
じゃあ、 KVS って何? ,[object Object],[object Object],じゃあ、 KVS だとなぜ速いの? ,[object Object],[object Object],ハッシュ探索 線形探索 二分探索 計算量 O (1) 一回で見つかる O (n) n の数に比例する O (log n) 一回の探索で残りの探索が n/2 になる 例 開発言語標準の連想配列 Berkeley DB Memcached Tokyo Cabinet 順次ファイル(追記型ログ) 配列(非ソート) 配列(ソート済)
ファイル形式だと何が嬉しいの? ,[object Object],[object Object],注)メモリ形式も可能です。
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Cache::Memcached::Fast などがそのまま使えます。 memcached が持つほとんど命令を使えます。 memcahched との高い互換性
実際にベンチしてみた 尚、 100 万件で試した場合、 memcached, TC ともにほぼ 10 倍でした。 ( MySQL は怖かったのでやってません) 100 万件入れた時のファイルのサイズは、 32MB でした。 ( Key, Value ともに、 10 文字以下程度) 内容 Memcached TC&TT MySQL 10 万件の保存と取得 15.5 秒 21.7 秒 2 分 45 秒 10 万件の取得 7.5 秒 11.7 秒 1 分 11 秒 10 万件の取得 2 回目 - - 32 秒 10 万件の挿入 8.6 秒 10.2 秒 InnoDB 1 分 34 秒 MyISAM 57 秒
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TokyoTyrant とやりとりしてみる [user@kvs1 ~]$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'. stats STAT pid 19961 STAT uptime 306231 STAT time 1254891294 STAT version 1.2.6 STAT pointer_size 32 STAT rusage_user 5.395179 STAT rusage_system 11.608235 STAT curr_items 29483 STAT total_items 53887 STAT bytes 8181340 STAT curr_connections 5 STAT total_connections 53907 STAT connection_structures 9 STAT cmd_get 29383 STAT cmd_set 53887 STAT get_hits 24405 STAT get_misses 4978 STAT evictions 0 STAT bytes_read 15168129 STAT bytes_written 7480029 STAT limit_maxbytes 67108864 STAT threads 4 END TokyoTyrant memcached [user@kvs1 ~]$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'. set key-001 0 0 5 12345 STORED get key-001 VALUE key-001 0 5 12345 END 保存と参照
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TokyoTyrant  を  Service で起動する # vi /usr/local/sbin/ttservctl # ln –s /usr/local/sbin/ttservctl /etc/init.d/ttserver # chkconfig --list  ttserver ttserver  0:off  1:off  2:off  3:on  4:on  5:on  6:off # service ttserver start Starting the server of Tokyo Tyrant Executing: /usr/local/bin/ttserver -port 1978 -dmn -pid /var/ttserver/pid Done
まとめ ,[object Object],[object Object],[object Object],[object Object],memcached TC&TT 速度 - memcached 比  70 % 形式 オンメモリー ファイル オンメモリー 実績 枯れていて実績多数 Mixi など

Weitere ähnliche Inhalte

Andere mochten auch

軽量高機能webサーバーnginx
軽量高機能webサーバーnginx軽量高機能webサーバーnginx
軽量高機能webサーバーnginxngi group.
 
muninで簡単&自在サーバーモニタリング
muninで簡単&自在サーバーモニタリングmuninで簡単&自在サーバーモニタリング
muninで簡単&自在サーバーモニタリングngi group.
 
Html5 入門編 その2
Html5 入門編 その2Html5 入門編 その2
Html5 入門編 その2ngi group.
 
素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~ngi group.
 
Git紹介~入門編~
Git紹介~入門編~Git紹介~入門編~
Git紹介~入門編~ngi group.
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903ngi group.
 
正規表現のススメ_20091217
正規表現のススメ_20091217正規表現のススメ_20091217
正規表現のススメ_20091217ngi group.
 
Mixiアプリで体験する Open Social
Mixiアプリで体験する Open SocialMixiアプリで体験する Open Social
Mixiアプリで体験する Open Socialngi group.
 
Zshって最強らしい
Zshって最強らしいZshって最強らしい
Zshって最強らしいngi group.
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】MOCKS | Yuta Morishige
 

Andere mochten auch (12)

軽量高機能webサーバーnginx
軽量高機能webサーバーnginx軽量高機能webサーバーnginx
軽量高機能webサーバーnginx
 
muninで簡単&自在サーバーモニタリング
muninで簡単&自在サーバーモニタリングmuninで簡単&自在サーバーモニタリング
muninで簡単&自在サーバーモニタリング
 
Html5 入門編 その2
Html5 入門編 その2Html5 入門編 その2
Html5 入門編 その2
 
素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~素敵なjavascript ~Firefox編 ~
素敵なjavascript ~Firefox編 ~
 
Git紹介~入門編~
Git紹介~入門編~Git紹介~入門編~
Git紹介~入門編~
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903
 
正規表現のススメ_20091217
正規表現のススメ_20091217正規表現のススメ_20091217
正規表現のススメ_20091217
 
Tokyo Cabinet
Tokyo CabinetTokyo Cabinet
Tokyo Cabinet
 
Mixiアプリで体験する Open Social
Mixiアプリで体験する Open SocialMixiアプリで体験する Open Social
Mixiアプリで体験する Open Social
 
Zshって最強らしい
Zshって最強らしいZshって最強らしい
Zshって最強らしい
 
しょぼいプレゼンをパワポのせいにするな! by @jessedee
しょぼいプレゼンをパワポのせいにするな! by @jessedeeしょぼいプレゼンをパワポのせいにするな! by @jessedee
しょぼいプレゼンをパワポのせいにするな! by @jessedee
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
 

エンジニア知識共有会発表資料_20091008_TokyoCabinet

  • 1. Tokyo Cabinet & Tokyo Tyrant を使ってみた。 そして比較してみた
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. 実際にベンチしてみた 尚、 100 万件で試した場合、 memcached, TC ともにほぼ 10 倍でした。 ( MySQL は怖かったのでやってません) 100 万件入れた時のファイルのサイズは、 32MB でした。 ( Key, Value ともに、 10 文字以下程度) 内容 Memcached TC&TT MySQL 10 万件の保存と取得 15.5 秒 21.7 秒 2 分 45 秒 10 万件の取得 7.5 秒 11.7 秒 1 分 11 秒 10 万件の取得 2 回目 - - 32 秒 10 万件の挿入 8.6 秒 10.2 秒 InnoDB 1 分 34 秒 MyISAM 57 秒
  • 7.
  • 8.
  • 9.