Re: [Kai-devel-ja] multiple (confilicting) data in single node
Kai is a distributed key-value datastore
Status: Beta
Brought to you by:
takemaru
From: Tomoya H. <tom...@gm...> - 2009-06-24 07:30:42
|
橋本です。 後方互換が保てない場合のアップデートを考えてみました。 運用中なのでサービスを停止せずにアップデートできるのが望ましいです。たとえば、ノードを1台毎に止めてアップデートできれば全体としては停止しないのでいいかと思います。 いったん全てのノードを止めてアップデートして、それから起動する方法もあるかと思います。手順が複雑でなく、許容できそうな停止時間に収まればこれもありかと思います。 事実上不可能と思われるアップデート方法は、すべてのオブジェクトをgetしてどこかに取っておいて、すべてをsetして元に戻す方法です。すべてのオブジェクトを知る方法がなかったりします。 こんなところです。 2009/06/23 16:40 に shunichi shinohara<shi...@gm...> さんは書きました: > kai-devel-ja のみなさん > > しのはらです。 > 単一ノードで複数バージョンを格納するように kai_store 層を変更してみました。 > 幾田さんの gihyo.jp の解説がとってもすばらしいので start_kai.sh とか早速ぱくって > detach してやってみました (o^<^)o > > 基本的な修正は以下 3 点です > 1. kai_store_(ets|dets) を set から bag へ変更 > 2. kai_store の get を data から [data] を返すように変更 > 3. kai_store の put を、バージョン衝突が起きても ok を返すよう変更 > > 2. のインターフェイス変更にともない、上に向かって kai_coordinator/kai_sync > あたりまでちょこちょこと修正を入れました。 > memcached 層での修正はありません。 > % たけるさんのテストケースリファクタ&強化のおかげで安心して作業できました m(_ _)m > > 1. に伴う性能低下をちょっと気にしていたのですが、kai_store_SUITE の perf で見たところ、 > 大きな変化はないようです。が、心配なのでもしちゃんとしたクラスタ環境での測定が出来る > ようでしたら、どなたかよろしくお願いします。 # 他力本願ですんません (T-T) > > 実装以外の問題として、dets ファイルと、 kai_store:get の 2 つの部分で、 > 後方互換性を保たないようになっているので、バージョンアップのパスをどうするか? > という点があるとおもいます。 > 例えば、クラスタ内のノードにたいして、ローリングアップデートが出来るような > バージョンアップ方法が必要であれば、それをちゃんとかんがえなくてはいけません。 > > ここは運用している方のご意見を是非!欲しいところです。 > > 以上、ご意見、コメントおまちしています。 > > -- > shino > > ------------------------------------------------------------------------------ > Are you an open source citizen? Join us for the Open Source Bridge conference! > Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. > Need another reason to go? 24-hour hacker lounge. Register today! > http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org > _______________________________________________ > Kai-devel-ja mailing list > Kai...@li... > https://lists.sourceforge.net/lists/listinfo/kai-devel-ja > |