映画をいくつか観たはなし

先日渡米する機会があって、往復の中で新幹線を死ぬほど観る時間があったのでとりあえず見れる限りの映画を観た。音質画質など知ったことか。787はやはり快適ですな。UAの食事そんなに悪くなかった。ANAとのコードシェア便だからかな。

アナと雪の女王 / Frozen

英語の勉強のためにまず吹き替え版を見てから英語版を観た。語彙が平易で非常にわかりやすいし、ストーリーも定番ぽく進みながら要所要所で意表を突く展開。有名な歌の "Let it go" はクライマックスで出るのかと思いきやこれまた以外なところで出てきて、実はちょっと悲しい歌でした。というか、わりと序盤で出てきてしまって今後どうなるの?と心配してしまった。

Ironman 3

ついに人類も超進化…

SHIELD Drama

いつのか分からないけど…これは英語で観たのでストーリーが半分くらいしか分からなかったのだけど、大企業で働いたことある身としてはなかなか身にしみる話であった。

ここまで往路の映画。ここから復路に観た映画。

X-Men First Class

Professer X. がなぜProfesserでXなのかがわかるいい話。ErikとCharlesの友情物語なのだけど、悪役の凄まじさが半端ない

300

筋肉侍の映画でしたね。これは修辞が多かったのでおそらく吹替版で観たのが正解。あと画がベルセルクっぽくて、そちら方面好きな人は見れるかも。

Captain America

王道映画。ヒロインのHeyley Atwellの色気が凄まじかった。

The Wolf of Wallstreet

こんなに f word が頻繁に登場する映画は初めてでいったいどうやって吹替とか字幕作るんだとかと心配になるが、やはり英語で観て正解だった。英語なのでストーリーは50%くらいしか分からなかったのだけど、登場人物の台詞を英語で聞けたのでおそらく2,3倍は楽しめている。

ヒロインのMargot Robbieの本物セレブ感を楽しむ映画でもある。

Chris Colfer "Struck by Lightning"

さすがに、立て続けに何本も観たので、これの最初の5分で疲れて寝てしまった。日本で観れる機会があるとよいのだが。

自宅でカルーアミルクっぽいものを作って飲む方法


  1. コーヒーを300~400ccほど淹れてブラックで気が済むまで飲む
  2. 100~200cc ほど残ったところで同量程度のミルクを注入
  3. 写真左から三番目のVanilla Syrupを適当に入れる。おそらく大さじ1~2杯程度
  4. 写真左から二番目のアップルブランデーを入れる。おそらく大さじ0.5~1.5杯程度

これでちょっとコップをまわすとあら不思議、かなり甘いカルーアミルクのような味になっておいしく飲める。ぼくはビールの蓄えが家になく、ウィスキーって気分じゃないよなあというときにこれを作る。

アップルブランデーはニッカの宮城峡の蒸留所で買ってきたもの。ネットで画像を探したんだけど見つからなかったので、おそらくは弘前が代わりになると思うけど、バニラシロップと合わさってなんともいえない香りを出してくれる。

バニラシロップはこれを使っている。みんな大好きスターバックスでも使っているらしいやつで、妻によると100%ハワイ産の砂糖黍を使っているのだとか。たしかにメープルシロップのような独特の甘みがある(※個人の感想です)。

それではお楽しみあれ。

ソフトウェアデザイン5月号

「Riakはなぜデータをなくさないか」シリーズ3回目。最後はリードリペアとAAEの説明。これでRiakの最も重要な特徴である、耐障害性と可用性についての解説がひと通り終わったことになる。「Mongoと何が違うの?」「えーCassandraでいいじゃん」という方は私がいくらでも説明するが、私と話すのが面倒だという方はここ三回のシリーズを読むとRiakのことがわかり、MongoとCassandraとの違いも自ずと分かるようになっている*1

私自身も、今年1月の筑波での講演、この連載の記事を書いているうちにだんだんとデータベースの本質を理解することができたといっても過言ではない。私のように勤勉でない人間はインプットよりもアウトプットすることの方が重要なのである。そういう意味で、この連載の機会をくださったソフトウェアデザイン誌には非常に感謝している。電子書籍でも買えるようになったのでみなさん一人一冊買うべき。

あと、これで連載終わりで*2、まあよくも1年間毎月締切と戦ったなあと思う。ご愛読いただいた皆様、本当にありがとうございました。もし、もっとRiakとかデータベースの話を読みたいという方がいらしたら、Riakのライセンスを10本ほど買っていただければ何か文章を進呈いたしますのでご連絡をお待ちしております。

*1:記事そのものには競合製品のことは書いていません

*2:やめるのは単に本業が忙しくなったからです

最近みた映画

やはり趣味があった方がいいよね、というので最近はいくつかのことを並列で試してる。その中のひとつが映画だ。といっても、うちにあるAppleTVで適当にレンタルして観ているだけなのだが、それなりに便利だ。思ったより品揃えが少ないのだが、面白そうなものがありすぎて悩むよりはよい。というわけで、ここ数週間で観たものをメモ。

アイアンマン(1枚組) [DVD]

アイアンマン(1枚組) [DVD]

先にアベンジャーズを観ていたので、アイアンマンは気になっていた。トニー・スタークのアメリカ~ンな感じが安心して見ていられる。科学的にはオイオイそんなので大丈夫なのかとか、国に売る兵器に会社のロゴなんて入るもんなのかとか、まあいろいろ気になるんだけどグウィネス・パルトロウは美人ですね。ちなみに地上波で一度観ていたのを、40分くらいの時点でやっと思い出した。

アイアンマン2 [DVD]

アイアンマン2 [DVD]

前作が面白いので、続編も見ました。

バイオハザードV リトリビューション [DVD]

バイオハザードV リトリビューション [DVD]

映画はResident Evilと名前を変えているのだけども、なんか4まで見ちゃったので惰性で、ね。


カーズ [DVD]

カーズ [DVD]

スティーブ・ジョブズの伝記を10年位前に読んだときは(これですねスティーブ・ジョブズ-偶像復活)へーピクサーってそんなもんなのかーと思っていたし、モンスターズ・インクを観たときは、子供向けに面白い物作るなあ、と思っていたのだけど、カーズはもう1ランク上の映画になっている。なんというか、もうアニメってレベルじゃねー。GCはここまで進化するんだー、というのと、古きよきアメリカ、ゆっくりとしたアメリカ、典型的なアメリカ人、なんというかアメリカのとてもよいところが沢山詰まっていてとても好きな映画のひとつ。

ディズニー カーズ トミカ C-01 ライトニング マックィーン(スタンダードタイプ)

で、息子が観ちゃったもんだからこんな玩具も買うはめに。。。戦隊ものよりも断然子供に見せるべき映画だ。


カーズ2 (期間限定) [DVD]

カーズ2 (期間限定) [DVD]

で、続編はちょっと風情を変えてアドベンチャー、スパイ、シリアスな友情がエッセンスとして加えられてナンジャコリャ、といった印象で今度は1とうって変わって忙しい展開。ここまで方向性を変えても面白いジョン・ラセター天才だなーと思う。


エイリアンVS.プレデター 完全版 [DVD]

エイリアンVS.プレデター 完全版 [DVD]

前々から観たいと思っていた映画をやっと観ることができた。ただでさえプロットが面白いのだけど、種と種と種が戦うこのストーリーは素晴らしい。甘えが一切許されない。両方の映画のファンがどこまでも楽しめる伏線やとてもよい。ビショップこんなところに出てくるんかいとか、ラストでプレデターが親指を立てながら溶鉱炉に沈むシーンは涙なしには見られないですよ。

学生時代はわりと沢山の映画を観たつもりなのだけどほとんど記憶に残っていなくて、またいろいろと観れたらいいなと思う。深夜に1ルームの小さな部屋の隅っこにおいたかろうじてステレオな小さなブラウン管で観るVHSの映画もあれはあれで格別だったのだけど、ビデオ屋でいちいち物色しなくていいし、大きな液晶でいい音だし、おいしいウィスキーをちびちびやりながら一人で観る映画もよいけど、家族で3人で重い子供を膝に乗せて明るい昼間に観る映画もこれまた格別で*1、いろいろな楽しみ方をしていて、映画っていいなあとしみじみ思う。

*1:バイオハザードとAVPはもちろん一人で見ました

LINE Developer Conferenceに行ってきた

ふとしたことから LINE Developer Conference の存在を知り、その中の「高可用データベース」という文字列をみて高可用データベースを作っている身としては黙っていられないので行ってきた。喉がかわいたので水をもらえてよかった。

ひとつめのセッションはLINEのシステム運用。インフラは基本に忠実に、無駄に安いハードウェア買って困るくらいならそこそこの値段でいいヤツ買います、ソフトウェアも同様、必要なところでは VMware vSphereやOracleを使いますといった感じだった。やはりメッセージングなのでバーストトラフィックがあるらしく、それのせいでスイッチのパケットバッファが普通に溢れてパケ落ちが発生するらしい。ふつうのTCP/IPならその後の再送はランダムに時間置いて飛ぶはずだからそんなに溢れないと思ってたんだけど、TCP周りの設定をいじったらなんとかなりそうな気もする(※個人の感想です
それでバルスとかも普通に乗りきれるんだけど、今年の正月はRedisクラスタの1台が謎の高負荷状態になって、リトライの嵐になってシステムが不安定になるという障害があった。MSI-X(ってなんだ??)が動作しているときにirqbalanceが割り込みまくっていた。Redisが使うCPUがなぜか奇数番のCPUに集中してしまうのが高負荷の原因だったので、なんとかというマクロ?を設定して済ませたとか。さすがはLivedoorといったところか。あとHBaseのディスクはPCIE-SSDというハードウェアを使っている(使うことにした?)らしいですよ。まあIOPSは桁違いだもんね…

で、ノベルティを沢山もらいました。

ふたつめのセッションはお目当ての高可用データベース。データベースが数千台もあるとか。Percona MySQL使っていて、マルチマスターで運用しているぜーとのこと。なんとMMMを使っていると(その後某MySQLな人と話したら「MMM使ってる人いたんだ…」と驚かれたのできっとすごいことなのだろう)。Write conflictが起きたらどうするのだろうとか、切り替えにかかる停止時間はどの程度なのだろう、とか、VIP張って切り替えを管理するノードは別にいるみたいなのでそいつの冗長化はどうするの、とか、ネットワーク分断が起きたらどうなるのかなー(;◔ิд◔ิ)とか、気になった。

次はN-baseというおそらく本邦初公開のソフトウェア。MySQLのシャーディングができて、無停止でノード追加ができるというミドルウェアで、gizzerdとかPNUTSみたいなヤツかな。ルーティングのアイディアはCouchBaseとかRiakに似てて、PKEYを使ったConsistent Hashing *1だった。で、ハッシュにかけたあとパーティションに区切るのかな?そのパーティション毎に(おそらく)テーブルを作って、その単位で管理する。どのパーティションをどのサーバーが持ってるかはマスターがいて、そいつがルーティングする(っぽい…ここがRiakやCouchBaseと違うところ)。ノードを追加するときはバックグラウンドでパーティションを渡す。Select/Insertをまわしつつ、全部渡したらテーブルをドロップしちゃう。渡している途中にSelectが来たら、渡す先と渡す元のデータを比較してタイムスタンプが新しい方を使うとのこと。各ノードの死活監視は select now() でやっているらしい。合理的だ。

いくつか気になる質問があったのだけど、懇親会は出れなかったのでここにメモをしておこう。

  • インデックスを張ってあるカラムからのSelectはどういう動作になるのか
  • ルーティング表を持っているノードの冗長化はどうやってるのか、その子が死んだらダウンタイムになるのでは(そもそもMasterがいないなら、ルーティング表の共有はどうやってる?)
  • 複数テーブルや、複数行の同時更新したい場合は分散トランザクションを使っているのか
  • パーティションを渡すときの負荷と速度はどのように制御しているのか
  • どのパーティションをどのノードが持つかの配置はどういうアルゴリズムでやっているのか
  • JOIN使ってるかどうか
  • aggregation系のクエリのパフォーマンスは?
  • select now(); みたいな死活監視だと故障時にダウンタイムが20とか30秒くらいは出るがそれは許容範囲なのか*2

ダブルブッキングでケツカッチンだったので3つ目のネットワークのセッションを諦めて品川に移動。なんか知り合いが沢山いたらしく、懇親会に出たらもっと別の話も聞けたのかなあとちょっと後悔した。それにしても、なんかいっぱいグッズもらったし渋谷は華やかだった。雨が降ったくらいで出社しないなんてとても勿体ないなあと切に思う。

*1:という言葉を使わなかったのだけど

*2:ええ手前味噌な質問です

データ可視化の実践入門

エンジニアのためのデータ可視化実践入門という本を読んだ。なんでも「ある意味」という言葉をつけておけば大丈夫らしいのでいっておくが、正直いって、ある意味でこの本に騙された感がある。ある意味で。まあ釣られたという言葉が正しいのだろう。

エンジニアのための データ可視化[実践]入門 ~D3.jsによるWebの可視化 (Software Design plus)

エンジニアのための データ可視化[実践]入門 ~D3.jsによるWebの可視化 (Software Design plus)

この本が出る前にブラウザでグラフ書くならどういうのがいいのだろうなーと思って D3.js を一度試したことがあった。たしかにグラフはカッコよく書けるのだが如何せん私はJavaScriptがさっぱり分からない。どれくらい分からないかというとJavaScriptとJavaはそれぞれv8とJVMという違う処理系の上で動いているらしいというくらいしか知らないくらいよく知らなかった。

でもグラフは描いてみたい。きっとそこにはカッコよくグラフを描くための素敵なテクニックが記載されていてこれさえ読めば私もイケてる今風JSハッカーだぜヒャッハーとなる予定だった。でも読んでみたらそうじゃなかった。釣りタイトルの対する私の指摘をまとめるとこうだ。

  • エンジニアのための本ではない - エンジニアじゃなくても、いわゆる数値から意味なり主張を読み解くためのグラフというものを作成する人、それを読む人全員が前半を読むべき
  • 実践と入門って結局どっちやねん - 実践的なコードも載っているしCoffeeScript入門までついている
  • 「D3.js による」D3.jsじゃなくても役に立つ知識ばかり - D3.jsの解説は全くなくてもよいくらい

特に前半には、テレビや論文、新聞、プレゼン資料などに登場する馬鹿げたグラフに対する著者の恨みのようなものが随所に読み取れていて好感がもてる。もちろんそれだけじゃなくて、今まで暗黙知識だった可視化のノウハウがかなり明文化されており、いままで科学実験、論文やプレゼンでなんとなく空気を読んでグラフ作ってきた人はこれを読んで正統なグラフを描けるようになるだろう。

それにしても今後はこういった釣りタイトルはきっぱりとやめていただきたい。

IT業界(インフラより)のみんな!アニメのBDを大人買いしてる場合じゃないぞ

飲み会で話していたら、この危険さに気づいている人あまりいなかったようなので。

こうやってニュースを並べると聡明な諸君は気づくだろうが、ストレージの単価がほぼ同じだ。Facebookの記事はコンシューマ向けではないが、単価はそのレベルだろうと想像される*1

Glacierは登場した当初は「すわテープドライブまでクラウド化か?」という憶測が飛び交ったが、「テープではないらしいぞ」という憶測も登場して実際のところは分からない。GMailはバックアップにデープドライブを使っていたらしいが今でもそうなのかは分からない。

さらに、これらのニュースの間のタイミングで ソニーとパナソニック、容量1TBを狙う長期保存用の光ディスク規格「Archival Disc」というニュースが登場していたということが問題だ。

データセンターを走らせるためのコストは大きく分けて初期コストとランニングコストに分けられる。初期コストはまあバルクで買い叩けばどうにでもなるとして、ランニングコストはエネルギーを消費しているためどうしてもなくならない。ハードディスクは、中でスピンドルを止めていたとしてもメモリ、CPU、電源、空調などを使っているとどうしてもコスト、というかエネルギーを消費する。だから、それを止めるコールドストレージは相当なレベルでコストを下げられる(定量的な議論はあえてしないできないできたらすごい)。

ところが、それを不要にするのがコールドストレージだ。手段としては単純にコンピュータの電源を落とす方法と、長期保存が可能な光学ドライブを利用する方法がある(もちろんテープも)。この中で光学ドライブを大手がこぞって利用し始めたということは…あのJames Hamilton御大までもが光学ドライブについて言及したということは…

Googleだけが上記のなかで光学ドライブを使っていると明言していないが、あの価格はおそらく光学ドライブだ*2

もちろん、光学ドライブにも技術的な問題点はあってそのまますぐに使えるというわけではない。テープほど耐久性が高くないため、ある程度の確率で時間が経つと読み出せなくなる。市販のDVDでテレビを録画していたが、数年経って見返そうとしたら見れないという経験を持っている人も多いだろう。もちろんHDDよりは寿命が長いだろうが、おそらくは定期的にデータを読みだして壊れていたら複製を増やすという操作が必要になる。そういった耐久性のデータと、複製管理のアルゴリズムの技術と、ロボットで自動化する技術のどれかひとつでも欠けているとこれは実現できない。

*1:「価格競争はしない」というレトリックも問題のひとつなのだが…

*2:一歩譲って、HDDとコールドストレージのハイブリッド構成のはず

ソフトウェアデザイン 4月号は本日?発売です

「なぜRiakはデータをなくさないか」というテーマの2回目。ヒント付きハンドオフがすごいのは分かったけどデータの整合性はどうなるのよ、というときにベクタークロックとかSiblingsとかをどう使うか、これらがどういう挙動をするかについて解説した。

話としてはこのブログ過去の記事の延長線上(土台?)になっている内容なので、ここを読まれている方には新しい情報は少ないかもしれない。
具体的には、CRDTのはなしで触れたSiblingsとかCRDTと、こないだの筑波大学での話の間の関連を埋めるような内容になっているので、これを読んでみなさんも分散素晴らしい、とか分散厨になっていただきたいと切に願ってやまない。