タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Rubyとkvsとrubyに関するWatsonのブックマーク (6)

  • 第2回 RDBMSと組み合わせて使えるmemcached | gihyo.jp

    はじめに 今回からタイプ毎に代表的なNoSQLデータベースを扱っていきます。まず今回は、揮発性key-valueストアの代表としてmemcachedを取り上げます。 なお、利用したコードやプログラムはgithubに置いてあります。適宜参照してください。 どんなところに使える? memcachedの特徴は、何といってもデータの揮発性(memcachedサーバを停止すると全データが消えてしまうこと)です[1]⁠。そのため、データが消えても影響が小さいところに利用シーンは限られてきます。一方、連想配列(ハッシュ)のように使えて扱いやすいこと、様々なサイトでの事例があること、などから導入はしやすいです。 具体的な利用シーン memcachedの具体的な利用シーンとしては、以下の事柄が考えられます。 RDBMSから取得したデータのキャッシュ 消えても大きな影響の無いデータの保存 一般的には(1)のよ

    第2回 RDBMSと組み合わせて使えるmemcached | gihyo.jp
  • 第33回 RubyistのためのMongoDB入門(2) | gihyo.jp

    第31回に続いて、今回はMongoDBRubyから使う方法をご紹介します。 MongoDBRubyから使うためのライブラリ MongoDBRubyから使うには、以下のライブラリ等を利用する必要があります。 Ruby driver for MongoDB [GitHub, チュートリアル] RubyからMongoDBを使う上で基となるのが、公式のRubyドライバです。 MongoDBのほぼ全機能にアクセスできるため、複雑なことをしたいときには頼りになるでしょう。後述する他のライブラリも内部ではこのドライバを使っています。 ドキュメントをオブジェクトにマッピングしてActiveRecordライクに扱う、オブジェクトマッパーの機能を提供するライブラリもあります。今回は代表的なものを2つご紹介します。 MongoMapper [GitHub, 作者による紹介] 比較的ActiveRecor

    第33回 RubyistのためのMongoDB入門(2) | gihyo.jp
  • RubyistのためのMongoDB入門

    MongoDBとは 10gen社が中心となって開発している非リレーショナルデータベース。 特徴 MongoDBは("humongous"より)は、スケーラブル、ハイパフォーマンス、オープンソース、スキーマフリー、ドキュメント指向です。C++で書かれていて、機能としては: ドキュメント指向ストレージ (the simplicity and power of JSON-like data schemas) 動的な クエリー 組み込みのオブジェクトと配列をサポートした完全な Index のサポート。 クエリー プロファイリング 速い in-place アップデート バイナリデータの効率的な保存 large objects (例:写真や動画) レプリケーション とフェイルオーバーのサポート。 クラウドレベルのスケーラビリティな 自動的なsharding 複雑な集約のための MapReduce 商用

  • KVSをWebアプリのメインストレージにしたら、集計バッチをMapReduceでやるはめになったでござるの巻 - Tous Les Jours 攻防記

    という題で、RubyKansai勉強会#39で発表させていただきました。 内容はMapReduceとKVSの関係、および自作のMapReduce処理系であるTinyMapReduceの紹介について。実装にはDRubyを使っています。といってもTinyMapReduceはコードサイズ200行以下で、対障害性もなくサンプルの域を出ないものですが。。 TinyMapReduce標準添付のSampleは、1〜100万までの自然数の中に2の倍数と3の倍数がそれぞれいくつ含まれるかカウントするタスクです(結果保存にSimpleResourceを使っており、別途導入が必要)。Workerの数を増やしていくことで、タスクの実行時間がシームレスに短縮することがわかると思います。 というわけで、使用したスライドを置いておきます。 TinyMapReduce on rubyView more presentat

    KVSをWebアプリのメインストレージにしたら、集計バッチをMapReduceでやるはめになったでござるの巻 - Tous Les Jours 攻防記
  • 54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi

    Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追加していけば、ちょっと便利なサーバープログラムをサクサク自作できるハズ。 この分散KVSは、(keyのハッシュ値 % サーバーの台数)番目のサーバーにkeyを保存します。また、サーバーの名前順でソートしたときの「次のサーバー」と「次の次のサーバー」にデータをレプリケーションします。 すべてのサーバーで同じ設定ファイルを使います。サーバーごとの設定は引数を自分のホスト名に書き換えるだけなので、デプロイが容易です。 MessagePack-RPC for Ruby を使うと、分散しないkey-valueストレージ*1は

    54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi
  • 楽天、Rubyベースの分散KVS「ROMA」のソースを公開 | gihyo.jp

    10月24日、楽天株式会社社にて開催された楽天テクノロジーカンファレンス2009内にて、楽天が独自開発するRubyベースの分散Key Value Store「ROMA」の公開が発表された。 ROMAは、github上にてGPLv3のもとオープンソースにて公開されている。 ROMAはすでに楽天のサービス「楽天トラベル」の一部機能にて利用されており、今後はROMA自体のブラッシュアップなどを目的に、オープンソースとして公開された。 ROMAについて発表を行った楽天技術研究所シニアサイエンティスト西澤無我氏。同氏のプレゼンテーションは立ち見が出るほど満席だった。また、途中楽天技術研究所フェローまつもとゆきひろ氏が登場するなど、会場が盛り上がった。 ROMA URL:http://github.com/roma/roma/

    楽天、Rubyベースの分散KVS「ROMA」のソースを公開 | gihyo.jp
  • 1