2010-01-01から1年間の記事一覧

Lazyレプリケーションはpush型とpull型のどちらが良いのか

更新ログをマスタからスレーブに送ることでデータをレプリケーションする、いわゆるログシッピングを、分散データストアに実装する方法について。 ログシッピングは、操作を同時に複数箇所に送信するレプリケーションと比べると、次のような実装上の利点があ…

非同期レプリケーションで単調読み出し整合性を保つ

レプリケーション*1は分散トランザクションと紙一重で、複数のサーバに分散された複数のデータを同時に書き換えたい。もしこれが同時でないと、クライアントによって異なるデータを読んでしまう可能性がある: しかし実際には同時でなくても良い。サーバ2か…

HTTPをMessagePack-RPCに変換する方法

HTTPは、クライアントは楽だけどサーバは大変。完全でセキュアで堅牢なHTTPのサーバに書くのは異常に難しい。 MessagePack-RPCは、クライアントで使えないかもしれないけど、サーバは書きやすい。それからRPCの弊害として、クライアントとサーバが簡単に密結…

kumofsに10MBのvalueを入れるとどうなるか実験してみた

kumofsは、本来小さいサイズのvalueを大量に入れることを想定した分散KVSで、高解像度の画像など、サイズの大きいvalueを入れることは想定されていない。と言うかテストされていない。 でも、実は入れてみたら案外うまく動くんじゃないか?というわけで試し…