タグ

tokyotyrantに関するWatsonのブックマーク (5)

  • 第3回 NoSQLを動かしてみよう | gihyo.jp

    NoSQLの種類 第1回第2回とNoSQLRDBMSの比較を行ってきました。では、NoSQLの具体的なプロダクトって何があるのよ?という話ですが、実際に調べてみると結構な数のプロダクトが存在するようです。 こちらのブログで紹介されていますが、実に40種類以上ものNoSQLが挙げられています。そして元ネタとなった資料も紹介されていますが(プレゼン資料をPDF化したものらしい⁠)⁠、RDBMSとの違いをNot Only ACID, Not Only Relationalと表現していたりなかなか興味深いものがあります。 さて、今回は数あるNoSQLの中からTokyoCabinet/TokyoTyrantを取り上げたいと思います。 TokyoCabinet/TokyoTyrantとは TokyoCabinet(以下TC)は現Mixiの平林幹雄氏が開発したもので、実際にMixiのシステムでも使用さ

    第3回 NoSQLを動かしてみよう | gihyo.jp
  • TokyoTyrantをRubyで使ってみた « BPS株式会社 ネットワークエンジニアブログ Beyond Perspective Solutions LTD.

    伊藤です。 今はやりのKey-Valueストア, TokyoTyrantをUbuntu Linuxにインストールして、Rubyから試してみました。 TokyoTyrantはあるバイト列(key)に、あるバイト列(value)を対応させて保存し、取り出すことができるサーバです。 バックグラウンドの技術として、コアのkey-valueペアの集合を効率的にファイルに保存したり取り出したりするTokyoCabinetが使われています。 TokyoCabinetRubyのライブラリがあるのですが、key-valueの値をネットワーク上から共有したい場合にはTCPサーバのラッパーをかぶせたTokyoTyrantが便利に使えます。 ネットワークkey-valueストアの始祖であるmemcachedに対するTokyoTyrantの特徴は、全ての書き込みがファイルに保存されることです。 しかし、様

  • 第3回 様々なデータ型を扱えるTokyoTyrant | gihyo.jp

    どんなところに使える? もっとも簡単な利用方法は、前回紹介したmemcachedの代替として利用するというものです。memcached互換プロトコルが実装されているため、memcachedを利用している場合ポート番号を変えるだけでTokyoTyrantに差し替えることが可能です。これだけで簡単にデータの永続性が得られます。 また、テーブルデータベースを利用すれば一つのkeyに対して複数のvalueを持たせることが可能であり、keyだけでなく任意のvalueを条件としてデータの検索を行うこともできます。JOINやGROUP BYといった処理は行えませんが、それ以外のほとんどの検索条件を扱えます。レスポンスはRDBMSに比べて高速なので、アクセス数が多いテーブルをTokyoTyrantのテーブルデータベースに載せ換える、といった利用方法も効果的かもしれません。 具体的な利用シーン memcac

    第3回 様々なデータ型を扱えるTokyoTyrant | gihyo.jp
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • mixi Engineers’ Blog >> Tokyo (Cabinet|Tyrant)の新機能

    アロハシャツとショートパンツとビーサンで出勤してスネ毛が美しくないと評判のmikioです。さて今回は、Tokyo Cabinet(TC)とTokyo Tyrant(TT)のそれぞれ最新版でサポートされた新機能についてご紹介します。 固定長データベース 最終ログイン時刻データベースをTTで管理する仕組みについての記事を以前書きましたが、それに対して「各レコードを固定長にすればlseek一発で参照できるよ」という趣旨のご指摘をいただきました。全くその通りで、最終ログイン時刻の値に必要な領域は各ユーザ毎に10バイトもあれば十分ですし、検索キーはユーザID(mixiにおいては1からの連番)なので、それを添字に使えば二次元配列としてデータベースを表現することができます。 ただし、yamazさんも指摘しているように、ログイン時刻データベースのスループット限界はwriteがブロックすることにより訪れるの

    mixi Engineers’ Blog >> Tokyo (Cabinet|Tyrant)の新機能
  • 1