Entries from 2009-06-01 to 1 month

innodb_flush_logs_at_trx_commit のベンチマーク

binlog の設定等によって大きく変わると思うので要注意ですが、テストによっては、これぐらい差が出ます。 hdparm -W trx_commit 秒 0 0 25.492 0 1 281.078 1 0 24.138 1 1 67.051 測定環境は MySQL 5.1.35; linux 2.6.18; x86_64。テーブルのスキーマは、 …

INSERT したら STDERR かどっかのファイルに write(2) するだけのストレージエンジンがほしい

別に、MySQL のストレージエンジンじゃなくて UDF でもいいんですが*1。理由は、トリガーのオーディティングとかロギングとかデバッグとかで、ログをはきたいから。MyISAM みたいな non-transactional なストレージエンジンにログを INSERT していってもいい…

svn レポジトリの参照先を変える方法

2009年7月6日追記: 以下は svn switch あるいは svn switch --relocate が使えない場合の話です。Subversion のレポジトリが移行したときに、手元に co してあるソースをそのまま、レポジトリの URL だけを書き換えたいことって結構ある。 #運用サーバへの…

プロトコルハンドラをイベントドリブンに書く場合に O_NONBLOCK をセットするかしないか。または、それらを多重化する場合の方針について

まず、イベントドリブンなプロトコルハンドラを実装する側の事情を説明すると、O_NONBLOCK をセットすると、複雑なプロトコルの実装 (あちこちで write(2) を呼んでるとか) にあたって、いちいち select(2)->poll(2) のステップをふまなくても、返り値が EWO…

DBD::Pg でリクエスト並列化

PerlからPostgreSQLに非同期アクセスする方法 - iakioの日記 - postgresqlグループ を見てほぉぉと思って、IRC で話したりしながら適当に書いてみた。たぶんこんな感じ。動かしてないけど。 use DBD::Pg qw(:async); # send queries for my $dbh (@dbh_list)…

Re 分散ストレージの収束する方向 (のうち Pacific 関連の話)

id:frsyuki さん & id:hirose31 さん、クラウドコン優勝おめでとうございます! (参考: Interop Tokyo 2009のクラウドコンでグランプリいただきました!! - (ひ)メモ) Pacific はリゾルバがボトルネックになるが、Consistent Hashing + double-hash-space…

MySQL の XA Transaction と Pacific

Kazuho@Cybozu Labs: Pacific という名前の分散ストレージを作り始めた件 に関連した話。そういえば MySQL には XA Transaction 機能があるわけだけど、これ使うと Pacific の複数の MySQL node に 2-phase commit できたりするんだろうかとちょっと思った。…

Tokyo Cloud Developers Meetup #02 に参加して

講演は ustream で見て、懇親会だけ参加してきた。かな〜り勉強になった。GAE Data Store 関連でよくわからないことがあったので、2点質問をした。Q. entity を更新してから index を更新していると言うが、それだと unique secondary index はサポートでき…

Perl5 でネコ演算子Range Check

Perl 5 で、ある値が範囲内に入ってるか確認したいことってあるわけで。たとえば、 my $t = time; if ($min <= $t && $t < $max) { ... }みたいな冗長なコードは書きたくない。じゃあどうするかなって言うと、 if (grep { $min <= $_ and $_ < $max } time) …

Thrift のインストール

Thrift をインストールしようとして autotools まわりではまっちゃった場合は、autoconf 済の source tarball が instant.thrift-rpc.org からダウンロードできるらしい。thrift-users ml でそういう話が流れてた。Web 上には見当たらないけどw