kumofsはなぜ落ちないか

前回は、kumofsはなぜスケールするかということについて紹介しました。その中で最後に、耐障害性もスケーラビリティにとって重要だーと述べました。 そこで今回は、kumofsはなぜ落ちないのか、なぜ耐障害性が高いと言えるのかーということについて紹介したい…

kumofsはなぜスケールするか

先日、分散Key-valueストア kumofs を公開しました。 多く方から反響とフィードバックをいただいています。ありがとうございます。 今回は、kumofs はなぜスケールするのか、なぜスケールすると言えるのかーということについて紹介したいと思います。 ところ…

kumofsのリリースを更新しました

kumofs-0.3.1 と、msgpack-0.4.1 をリリースしました。 kumofs@github Downloads MessagePack@SourceForge.JP ダウンロード msgpack-0.4.1 CentOS 5など*1で kumofs を ./configure したときに Can't find msgpack library と表示されて止まってしまう問題を…

分散Key-Valueストア「kumofs」を公開しました!

分散Key-Valueストア kumofs を、本日オープンソースソフトウェアとしてリリースしました! kumofs@SourceForge kumofs関連資料まとめ kumofsとは? kumofs(クモエフエス)は、実用性を重視した分散データストアです。レプリケーション機能を備え、一部のサ…

kumofs関連資料まとめ

随時更新予定。 ツールなど 2010-01-08 kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ 検討と検証 2010-04-01 kumofsに10MBのvalueを入れるとどうなるか実験してみた - sdyuki-devel 2010-02-24 KVS(NoSQL)のまとめと「これから」の設計手法…

MessagePack for Java 作りかけリリース!

バイナリシリアライズ形式 MessagePack のJava版の、作りかけをリリースしました^^; シリアライザやデシリアライザの本体は実装できていますが、例外やインタフェースの完成度はまだ高くないです。開発者募集中! msgpack-0.0.0.jar msgpack-src-0.0.0.tar.g…

MessagePack for C++ 0.4.0 リリース

バイナリシリアライズ形式 MessagePack の C++ API をアップデートしました。 ソースコードレベルでの互換性が維持されています。バイナリレベルでは互換性はありませんが、0.3.x系と0.4.x系は共存(両方インストール)が可能です。 以下の新しい機能を使う…

MessagePack-RPC for C++ テクニカルプレビュー

バイナリシリアライズ形式 MessagePack をプロトコルに利用したRPCライブラリ MessagePack-RPC の、C++版を開発しています。以前に MessagePack-RPC for Ruby について 54行で実装する分散KVSや140行で作る分散リアルタイム検索エンジンを紹介しましたが、そ…

140行で作る分散リアルタイム検索エンジン(Twitter Streaming API対応)

マトモに使えるRPCライブラリ MessagePack-RPC for Ruby のバージョン 0.2.0 をリリースしました! 新たにコネクションプーリングの機能を追加しました。一度接続したコネクションを共有して使い回すことができます。コネクションを何度も張り直す負荷と遅延…

54行で分散KVSを実装する(レプリケーション機能付き)

Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追…

『クラウドの技術』

藤本さんや首藤さんにお誘いいただいて、コラムの執筆を担当させていただきました。 内容はkumofsについて、特に全体のアーキテクチャと耐障害性についての技術解説です。 『クラウドの技術』は、クラウド関連の要素技術について丁寧にまとめられていること…

Ruby で MessagePack-RPC

高速なオブジェクトシリアライズ形式 MessagePack をプロトコルに採用したRPCライブラリをリリースしました。 Ruby を使って簡単にRPCサーバーやクライアントを実装できます。 msgpack-rpc MessagePack-RPC プロトコルは既にkumofsやクラスタ管理ツール「clx…

PFIインターンに行ってきました。

8月1日から8月31日までの1ヶ月間、PFI夏期インターンに行ってきました。はてなインターンの 講義・課題・チーム 形式とは趣を異にして、個々人が何か1つのプロジェクトに取り組む方針で進みました。取り組むテーマは 新たに取り組みたい/今取り組んでいる …

MessagePack for C++ 0.3.7 リリース!!

怒濤のアップデートが続いております MessagePack for C++ です。 インストール時に Ruby が要らなくなりました。 プリプロセス済みのヘッダファイルをパッケージ化します。 符号付き整数のデシリアライズが失敗することがあるバグを修正しました!たとえば …

MessagePack for C++ 0.3.6 リリース!

MessagePack の C++ API をアップデートしました。 標準のシリアライザ・デシリアライザが増えました。std::deque, std::list, std::pair, std::set をシリアライズ・デシリアライズできます。 MessagePackのリリース一覧とダウンロード

MessagePack for C++ 0.3.5 リリース!

MessagePack の C++ API をアップデートしました。バイナリ・ソースコード両方で互換性は維持されています。 今回の目玉機能は、ユーザー定義クラスのシリアライザを簡単に作れるようになりました。 ↓こんな感じで使えます。 #include <msgpack.hpp> #include <string> class MyCla</string></msgpack.hpp>…

富豪的バックアップのススメ

間違ってrmしてしまったっ!! ということは誰しも一度はあると思いますが、そう言うときのためにもバックアップやバージョン管理は重要なわけです。 しかしバックアップは1時間に1回や1日に1回程度しか行わないので、たとえば5分前に変更したプログラム…

MessagePack for Python

id:methane さんによる MessagePack の Python バインディングができました! DSAS開発者の部屋:MessagePackのPython Bindingをリリースしました $ easy_install msgpack JSON や pickle と比べて圧倒的に高速で、さらに「まだまだ改善の余地がありそうです…

MessagePack RPC プロトコル

※2010-04-06追記:ここの内容は大体あっていますがもう古いです。MessagePack-RPCプロトコル仕様(ドラフト)と実装例 を参照してください。名前は(仮)です。現在クラスタ通信フレームワーク ccf というものを開発中で*1、MessagePack を使ったRPCプロトコ…

サーバーを実行中に追加できるmemcachedプロキシ(の未完成コード)

サーバー一覧を実行中でも変更できるmemcachedのプロキシサーバーを作ってみました。 相当にコンセプトだけです…とりあえず get (とget_multi) と set と delete はプロキシできます。 クライアントを待ち受けるコードは memcachedプロトコルのストリームパ…

MessagePack for Perl - 0.3.3 リリース

バイナリシリアライズ形式 MessagePack のバージョン0.3.3をリリースしました。 id:tokuhirom さんによる perl バインディングができました!(MessagePack for perl 書いた sv_catpvn を連続で呼びまくると激しく遅いので気をつける) 最新のリリースはここ…

Interopクラウドコン優勝は「えとらぼ」分散key-valueストレージ kumofs

InteropTokyo 2009 クラウドコンピューティングコンペティション(通称クラウドコン)は、我等がえとらぼチームが優勝しました! 実行委員・StarBEDプロジェクト・IBMの皆様を始め関係者の皆様、ありがとうございました。 プレゼンテーションムービーとポスタ…

MessagePack + Wavy で高速なRPCサーバーを書く「ccf」

先日、追記型オブジェクトストレージKastorを紹介しました。そこで「C++でクラスタアプリケーションを書くためのフレームワーク(ccf; Cluster Communcation Framework)を実装中」などなど書きました。 最近C++でサーバープログラムを書くときには MessageP…

追記型オブジェクトストレージ「Kastor」(pre-alpha)

Facebookで写真配信のために使われているストレージシステム「Haystack」に関する情報が公開されました。(Needle in a haystack: efficient storage of billions of photos)Facebookは最初はNFSを使っていたようです。しかし写真の1枚1枚をファイルとして…

統合ディスクレスネットワーク基盤システム

VIVERプロジェクトについての報告。(大学生の方々に於いては研究テーマの参考にでもなれば幸いです) 統合ディスクレスネットワーク基盤システムVIVERの当初の目的は、ネットワークをパッケージ化することでした。 ここで言う「ネットワーク」とはファイル…

Sun は Oracle に買収されますが

Oracle Buys Sun Overview and Frequently Asked Questions OpenSolaris.orgで進められている数々のプロジェクトは、ぜひ継続して欲しいものです。 "Sun" を偲びつつ。 Hadoop Live CD 仮想サーバー(Solaris Zone)を立ち上げて3ノードのHadoopクラスタを構…

いま分散システムが面白い理由

最近 クラウド という単語が流行していますが、「大規模な計算資源を低コストで提供してくれるトコロがあるらしいので、自前で持っていた計算資源を委託しちゃえば運用する手間も知識も要らないし、そもそもサーバーを買う費用を省けちゃうから嬉しい」とい…

エイプリルフールネタ:スケールアウトするMySQL互換RDBMS - Scale41リリース!

2009年4月1日は記念すべき日になったと確信しています。 内部に状態を持たないアプリケーションサーバーは、サーバーを足すだけで比較的簡単にスケールアウトすることができます。一方でACID特性が求められる用途に用いるRDBMSは、単にサーバーを足すだけで…

分散システムのテストを自動化する

複数のプロセスが相互に連携して動くシステムのテストを自動化したい。普通に書くとプロセスを起動したあと終了するまで待ってしまうので、複数のプロセスを同時に起動できなくて困ります。&を付けてバックグラウンドで起動させると、後で終了させたとき、ま…

MessagePack 0.3.1 リリース

バイナリシリアライズ形式MessagePackのバージョン0.3.1をリリースしました。 BigEndian環境で正しくシリアライズできなかったのを修正しました mswin32版のバイナリgemパッケージが壊れていたのを修正しました MessagePackのプロジェクトページ:http://msg…