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の運用・監視にまつわるエトセトラ
 

2 12椛澤「tokyo tyrant」