SlideShare una empresa de Scribd logo
1 de 12
TokyoTyrantについて

    椛澤 嘉弘
今回のLT
•   TokyoTyrantの紹介
•   その素晴らしさ
•   今回で何に使っているのか
•   使っていて困ったことは何か
TokyoTyrantってなに?
• 不揮発性のKVSです。
• MySQLのようなトランザクション処理、他
  テーブルとの結合ができるRDBMSではな
  く、
  分散処理に向いた速度を追求したNoSQLで
  す。

どのくらい早いのかベンチマーク
http://gihyo.jp/dev/serial/01/various-
TokyoTyrantというかNoSQLの特
             徴
• ベンチマークから分かるように、かなり
  早い。
• 特にデータの読み込みはかなり早いので、
  ソーシャルゲームなどのフラグ管理に良
  くつかわれる。
• スケールアウトしやすい。(TTは無
  理っぽいらしいですが)
詳しくは
http://www.atmarkit.co.jp/flinux/rensai/noSQL/
  noSQL_01/01_1.html
今回はどんなことに使っているの
          か。
•   現在のスタミナ、スタミナの最大値
•   現在のマナ
•   今どこのダンジョンにいるのか
•   一番進んでいるダンジョンはどこか
•   ガチャが回せるかフラグ
•   ログイン処理
•   ダンジョンで消費するスタミナ
•   などなど
具体的な使い方1
• KVSなので、少しだけ面白い使い方を
  します。

(ex)スタミナの挿入・取得
tt->put(“stmaina_”.$user_id,$stamina);
tt->get(“stamina_”.$user_id);
具体的な使い方2
• MySQLのようなテーブル型のDBならば
  $user_idを入力するだけで全ての情報を取
  り出せるのですが、今回はテーブル型で
  はなく、
KVS型でやっているので$user_idの前に、
カラム名のように名前を付けることで適切
 なデータの挿入・取得を行っています。
詳しくは、tt_game.phpに関数をまとめてお
 いたので、暇な時に見てください。
今回使っていて困ったこと1
• TokyoTyrantをphpから触るために
  Net_TokyoTyrantというPEARの提供するラ
  イブラリを使いました。

• そのためTokyoTyrantの醍醐味ともいえる
  add()が使えない。(中身見ると実装され
  てなかったり)
その対策1
• add()を一番使いたかったのは、mana関係
• Staminaなどは毎回取得して判定を行わな
  ければならなかったにも関わらず、mana
  は中身を気にせずインクリメントしてい
  きたかった。

• Net_TokyoTyrantを変更する、PEARではな
  くPECLの提供するTTを使う。などあったの
  ですが、リクエストが1回増える程度な
  のでとりあえず放置しています。
今回使っていて困ったこと2
• phpは動的に変数の型を決めるのですが、
  Net_TokyoTyrantの中ではValueが強制的に
  String型に変更されているため、ガチャフ
  ラグに0と1を使おうとしていたのですが、
  phpあるある的にstirng型の0や”0”などは全
  てnullになっちゃうっていう怖さ。配列の
  0,0,0は入るんだけど、 stirng型の0は入ら
  ないんですね。
その対策2
• Dungeonの情報については、
どのダンジョンに
どのフロアに
どのルームにいるのかという情報があった
 ので、
配列をJSONエンコードして、データを入れ
 ております。
TokyoTyrantについて

    椛澤 嘉弘

文字ばっかりでさーせんした!

Más contenido relacionado

Destacado

L'Harmonia, ateneu popular i cultural
L'Harmonia, ateneu popular i culturalL'Harmonia, ateneu popular i cultural
L'Harmonia, ateneu popular i culturalAteneuharmonia
 
Oferta de emprego: Técnico Administrativo
Oferta de emprego: Técnico AdministrativoOferta de emprego: Técnico Administrativo
Oferta de emprego: Técnico AdministrativoAJE Galicia
 
L'harmonia, ateneu popular i cultural 2
L'harmonia, ateneu popular i cultural 2L'harmonia, ateneu popular i cultural 2
L'harmonia, ateneu popular i cultural 2Ateneuharmonia
 
Eec 4731 milestone 1-childhood obesity
Eec 4731 milestone 1-childhood obesityEec 4731 milestone 1-childhood obesity
Eec 4731 milestone 1-childhood obesityascallen
 

Destacado (6)

L'Harmonia 2012
L'Harmonia 2012L'Harmonia 2012
L'Harmonia 2012
 
L'Harmonia, ateneu popular i cultural
L'Harmonia, ateneu popular i culturalL'Harmonia, ateneu popular i cultural
L'Harmonia, ateneu popular i cultural
 
Tompkins2
Tompkins2Tompkins2
Tompkins2
 
Oferta de emprego: Técnico Administrativo
Oferta de emprego: Técnico AdministrativoOferta de emprego: Técnico Administrativo
Oferta de emprego: Técnico Administrativo
 
L'harmonia, ateneu popular i cultural 2
L'harmonia, ateneu popular i cultural 2L'harmonia, ateneu popular i cultural 2
L'harmonia, ateneu popular i cultural 2
 
Eec 4731 milestone 1-childhood obesity
Eec 4731 milestone 1-childhood obesityEec 4731 milestone 1-childhood obesity
Eec 4731 milestone 1-childhood obesity
 

Similar a 2 12椛澤「tokyo tyrant」

MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2Takashi Hoshino
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracingTakayoshi Tanaka
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜Kazuki Nakano
 
トランザクションの並行処理制御
トランザクションの並行処理制御トランザクションの並行処理制御
トランザクションの並行処理制御Takashi Hoshino
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較Ryota Suzuki
 
Tableauのつまづきポイント
TableauのつまづきポイントTableauのつまづきポイント
TableauのつまづきポイントShinji Tamura
 
TDUCTFの実行基盤
TDUCTFの実行基盤TDUCTFの実行基盤
TDUCTFの実行基盤Youta Egusa
 
XID周回問題に潜む別の問題
XID周回問題に潜む別の問題XID周回問題に潜む別の問題
XID周回問題に潜む別の問題Masahiko Sawada
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 

Similar a 2 12椛澤「tokyo tyrant」 (20)

MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracing
 
Play ja 3_update
Play ja 3_updatePlay ja 3_update
Play ja 3_update
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
 
トランザクションの並行処理制御
トランザクションの並行処理制御トランザクションの並行処理制御
トランザクションの並行処理制御
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
 
Net fringejp2016
Net fringejp2016Net fringejp2016
Net fringejp2016
 
Code jp2015 cpuの話
Code jp2015 cpuの話Code jp2015 cpuの話
Code jp2015 cpuの話
 
Tableauのつまづきポイント
TableauのつまづきポイントTableauのつまづきポイント
Tableauのつまづきポイント
 
TDUCTFの実行基盤
TDUCTFの実行基盤TDUCTFの実行基盤
TDUCTFの実行基盤
 
MySQL at Yahoo! JAPAN #dbts2018
MySQL at Yahoo! JAPAN #dbts2018MySQL at Yahoo! JAPAN #dbts2018
MySQL at Yahoo! JAPAN #dbts2018
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
XID周回問題に潜む別の問題
XID周回問題に潜む別の問題XID周回問題に潜む別の問題
XID周回問題に潜む別の問題
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 

Último

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Último (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

2 12椛澤「tokyo tyrant」