タグ

kvsに関するstarsky5のブックマーク (27)

  • blog.katsuma.tv

    前回「Mac OSXにredisをインストール」で、redisを動かす環境まではできたので、せっかくなんでテスト的に何かサービスを作ってみよう、ということでTwitterクローンのRedTweetを作ってみました。 RedTweet redisを使ったTwitterクローンは、PHP版のRetwisと、それをSinatraで書き直したRetwis-RBがあるのですが、サンプルコードはいくらっても世の中に少しは役立つだろうと思ってRails版で実装してみました。オンラインで動作できる環境はないので、git cloneしてscript/serverで手元の起動で確認ください、、と投げやり気味ですみません。とりあえず次の項目は一通り実装しています。 ユーザID発行 Login / Logout Follow / Remove 自分のTimeline, Public Timeline, 各ユーザの

  • KOSHIGOE学習帳 - [KVS][Redis] Redis 概要

    Key-Value Store の Redis について、公式サイトの README を参考に概要をつかむためのメモ(ほぼ、簡易な訳のみ)。 redis - Project Hosting on Google Code README に入る前に、プロジェクトサイトのトップページに書かれている特徴から、いくつか抜粋。 Posix システム向けに ANCI-C で書かれている 対応言語 Ruby (+) Rack::Session と Rack::Cache を Redis に対応させたものもある (+) DataMapper の Redis 用アダプタがある Python Twisted Python PHP Erlang Tcl Perl Lua JAVA Scala Clojure Redis はデータベース Redis はキーと値のペアからなる辞書を実装した非常にシンプルなデータベース

  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

    NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
  • 分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi

    分散Key-Valueストア kumofs を、日オープンソースソフトウェアとしてリリースしました! kumofs@SourceForge kumofs関連資料まとめ kumofsとは? kumofs(クモエフエス)は、実用性を重視した分散データストアです。レプリケーション機能を備え、一部のサーバーに障害が発生しても動作し続けます。単体でも高い性能を持ちながら、サーバーを追加することで読み・書き両方の性能が向上する特徴を持ち、低コストで極めて高速なストレージシステムを構築・運用できます。 kumofsの大きな特徴は、システムの構成の簡単に変更できる点です。システムを止めることなく、簡単な手順でサーバーを追加したり復旧したりできます。アプリケーションには一切影響を与えません。 またkumofsは、広く利用されている分散キャッシュシステムの「memcached」と互換性のあるプロトコルを実装

    分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi
  • http://1978th.net/kyotocabinet/

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

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

    京都収納棚:DBMの率直な壱実装 - mixi engineer blog
  • Shibuya Perl Mongersテクニカルトーク#12 NoSQL特集

    Shibuya Perl Mongersテクニカルトーク#12 "NoPerl, NoSQL, NoKVS" を2009年11月30日(月)に開催します。 テーマ - "Not only Perl, Not only SQL, Not only KVS" 日時 - 2009年11月30日(月) 18:30-21:00 (18:00 開場) 会場 - グラントウキョウサウスタワー23F リクルート社サウスホール 住所 - 東京都千代田区丸の内1-9-2 (JR東京駅 八重洲南口すぐ) 料金 - 無料 定員 - 200名 300名(※定員枠を増やしました) 事前登録 - ATNDで参加申し込み受付中です。 Ustream.tv - http://www.ustream.tv/channel/mtl-live プログラム 内容・順番・時間などは予告なく変更する場合があります。 【開場時間】 1

  • NoSQL – SQLはもう古い?

    Photo by shindotv ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。 これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。 NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日からは、mixiがリリースしている「TokyoTyrant」があります。 またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。 ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。 技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱

    NoSQL – SQLはもう古い?
  • “動物図鑑”で知るCouchDBの特徴

    “動物図鑑”で知るCouchDBの特徴:ゆったリラックス! CouchDBがあるところ(1)(1/3 ページ) ドキュメントを手軽にWebで公開したいとき、リレーショナルデータベースで実装することに違和感を覚えることはありませんか? CouchDBはそのようなニーズに合った、新しいデータベース管理システムです。CouchDBを知り、リラックスしながら実装をしていきましょう(編集部) CouchDBとは? CouchDB(カウチDB)はドキュメントをデータとして管理し、Webで公開することに最適化されたデータベース管理システムです。CouchDBの“ドキュメント”は報告書、仕様書、議事録といった文書や、名刺、プロフィールといったデータの集合のことを指しています。また、JavaScriptのソースコードをドキュメントの一部として配置することも可能です。 OSSとして一般へのリリースが始まったの

    “動物図鑑”で知るCouchDBの特徴
  • Erlang製のAmazon Dynamoクローン·Dynomite MOONGIFT

    Amazon Dynamoはシンプルなキー/バリューデータベースシステムだが、大量のデータを冗長化やレスポンスを維持しながらサービスを提供する点が特徴だ。外部向けのサービスとしては提供されていないが、SimpleDBAmazon Dynamoを外部向けにしたものと言われている。 起動した所 キー/バリュー型のデータベースには注目が集まっているが、Amazon DynamoのクローンとしてDynomiteを紹介しよう。 今回紹介するオープンソース・ソフトウェアはDynomite、Erlangで作られたAmazon Dynamoクローンだ。 DynomiteはErlang製のキーバリュー型データベースだ。Erlangと言えば分散化、リアルタイム性、並列化などが特徴なので、大規模なデータベースを構築する上ではとても期待ができそうだ。 クラスタリングにも対応している。既に稼働しているクラスタに新

    Erlang製のAmazon Dynamoクローン·Dynomite MOONGIFT
  • 「キー・バリュー型データストア」開発者が大集合した夜

    「発表者が自分よりも若い人ばかりだ」。外見が20代にしか見えない東京工業大学の首藤一幸准教授(1973年生)の驚くさまが、少し面白かった。2009年2月20日の夜、多くのWeb企業が注目する「キー・バリュー型データストア」を開発する若手技術者が、東京・六木のグリー社に一堂に会した。 キー・バリュー型データストア(またはキー・バリュー型データベース)は、大量のユーザーとデータを抱え、データベースのパフォーマンス問題とコスト高に頭を悩ませるWeb企業が注目する技術である。記者は同日に開催された「Key-Value Store 勉強会」に参加させてもらった。午後7時から11時まで、キー・バリュー型データストアを開発・研究する若手技術者が立て続けに登場し、1人15分の持ち時間で成果を発表し、議論を重ねるという集まりだ。 呼びかけ人であるプリファードインフラストラクチャー(PFI)最高技術責任者

    「キー・バリュー型データストア」開発者が大集合した夜
  • PFIインターンに行ってきました。 - Blog by Sadayuki Furuhashi

    8月1日から8月31日までの1ヶ月間、PFI夏期インターンに行ってきました。 はてなインターンの 講義・課題・チーム 形式とは趣を異にして、個々人が何か1つのプロジェクトに取り組む方針で進みました。取り組むテーマは 新たに取り組みたい/今取り組んでいる 内容を前提に、既存の問題の中から近いテーマを見つけます(あるいはこじつける^^;)。 インターンの期間中の1ヶ月か2ヶ月の間に成果を出すのが目標! 取り組むテーマはスムーズに決まりました。何か自社で製品を作っていれば普通かと思いますが、探せば問題はいくらでもあるモノです^^ ちなみにPFIの製品は、全文検索エンジンやレコメンドエンジンなどです。 私は以下の4つのプログラムを実装しました: 既存の実装に代わるRPCフレームワーク MessagePack-RPC for PFI クラスタ管理ツール clx プロセス管理ユーティリティ daemo

    PFIインターンに行ってきました。 - Blog by Sadayuki Furuhashi
  • Interopクラウドコン優勝は「えとらぼ」分散key-valueストレージ kumofs - Blog by Sadayuki Furuhashi

    InteropTokyo 2009 クラウドコンピューティングコンペティション(通称クラウドコン)は、我等がえとらぼチームが優勝しました! 実行委員・StarBEDプロジェクト・IBMの皆様を始め関係者の皆様、ありがとうございました。 プレゼンテーションムービーとポスターとパンフレット*1を公開しました。 プレゼンムービー(マウスクリック/矢印キーで進む) PDF版 ポスター パンフレット *2 …どれも相当に気合いが入っているので、ぜひご覧ください^^ Ustream.tvの録画もあります(えとらぼチームはちょっと細切れですが) 途中で行ったデモは、StarBEDの45台の物理サーバーを使ってkumofsを動かして、ランダムで選んだノードを自動的にkill/再起動するスクリプトを走らせたものです。サーバーが落ちてもシステムは全然止まらないし、どのサーバーにも均等に負荷が分散されます。 時

    Interopクラウドコン優勝は「えとらぼ」分散key-valueストレージ kumofs - Blog by Sadayuki Furuhashi
  • MongoDB : C++ で書かれた高速なドキュメント指向DB - ヽ( ・∀・)ノくまくまー(2009-07-02)

    require 'rubygems' ###################################################################### ### ActiveRecord (PostgreSQL) require 'active_record' ActiveRecord::Base.establish_connection(:adapter=>"postgresql", :database=>"jpop", :user=>"maiha") module PG class Song < ActiveRecord::Base # Indexes: "index_songs_singer" btree (singer) end end # p PG::Song.count # => 64482 ##############################

    starsky5
    starsky5 2009/09/04
    ネタが面白い
  • MongoDBでmemcachedのincr/decrのようなことをやりたい - スコトプリゴニエフスク通信

    下記の「リアルタイム分析にMongoDBを使う」という内容のエントリに触発されて自分でも試してみた。Using Mongo for Real-Time Analyticshttp://www.10gen.com/blog/2009/3/using-mongo-for-real-time-analytics"upsert"と"$inc"を使えばいいということなので、とりあえず次のようなコードを書いてみる。 # -*- coding: utf-8 -*- from pymongo.connection import Connection conn = Connection() db = conn.test_db collection = db.test_collection # 最初にキーを消しておく collection.remove({'key': 'SPAM'}) # この時点でキーSP

  • MongoDBのパフォーマンスをBerkeley DB, H2, MySQLと比較 - kaisehのブログ

    スキーマレスのドキュメント指向データベース、MongoDBがとても面白そうだったので、Javaから使用した場合のパフォーマンスを計測してみました。 MongoDBはCouchDBに似たデータベースで、任意のオブジェクトを保存できますが、MVCCやREST APIを採用しないことで高パフォーマンスを追求しているようです。インデックスやレプリケーションのサポートも充実しています。 RDBMSをKey-Value Storageとして使う場合のパフォーマンス計測(H2, MySQL編) - kaisehのブログ 前に上記のエントリーでBerkeley DB, H2, MySQLのパフォーマンスを比較したことがあるのですが、そのときと同等の条件になるようにして計測しました。 具体的な計測方法は以下の通りです。 Mac OS 10.5.7, 2GHz Intel Core 2 Duo, 4GB Me

    MongoDBのパフォーマンスをBerkeley DB, H2, MySQLと比較 - kaisehのブログ
  • MongoDB 3.0.8 is released - MongoDB Blog

    General InformationDocumentationDeveloper Articles & TopicsCommunity ForumsBlogUniversity

    MongoDB 3.0.8 is released - MongoDB Blog
  • Plurk.comで使われているTokyo Cabinetをベースにしたキー/バリューデータベース·LightCloud MOONGIFT

    Twitterに似たWebサービスを提供するPlurk.com。時間軸を持つことで、よりインタラクティブな印象与えるサービスだ。世界的に展開しているのでアクセス数も相当多い。そのような中で活躍するのがキャッシュサーバだ。 実践で使われている信頼性高いキー/バリューデータベース Plurk.comでは3つのデータベースが使われている。一つはMySQLもう一つはmemcached。そして最後にLightCloudだ。 今回紹介するオープンソース・ソフトウェアはLightCloud、Tokyo Cabinetをベースにしたキー/バリューデータベースだ。 LightCloudはmixiなどでもお馴染みのTokyo Cabinetを利用して構築されている。ライブラリはPythonのみではあるが、他の言語へのリプレースもそれほど難しくなさそうとのことだ。実際にPlurk.comで使われているという点が

    Plurk.comで使われているTokyo Cabinetをベースにしたキー/バリューデータベース·LightCloud MOONGIFT
  • 永続化対応のオンメモリKey-Valueデータベース·Redis MOONGIFT

    以前に読んだGoogleに関するにも同じような技術に関する記述があった(タブレット辺りだろうか)。Googleで使われている技術Googleだからこそ(圧倒的台数のコンピュータ、ネットワーク、その需要など)できることだが、その論文を元に同様の技術を一般のサービスでも利用できるレベルに落とし込んでくれる人たちがいる。 サーバを起動した所 オンメモリのKey-Valueデータベースと言えばmemcachedが有名だ。だがmemcachedは再起動すればその内容が消えてしまう。逆に常にHDDに書き込めば内容は保持されるが、ディスクアクセスが多くなってしまい利点が活かせなくなる。その中間を担うのがRedisだ。 今回紹介するオープンソース・ソフトウェアはRedis、永続化にも対応したオンメモリKey-Valueデータベースシステムだ。 RedisはKey-Valueのデータベースではあるが、一

    永続化対応のオンメモリKey-Valueデータベース·Redis MOONGIFT
  • Kazuho@Cybozu Labs: Pacific という名前の分散ストレージを作り始めた件

    大規模なウェブアプリケーションのボトルネックがデータベースであるという点については、多くの同意が得られるところだと思います。解決策としては、同じ種類のデータを複数の RDBMS に保存する「sharding」 (別名:アプリケーションレベルパーティショニング/レベル2分散注1) が一般的ですが、最近では、分散キーバリューストア (分散 KVS) を使おうとする試みもみられるようになってきています。 分散 KVS が RDBMS sharding に対して優れている要素としては、事前の分割設計が不要で、動的なノード追加(とそれにともなう負荷の再分散)が容易、といった点が挙げられると思います。一方で、Kai や Kumofs のような最近の実装では eventually consistent でこそ無くなってきているものの、ハッシュベースの分散 KVS は、レンジクエリができなかったり (例: