タグ

DBと開発に関するNATTIのブックマーク (3)

  • TokyoTyrantをPHPで使う際に便利な資料と実装コードサンプル:phpspot開発日誌

    TokyoTyrantをPHPで使う際に便利な資料がスライドシェアで公開されてました。 TokyoTyrant をご存知の方も多いと思いますが、一応、知らない方に説明をすると、TokyoCabinet という高速なkey-valueストア型のデータベース操作ライブラリがあって、これのネットワークインタフェースになります。 mixi の最終ログイン時刻保存などに使われているそうで、1秒で10000回もの保存・読み出しクエリをマシンたった1台で処理できた実績があります。 データをファイルに保存するので、サーバを落としてもデータは保持され、なおかつmemcachedと同程度のパフォーマンスを発揮できるという物凄いものです。 これをPHPから扱うためにはどうするか、という際に参考に出来る資料となってます。 非常によくまとまっていたのでご紹介させて頂いてます。 資料によると、当然ながらPHP Ext

  • 京都収納棚:DBMの率直な壱実装 - mixi engineer blog

    飲み屋に行くとかなりの確率で荷物を忘れて帰るmikioです。さて、今回はここ2ヶ月ほどで急ピッチで開発した軽量データベースライブラリ「Kyoto Cabinet」について紹介します。 開発の動機 以前から軽量データベースライブラリとしてご好評いただいているTokyo Cabinetですが、DBMとして必要十分な機能と性能を備えていてなかなか良いものだと自負しております。ただ、開発を進める中でいくつか不満な点があったのも事実です。端的に言えば、全てC言語で記述して、標準ライブラリ(とzlib/bzip2)以外の機能は全て自作しているので、最適化がしやすい反面、メンテナンスの難易度が高くなってしまっているというのが不満です。 そこで、多少性能が悪くなってもいいから、私自身としてお気楽に開発およびメンテナンスができて、移植性も高いような実装を作ってみようと思い立ったのが昨年10月頃。様々な検討を

    京都収納棚:DBMの率直な壱実装 - mixi engineer blog
  • 3行でできる超お手軽全文検索 - mixi engineer blog

    梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER

    3行でできる超お手軽全文検索 - mixi engineer blog
  • 1