合宿で Tokyo Tyrant 部分、いろいろチューニングしたのでメモ。細かいのでその手の方以外はスルーの方向で。 対象は便利すぎる Tokyo Tyrant Table。 ・インデックス addCond()->addCond()->addCond() で絞り込んでいくとき、hint() で調べると最後に追加した Query から順に Index を使っていることがわかる。(5/3追記)⇒最後ではなく、2番目、一番目、と使う様子。 なので最初は大雑把な絞り込み(カテゴリとか)を行い、最後に詳細な絞り込み(ユーザーID)なんかをかけた方がパフォーマンスがあがる様子(手元のベンチマークでは上がった)。 ・数値インデックスに対する NUMGT や NUMGE 日付のタイムスタンプなどで、過去三日以内、というときに addCond(日付のとこ, 数値が~より大きい, 3日前) みたいな感じにする
はじめまして。ミュージック開発チームのtomと申します。名前はtomですが純日本人です。(本名も"tom"でちゃんと漢字があります。) 今回は、"オンラインコーヒーメーカー萌香たん"を作ったりできることでおなじみのODFをちょっとお得に使うための、「ODF繰り越し制度」の紹介と、その制度を利用して私が作っているTokyo CabinetのHaskellバインディングを紹介させていただければと思います。 ODF繰り越し制度 弊社のエンジニアは、ODF(One Day Free)という制度を使って、毎週金曜日に自分が好きなことに取り組むことができます。このODF制度、四半期ごとに実施する or しないを申告するのですが、このときになんと「繰り越す」という選択肢が用意されているのです。 普通のODFでは、四半期(3ヶ月)の間、週1日を自由な時間として確保することができます。とは言っても忙しい時期
Tokyo Cabinet Wiki This is an unofficial page to collect links of Tokyo Cabinet, Tokyo Tyrant and related projects. Current versions are: Tokyo Cabinet 1.4.47, Tokyo Tyrant 1.1.41. Official Content 1978th.net Technical blog of Mikio Hirabayashi, the creator of TC/TT, and so on. Some of them will be translated at 1978thNetTableOfContents Introduction to Tokyo Products Introduction to Kyoto Products
そろそろKVSを本格導入したいなーと思ったので、TokyoCabinetを少しさわってみた。 とりあえず、DSASの中の人が公開しているmod_syslogを改変して、テーブルデータベースにログを出力するモジュールを、ものすごくいい加減に実装。 #include "apr_hooks.h" #include "ap_config.h" #include "mod_log_config.h" #include "http_config.h" #include <tcutil.h> #include <tctdb.h> #include <stdlib.h> #include <stdbool.h> #include <stdint.h> module AP_MODULE_DECLARE_DATA tctlog_module; static const char syslog_filter_n
tokyo_tyrant はじめにインストール/設定要件インストール手順実行時設定リソース型定義済み定数例TokyoTyrant — TokyoTyrant クラスTokyoTyrant::add — 数値キーを加算するTokyoTyrant::connect — データベースに接続するTokyoTyrant::connectUri — データベースに接続するTokyoTyrant::__construct — 新しい TokyoTyrant オブジェクトを作成するTokyoTyrant::copy — データベースをコピーするTokyoTyrant::ext — リモートスクリプトを実行するTokyoTyrant::fwmKeys — 前方一致でマッチするキーを返すTokyoTyrant::get — 値を取得するTokyoTyrant::getIterator — イテレータを取得する
2009年10月04日20:18 KVS Ruby 噂のTokyoCabinet/TokyoTyrantを使ってみた key-value ストアに興味がある ささたつ です。key-value ストアとして有名なものといえば memcached かと思いますが、他にも TokyoCabinet や TokyoTyrant というものも注目されています(不思議な名前ですね!)。key-value ストアでありながら高速、かつ、データをメモリで無くファイルに保存しているため、サーバが落ちてもデータが消えないとか。 実際に mixi の最終ログイン時間の保持などに使われているそうです。 memcached をセッションの保持などに使っている場合、memcached のサーバがダウンしてしまったら、データは全て消えてしまいます。その結果 RDBMS にアクセスが集中し、パフォーマンスが大幅に悪化し
まだピクミン2をクリアしてないのでケジメ的に新作ゲームを買えないmikioです。今回は、Tokyo Cabinetを使って激烈簡単に特定サイトの専用の検索機能を設置する方法について説明します。クローリングから検索までを10分くらいの作業で可能にします。 特定サイトの検索エンジン Web全体の検索機能を作るのは、途方もない技術力と設備を持っているGoogleやMicrosoftなどのビッグプレーヤでないと難しいのが現実です。でも、自分が気に入っているいくつかのサイトを対象とした検索エンジンを作るのであれば個人だってできます。また、インターネットから手が届かないイントラネットのコンテンツの検索機能は自分達で手がけないと構築できません。 ということで、企業用の検索システムが数多く売られていますし、LuceneやGroongaやHyper Estraierなどのオープンソース製品も世に多数存在しま
梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlやRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く