1年経ってiPhone4の電池がヘタってきた、太田です。 指数関数的にエントリ数が少なくなってきた本ブログですがw、景気付けのためにエントリを投稿したいと思います!本日はHBaseについてです。Linux と Hadoop と HBase と ZooKeeper に詳しいあなた!あなたがターゲットです。 HBaseとは? HBaseとは、HDFS (Hadoop Distributed File System)上に構築された分散データベースです。大量の非常に細かいデータをリアルタイムに読み書き出来るのが特徴です。最近ではFacebook Messageの基盤技術として使用された事で注目を集めています。 HBase公式サイト Apache HBase ブック 保存されたデータはHDFS上に保存され、HDFSの仕組みによってレプリケーションされるため安全にデータを保持することが出来ます。 ま

Webサービスの典型例でありCMSの典型例であるブログサービス。それを実装するための指針が示せれば、その他のサービスを開発する際にも大いに参考になることだろう。 データ構造 単純なブログサービスのデータノードとしてKyoto Tycoonのサーバ群を用いることを想定する。ブログの個々の記事は以下の属性を持つものとする。 著者のユーザID(uint32) 投稿日時(uint32) 題名(text)本文(text) コメントリスト(シーケンス) 各コメントは、コメントした人のユーザIDと本文からなる データノードに対する問い合わせは、「あるユーザの最新記事を降順で5件くれ」というのが典型である。「降順で」という順序に対する要求があるのでB+木を選択し、連想配列のキーは、ユーザIDと投稿日時を連結したものとする。単純化のために、各々を10桁の10進数文字列をコロンで区切って並べて、全体で21バ
ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-onlySQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。OracleやMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

分散 Key-Value ストア mio-0.0.1alpha をリリースしました。(mio-0.0.1-alpha.tar.gz) Mio とは何か? 範囲検索(range query) が出来る KVS です。例えば「key が "1000"〜"2000" にあるものを昇順に10件取り出す」という検索が可能です。 Mio は memcached 互換プロトコルを実装しているので、多くのプログラミング言語から簡単にアクセスする事が可能です。(後述のコード例参照) Mio のアーキテクチャ Mio は Skip Graphs(スキップグラフ)というアルゴリズムに基づいて実装されています。詳細はErlang 分散システム勉強会での発表資料 Mio - a distributed Skip Graph based orderd KVSをご参照ください。 インストール 最新の Erlang をイ
女性ホルモンというのは女性の体にとって非常に重要な役割をしています。 この女性ホルモンは女性のお肌の状態から体のこと、そして精神的な部分にまで影響を及ぼしてしまうほどの力を持っているものなのです。 女性ホルモンには大きく分けて2つの種類があります。 黄体ホルモンのプロゲステロン、そして卵胞ホルモンのエストロゲンです。 この2つの女性ホルモンは体内で増えたり減ったりしながら女性の性などのリズムを体内で作り上げています。 女性ホルモンというのは年を取れば年を取るほどどんどん減少していってしまうものなのです。 この女性ホルモンが減少してくると、更年期障害などが出てしまったり、生理不順や不妊症といった女性にとっては大きな悩みにつながってしまうのです。 残念ながらマカ事態に女性ホルモンは含まれていません。 女性ホルモンと似たような働きをするエストロゲンという成分がありますが、このような成分はマカには
riak - a decentralized key value store - bashotechnologiesRiak combines a decentralized key-value store, a flexiblemap/reduce engine, and a friendly HTTP/JSON query interface to provide adatabase ideally suited for Web applications. A document-oriented Webdatabase Schema-free documentdatabases are in many ways a more natural fit for Web applications than the traditionalRDBMS. With interface
このサイト内 ウェブ全体 書いてる人 たけまる はてブ数 注目エントリー 最近の記事 2010-02-26 第四回 Erlang 分散システム勉強会 - 閉幕 2010-02-24 第四回 Erlang 分散システム勉強会 - 懇親会に空きあり 2009-10-12 Voluntas さんの Erlang 講義 2009-07-29 Kai Plugin forRuby onRails 2009-07-04 第3回 Erlang 分散システム勉強会 終わりました 2009-06-15 7/3 第3回 Erlang 分散システム勉強会 2009-06-04 分散Key/Valueストア,Kaiを使ってみよう! 2009-04-30 Kai running ingoo home 2009-04-04 プログラミング言語 Erlang の動向 2009-03-18 ets で bag と
クリティカルスピードは〜のオープンソース・ソフトウェア。高速なレスポンスを行うWebサーバは誰しもが願う所だ。Googleがあれだけ大きく成長したのは検索のアルゴリズムはもちろんのこと、高速なレスポンスにも一因があったと思われる。欲しい情報がすぐに手に入るというのはとても気分がいい。 表示が速い! Webサーバで高速化を行うための手法は幾つか存在する。並列化したり、サーバのスペックを上げたり、ネットワークを強化すると言った方法の他、システム側でも対応できるものがある。その一つ、高速配信サーバのクリティカルスピードを紹介しよう。 クリティカルスピードの最大の特徴はKVS(キー・バリュー・ストア)をWebサーバとして使っていることだ。KVSとしてTokyoTyrantを採用しているが、今後はLuxIO、kumofs、ROMAといった他のKVSにも対応していくとのこと。WebサーバはPlack/
For the last month or two the Digg engineering team has spent quite a bit of time looking into, playing with and finally deploying Cassandra in production.It’s been a super fun project to take on – but even before the fun began we had to spend quite a bit of time figuring out Cassandra’s data model… the phrase “WTF is a ’super column’” was uttered quite a few times. If you’re coming from anRDBM
Cassandra is a hybrid non-relationaldatabase in the same class asGoogle’s BigTable.It is more featureful than a key/value store like Riak, but supports fewer query types than a document store like MongoDB. Cassandra was started by Facebook and later transferred to the open-source community.It is an ideal runtimedatabase for web-scaledomains like socialnetworks. This post is both a tutorial

What is Apache Cassandra? Apache Cassandra is an open source NoSQL distributeddatabase trusted by thousands of companies forscalability and high availability without compromising performance.Linearscalability and proven fault-tolerance on commodity hardware or cloud infrastructure makeit the perfect platform for mission-critical data.
メモとれた部分だけ。malaさんの話しがいろんな意味で面白かった。 クラウド時代のWebストレージ戦略 クラウドとは SaaSとかPaaSとかIaaS いいところ 物理的なサーバーとかネットワークを意識しない 高可用性、柔軟な課金体制 スケールアウトが用意 リソースを有効活用できる 管理運用が容易 ライブドア的環境 物理サーバーは既にある 提供しているサービスはSaaS的なもの さらに効率あげたい (I|P)ssP的な環境をつくりたい クラウドっぽい環境を作って自分たちで使う。プライベートクラウド的なものを構築したい ライブドアが求めるもの ライブドアは画像アップのサービスが多いwebサービスのメディアストレージ(動画とか) 安価に容量を拡張可能 実際の構成は「あまり」意識したくない つくってみた 名前 STF(STorage Farm)(後付け) HTTPを利用した分散ストレージ シン
MongoDBとは 10gen社が中心となって開発している非リレーショナルデータベース。 特徴 MongoDBは("humongous"より)は、スケーラブル、ハイパフォーマンス、オープンソース、スキーマフリー、ドキュメント指向です。C++で書かれていて、機能としては: ドキュメント指向ストレージ (thesimplicity and power of JSON-like data schemas) 動的な クエリー 組み込みのオブジェクトと配列をサポートした完全な Index のサポート。 クエリー プロファイリング 速い in-place アップデート バイナリデータの効率的な保存 large objects (例:写真や動画) レプリケーション とフェイルオーバーのサポート。 クラウドレベルのスケーラビリティな 自動的なsharding 複雑な集約のためのMapReduce 商用
首藤 一幸 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の
という題で、RubyKansai勉強会#39で発表させていただきました。 内容はMapReduceとKVSの関係、および自作のMapReduce処理系であるTinyMapReduceの紹介について。実装にはDRubyを使っています。といってもTinyMapReduceはコードサイズ200行以下で、対障害性もなくサンプルの域を出ないものですが。。 TinyMapReduce標準添付のSampleは、1〜100万までの自然数の中に2の倍数と3の倍数がそれぞれいくつ含まれるかカウントするタスクです(結果保存にSimpleResourceを使っており、別途導入が必要)。Workerの数を増やしていくことで、タスクの実行時間がシームレスに短縮することがわかると思います。 というわけで、使用したスライドを置いておきます。 TinyMapReduce onrubyView more presentat
Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追加していけば、ちょっと便利なサーバープログラムをサクサク自作できるハズ。 この分散KVSは、(keyのハッシュ値 % サーバーの台数)番目のサーバーにkeyを保存します。また、サーバーの名前順でソートしたときの「次のサーバー」と「次の次のサーバー」にデータをレプリケーションします。 すべてのサーバーで同じ設定ファイルを使います。サーバーごとの設定は引数を自分のホスト名に書き換えるだけなので、デプロイが容易です。 MessagePack-RPC forRuby を使うと、分散しないkey-valueストレージ*1は

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

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く