タグ

KVSに関するniidomeのブックマーク (5)

  • Google App Engine上のベスト・プラクティス、その1: Datastore

    Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。まずは、Datastoreの話から。 なによりも大切なのはデータベースの設計 あたりまえと言えばあたりまえの話だが、App Engine上でアプリを作る上でもっとも大切なこと(=頭を使うべきところ)は、データベースの設計である。特にリレーショナル・データベース(RDB)上でのアプリ作りに慣れた人には、大きな「発想の転換」が必要なので、ここは注意が必要。 特に絶対にやっては行けないのは、 将来RDB上へ移行できるようにレイヤーを作って、その上にアプリを作る RDB上に作ったアプリをデータモデルを大幅に変更せずにApp Engine上に移植する RDBを前提に設計されたフレームワークをApp Engine上に載せて、その上にアプリを作る など。App En

  • key-valueストアの基礎知識

    首藤 一幸 Last-updated: January 5, 2010 注: このページの文章は Software Design 誌 2010年 2月号に掲載された以下の記事の元原稿です。 Software Design 誌編集部の了承の元に、ウェブページに掲載しております。 首藤一幸: "key-valueストアの基礎知識", Software Design 2010年 2月号, p.14-21, (株)技術評論社, 2010年 1月 18日 クラウド、特にPaaS向けのソフトウェア開発が現実のものとなり、 そこではリレーショナルデータベースとは違ったデータベースが 勢いを増しています。 その代表であるkey-valueストアを解説します。 もくじ key-valueストアとは なぜkey-valueストアか key-valueストアの使いどころ key-valueストアとNoSQL

    niidome
    niidome 2010/01/19
  • 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
  • なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記

    追記:「kzk's blog」の「Writing TokyoCabinet wrapper for Go language」で紹介御礼。この記事は cgo を使った TokyoCabinet のラッパーの書き方を解説しているので、下記のコードと組み合わせて当に tc が backend になっている KVS を書いてみるのもよいかも。 『早速 Go 言語を試してみる!』とか。 『Go で無駄にチャンネルを使ってクイックソートのようなものを書いてみた』とか。 こちらはというと、試しに memcache バイナリプロトコルで通信する KVS もどきを書いた。 サーバのイベントループで go すれば全部済むのが楽ちんですね。 追記: HandleConn() の中で、backend_ch を backend との送信と受信両方に使っていたのだけど、ここにあるように、まったく誤りだということが分

    なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記
  • NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある

    Webスケールのデータを扱うためにさまざまなデータベースが登場してきている、ということを昨日のエントリ「データベースは目的別に使い分けるべし」で紹介しました。 特にリレーショナルモデルをベースとしない、非SQL系(NoSQL)と呼ばれるさまざまな種類のデータベースが登場してきています。非SQL系のデータベースは以前からオブジェクトデータベースやドキュメントデータベース、階層型データベースなどが存在していましたが、最近注目されているのがキーバリュー型データストアと呼ばれるデータベース。 ブログ「High Scalability」にポストされたエントリ「A Yes for a NoSQL Taxonomy」では、これら非SQL系のデータベースを詳細に9分類し、それぞれの分類に属するデータベースをリストアップしています(基になったのは「NoSQL is a Horseless Carriage」

    NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある
    niidome
    niidome 2009/11/11
  • 1