タグ

tokyocabinetに関するmainyaaのブックマーク (11)

  • [書評]MySQLをハックしまくりたい人のためのスゴ本「MySQL 5.1 Plugin Development」

    MySQLはGPLv2で頒布されているフリー(自由な)ソフトウェアだ。誰でも自由に改造、改善、機能追加して、GPLv2のもと再頒布することが出来る。 そうは言っても改造なんて敷居が高くて出来ないよ・・・という人に朗報なのが書「MySQL 5.1 Plugin Development」だ!MySQLはストレージエンジンによってデータを管理するレイヤーが独立しているのはよく知られているが、MySQL 5.1ではさらに一歩進んで、ストレージエンジンを含む様々なプラグインを作成できるようになった。プラグインAPIを使ってMySQLを拡張すれば、無造作に改造してしまうよりもずっと楽にMySQLをハック*1することが出来るだろう。 MySQL 5.1で利用可能なプラグインPlugin APIは、MySQL 5.1で新たに追加された機能である。これにより、共有ライブラリ形式で後から機能を追加することが

    [書評]MySQLをハックしまくりたい人のためのスゴ本「MySQL 5.1 Plugin Development」
  • YappoLogs: TokyoCabinetがPerlのHASHより遅いわけがない!

    TokyoCabinetPerlのHASHより遅いわけがない! こんにちわ!金曜日担当・Shibuya内フェアリーことYappoです。 mixi Engineers’ Blog » PerlRubyで省メモリなハッシュを使おうにて 100万件のレコードを格納した場合のメモリ使用量と処理時間を測ってみましょう。Perl(5.8.8)でテストコードを動かしたところ、以下の改善が確認できました。標準のハッシュに比べて、メモリ使用量がTCのオンメモリハッシュだと約61%、TCのオンメモリツリーだと約37%になることがわかります。処理時間に関しては157%ほどになっていますが、まあ許容範囲ですよね。といった事が書かれており、その文面の上の解説で、tieしたので、tieしてるからおせーんじゃねーの?とテストコードも見ないで呟いてたらmikioさんからtie使わないでやってるよ!とつっこんでいただき

  • TCのHaskellバインディングとODF繰り越し制度の紹介 - mixi engineer blog

    はじめまして。ミュージック開発チームのtomと申します。名前はtomですが純日人です。(名も"tom"でちゃんと漢字があります。) 今回は、"オンラインコーヒーメーカー萌香たん"を作ったりできることでおなじみのODFをちょっとお得に使うための、「ODF繰り越し制度」の紹介と、その制度を利用して私が作っているTokyo CabinetのHaskellバインディングを紹介させていただければと思います。 ODF繰り越し制度 弊社のエンジニアは、ODF(One Day Free)という制度を使って、毎週金曜日に自分が好きなことに取り組むことができます。このODF制度、四半期ごとに実施する or しないを申告するのですが、このときになんと「繰り越す」という選択肢が用意されているのです。 普通のODFでは、四半期(3ヶ月)の間、週1日を自由な時間として確保することができます。とは言っても忙しい時期

    TCのHaskellバインディングとODF繰り越し制度の紹介 - mixi engineer blog
  • GREE Engineering

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    GREE Engineering
  • DBMによるテーブルデータベース その五 - mixi engineer blog

    ついに発売されたスト4のコンシューマ機版をやりたくてしょうがないけど筐体を買ってもらえないので、駅前のゲーム屋のディスプレー前で垂涎するばかりのmikioです。今回は連載の最終回で、各種スクリプト言語を使ってお手軽にテーブルデータベースを操作する方法について説明します。 TokyoCabinet::TDB まずは、TCのPerlバインディングとRubyバインディングの最新版を入手してください。それぞれテーブルデータベースを扱うための TokyoCabinet::TDB というクラスが加わっています。以下のようなIDLによるガイドラインに準拠したインターフェイスが提供されますので、使い方は言語にかかわらず同じようになるはずです。 module TokyoCabinet { interface TDB { boolean open(in string path, in long omode);

    DBMによるテーブルデータベース その五 - mixi engineer blog
  • Tokyo Cabinet: Beyond Key-Value Store - igvita.com

    By Ilya Grigorik on February 13, 2009 It took Ruby some time to go from an infant research project by Matz to a language we've all come to know so well. Now, another Japanese developer (Mikio Hirabayashi) has all the potential to repeat this cycle with his new database project: Tokyo Cabinet. Developed and sponsored by Mixi Inc. (Japanese Facebook), it is an incredibly fast, and feature rich datab

    mainyaa
    mainyaa 2009/02/16
    (Japanese Facebook)
  • memstored 0.1 = memcached + mpio + Tokyo Cabinet - Blog by Sadayuki Furuhashi

    memstored は memcached のバイナリプロトコルをサポートしたハッシュストレージサーバーです。IO戦略ライブラリmpio の信頼性と性能をテストするために開発しました。 IOに mp::iothreads を使用し、バックエンドには Tokyo Cabinet の抽象データベースAPIを利用しているため、高速でスケーラビリティが高く、かつ柔軟性の高いアーキテクチャになっています。プログラムの大部分はライブラリによって実現されているため、プログラム全体の見通しが良く、行数で見ても非常に小さく収まっています。 SVN (memstored): http://svn.coderepos.org/share/lang/c/memstored/trunk SVN (mpio): http://svn.coderepos.org/share/lang/c/mpio/trunk パッケー

    memstored 0.1 = memcached + mpio + Tokyo Cabinet - Blog by Sadayuki Furuhashi
  • http://twitter.com/lenn0x/statuses/845417231

  • DBMによるデータベースサーバ - mixi engineer blog

    DSのスターフォックスというゲームにはまりまくりのmikioです。最近社内外で「俺ストレージサーバ」を作るのが流行っているようなので私も参戦してみました。今回はDBMのネットワーク層をほぼスクラッチで作った話をします。 Tokyo Tyrant Tokyo Tyrant(以下TT)はTokyo Cabinet(以下TC)をラップしてネットワーク越しに操作できるようにするツールです。キャビネット(内閣)を傀儡にするタイラント(僭主)ということで名付けました。ダウンロードはこちら。 TCは高性能なDBMで、マルチスレッドモデルで高い並列性を実現していますが、逆にマルチプロセスモデルだとファイルロックがかかるので並列性が低くなってしまいます。つまり、書き込みモードでデータベースにアクセスしているプロセスがいると、その間は他のプロセスがデータベースに接続しようとするとブロックされることになります。

    DBMによるデータベースサーバ - mixi engineer blog
    mainyaa
    mainyaa 2008/01/28
    「幸いにして各回をストップウォッチで計れないくらいにはなっています」
  • MOONGIFT: » Hyper Estraier作者による新型DBM「Tokyo Cabinet」:オープンソースを毎日紹介

    枯れた技術は完成度が高いが、だからといって完璧な訳ではない。技術は常に刷新され、磨かれていくべきだ。そのため、他の実装が出てくるのは重要だ。 DBMと言えば、キーと値を持つごくシンプルなデータベースだ。これは昔から存在し、Berkeley DBやQDBMで完成度が高まっている。だが、さらにそれを乗り越えるソフトウェアが生み出されている。 今回書介するオープンソース・ソフトウェアはTokyo Cabinet、日発のDBM実装だ。 Tokyo CabinetはあのHyper Estraierの作者である平林幹雄氏(以下mikio氏)によるソフトウェアで、Hyper Estraierの内部で利用されているQDBMよりも高速に動作するらしい。前方一致や数値の範囲検索、さらにトランザクションも利用できる。 ハッシュは便利だが、実行されるごとになくなってしまうのが不便だ。これをTokyo Cabin

    MOONGIFT: » Hyper Estraier作者による新型DBM「Tokyo Cabinet」:オープンソースを毎日紹介
  • mixi Engineers’ Blog » 言語バインディングを書こう

    世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な

    mixi Engineers’ Blog » 言語バインディングを書こう
    mainyaa
    mainyaa 2007/11/09
    前から気になってた。ありがたい。
  • 1