Tokyo Cloud Developers Meetup #02 に参加して

講演は ustream で見て、懇親会だけ参加してきた。かな〜り勉強になった。GAE Data Store 関連でよくわからないことがあったので、2点質問をした。

Q. entity を更新してから index を更新していると言うが、それだと unique secondary index はサポートできないと思うのだが、どうか。
A. unique secondary index については、別途テーブルを作って管理してください。
感想. 複数の、ノードを跨がる unique secondary index があると 2-phase commit 的な話になるので、その割り切りはアリなのかなー。

Q. range query をサポートしていないというが、sharded, sorted array なのに何故?
A. 上下の両界をサポートしていないだけで、片方を指定した ascending / descending クエリなら実行可能。prefix search も可。
感想. 実装さぼってるだけなのかな。なんらかの圧縮使ってるなら、prefix search しかできないというのはあり得るけど *1

Google の人に対しては、質問に答えてもらったのに、なにしろ自分が GAE のユーザーじゃないので、どれだけ Give できたか申し訳ない感じ。

Google さん以外の話で言うと、普段あわない人といろいろ有意義な話ができたと思う。だったらいいな。お話させていただいた皆さん&主催のリクルートMTLさん、ありがとうございました。

PS. あと、

「BASEは時代遅れ。」 by @kazuho

Yusuke Kawasaki / THE GUILD on Twitter: "「BASEは時代遅れ。」 by @kazuho"

というのは、データセンタ内であればネットワーク分断 (CAP 定理における Partitioning) を気にする必要はない (冗長化によって防ぐことができる) んだから、(残る2要素の) consistency と availability は同時に満たすことができるでしょとかそういう話。

*1:pathtraq の URL 圧縮は、実際 prefix search しかできない