More Related Content
Similar to Tokyotyrantについて
Similar to Tokyotyrantについて (7)
More from Tsukasa Oishi (6)
Tokyotyrantについて
- 5. Web アプリでの データの取り扱い RDBMS ■ 基本 ■ 頻繁な更新があると大変 ■ mixi の最終ログイン時刻の 更新は 10000qps! メモリ ■ 高速 ■ マシンが落ちたらデータも 消える
- 6. Tokyo Cabinet ■ Key-value ストレージ ・ハッシュ ・ B+ 木 ・固定長 ・テーブル ■ 高速 ・ memcached の半分ほど ■ 永続性 ・ファイル DB
- 7. Tokyo Tyrant ■ Tokyo Cabinet を複数プロセス、またリモート環境から使えるよ ■ レプリケーションが使えるよ ■ デュアルマスタも OK だよ ■ 10000 コネクションだってさばけるよ
- 10. ■ key-value ストレージだし ■ テーブル DB のクエリはシンプル ・ join はできない ・検索条件はすべて AND の 絞り込み ・ index は最初のひとつだけ それ、 RDBMS でできるよ
- 12. ■ テーブル DB ■ レストランのアクセスカウント restaurant_id => [:count, :date] ■ レストラン ID 「 100 」の店舗の昨日のアクセスカウントを取得する
- 13. rdb = TokyoTyrant::RDBTBL.new rdb.open(“localhost”, 1975) query = TokyoTyrant::RDBQRY.new(rdb) query.addcond(“”, TokyoTyrant::TDBQRY::QCNUMEQ, 100) query.addcond(“date”, TokyoTyrant::TDBQRY::QCNUMEQ, Date.new(2009,3,26).to_time.to_i) yesterday_count = query.search
- 17. クラスの定義 require 'miyazakiresistance' Class RestaurantCount < MiyazakiResistance::Base set_server “localhost”, 1975, :write set_timeout 60 set_column :count, :integer set_column :date, :date, :index end