タグ

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

  • TCとTTについて調べてみる - yasuhisa's blog

    自分用メモ。TCとTTのことがよく分かってないので、調べよう。 TCのデータベースの種類の概要 色々データベースの特徴がある。使うデータベースによって拡張子とかも違う。ハッシュデータベースが一般的のようだ。 ハッシュデータベース 1つのkeyに対して1つのvalueを持つ B+-tree データベース 同じkeyに対して複数のレコードを格納できる テーブルデータベース 特定のkeyに対して複数の値を保持できる テーブルデータベース ハッシュデータベースは基形で、使うのは簡単なのだが、RDBっぽく使ってるといくつも書かないといけなくなって面倒に感じることも多い(ロジックに矛盾がないことを保証するとか特に)。そういうときにテーブルデータベースは威力を発揮する、らしい。 ハッシュデータベースのように主キーでレコードを識別しながらも、リレーショナルデータベースのようにレコード内に名前をつけた複数

  • Omnivoreというのを作り始めた - Kentaro Kuribayashi's blog

    「新しいTokyo Tyrantで遊んでみてなんとなく動いた記録」で書いたようなことをやっていて、ストレージにLux IOを使わせてもらったものの、決め打ちなのが微妙だなあと思ったので、C++の練習にちょうどいいかなってんで、各種DBMを抽象化したライブラリ的なものを書いてみようと思いました。Omnivoreという名前をとりあえずつけました。「雑性の」とかいう意味です。C++の練習もそうですが、C/C++プロジェクトとしてひと通りの形をなすよう、autotoolsとかの使い方も練習したいところです。 kentaro's omnivore at master - GitHub インタフェイス的には、こんな感じで使えるようになればなーと思います。 std::string key("foo"); std::string value("bar"); Omnivore::Storage *db

    Omnivoreというのを作り始めた - Kentaro Kuribayashi's blog
  • 新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - Kentaro Kuribayashi's blog

    Tokyo Tyrantに追加された新機能(「mixi Engineers’ Blog » プラグインで独自ストレージを作ろう」)について「新しいTokyo Tyrantで遊んでみて挫折した記録」というエントリを書いた後、Tokyoシリーズ作者の平林さんのコメントがあったり(ありがとうございます!!1)、また、しょうもない見落しを修正したりしてとりあえず動くようになりました。こんな感じの仕様です。 ストレージにはLux IOを利用(社内で流行っていたので) キーはdbname:keyという感じで、たとえばget antipop:fooとかすると、カレントディレクトリ(決め打ち)のantipopというDBのfooというキーのvalueをgetするという感じ。DBがなければ新規作成。また、frenchpop:fooとすると、同様にfrenchpopというDBのfooというキーのvalueをge

    新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - Kentaro Kuribayashi's blog
  • 新しいTokyo Tyrantで遊んでみて挫折した記録 - Kentaro Kuribayashi's blog

    追記: 2009-05-12 新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - antipopに続きを書きました。 mixi Engineers’ Blog » プラグインで独自ストレージを作ろうにて、 今回はTokyo Tyrant(TT)を使ってユーザ独自のストレージシステムを簡単に構築する方法について説明します。 プラグインで独自ストレージを作ろう - mixi Engineers' Blog なんて、Tokyo TyrantがCレベルでプラグインを作れるようになったとのことで、すげーっ!!1てんで、さっそく遊んでみようと思いました。 ところで、Tokyo Tyrantで、ある単位で分割した複数のデータベースを扱いたいってなことがあるんじゃないかと思うのですよね。たとえば、データ量が多いとかメンテナンス性を確保するためとかで、ユーザごとにDBを作りたいとか、ある期間

    新しいTokyo Tyrantで遊んでみて挫折した記録 - Kentaro Kuribayashi's blog
  • MapReduce on Tyrant - mixi engineer blog

    先日、隅田川の屋形船で花見と洒落込んだのですが、その日はまだ一分咲きも行ってなくて悲しい思いをしたmikioです。今回はTokyo Tyrant(TT)に格納したデータを対象としてMapReduceのモデルに基づく計算をする方法について述べます。 MapReduceとは Googleが使っているという分散処理の計算モデルおよびその実装のことだそうですが、詳しいことはググってください。Googleによる出自の論文やApacheプロジェクトによるHadoopなどのオープンソース実装にあたるのもよいでしょう(私は両者とも詳しく見ていませんが)。 今回の趣旨は、CouchDBMapReduceと称してJavaScriptで実現しているデータ集計方法をTTとTCとLuaでやってみようじゃないかということです。簡単に言えば、以下の処理を実装します。 ユーザから計算開始が指示されると、TTは、DB内の

    MapReduce on Tyrant - mixi engineer blog
  • 1