NAKAMURA Minoru の日記 (2017年5月)

先月の日記(2017年04月) 今月の日記(2017年05月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | slideshare | github | Qiita



5/31 (水)

[Food] ガンジー@新宿

新宿出張の帰りに「ガンジー」(食べログ)でカレーライスを食べる。 前に来たのは2012年1月22日になる。

今回はエビーカレーを食べる。 前に食べたビーフカレーは辛口の欧風カレーだったが、これは甘い。

[時事] カブールで爆破テロ

アフガニスタンの首都カブールで5月31日に自動車爆弾による爆発テロが発生。 死者は150人にのぼる。


5/29 (月)

近所で見かけた変なもの

本体と子機が合体している自動販売機。 子機の方のボタンを押しても缶ジュースは親機側から出る。

「ナルトもメンマもないけれど。」というラノベのタイトル風のラーメン屋ができてる。 前は中華料理店だったような気がする。


5/28 (日)

パクチーフェスに来てみたら

新宿でやっているというパクチーフェスに来てみたら来週からだった orz

ラオスフェス@代々木公園

渋谷の代々木公園でやっているラオスフェスへ移動。 出展しているのは普段はタイ料理店として営業している店のようだ。 メニューもほとんどはタイ料理に見える。


ピンガイ

カノムドックブア

持って返ったら割れていた

BIRTHDAY BAR

渋谷ヒカリエにはおしゃれな雑貨店がいろいろあるのね。 BIRTHDAY BARで誕生日プレゼントを買う。

[Food] オステリア・ガリレオ(Osteria Galileo)@川崎チネチッタ

川崎へ移動。 チネチッタ内のナポリ料理店オステリア・ガリレオ(食べログぐるなび)でラザニアを食べる。

[Movie] BLAME!

『BLAME!』の劇場版をチネチッタの LIVE ZOUND 上映で観る。 Netflix で観たけど、劇場の音響で見ると迫力が違う。 重力子放射線射出装置を発射した時の音が凄い。


5/23 (火)

[時事] マンチェスターでテロ

イギリス、マンチェスターでで現時時間の5月22日に自爆テロ。 実行犯を含めて23人が死亡。 59人が負傷。


5/21 (日)

[Movie] 夜明けを告げるルーのうた

TOHO シネマズ川崎で『夜明けを告げるルーのうた』を観る。 客の入りは2割ぐらい。

ハンナ & バーベラのカトゥーンのごとく動き回るアニメーションで感心する。 絵柄は『四畳半神話体系』や『夜は短し歩けよ乙女』で私は気にならないが、一般受けしないような絵だという印象を受ける。


5/20 (土)

Netflix の1ヶ月無料体験版に申し込む

『BLAME!』が観たくて Netflix の1ヶ月無料体験版に申し込む。

Netflix はバンダイチャンネルや d アニメストアと違い、配信作品の一覧が公開されていないようだ。 結構不便だ。

とりあえず検索を繰り返して以下のようなタイトルをマイリストに加える。

  • コララインとボタンの魔女
  • モンスター・ホテル
  • イコライザー
  • インセプション
  • バットマン v.s. スーパーマン
  • 記憶探偵と鍵のかかった少女

5/19 (金)

[Movie] メッセージ

川崎 TOHO で『メッセージ』(原題: Arrival)を観る。 客席は前方の席以外は 7 割がた埋まっている。 テッド・チャンの『あなたの人生の物語』の映画化。 予想通りの地味 SF で、カール・セーガン原作でジョディ・フォスターが主演した『コンタクト』を連想させた。 宇宙人が淡々と地球に到来し、主人公たちがコミュニケーションを開始し、ちょろっと事件が起きて、主人公がそれを解決するというストーリーになる。 地味。 まことに地味。

この手の作品は原作からの改変が問題になるが、改変は許容範囲内と感じた。 キーになる変分原理の話は映画化からは省かれていたのは残念だが、映画内で説明しても観客を置き去りになるような気がするし仕方ない。


5/17 (水)

Rendezvous hashing

Apache Ignite について調べているうちに Ignite は Rendezvous hashing(wikipedia)を利用しているという記事を読む。 Rendezvous hashing は 1996 年に発表された Highest Random Weight(HRW)アルゴリズム(元論文)に基づく consistent hashing に属するハッシュだそうだ。

私は分散アルゴリズムの専門家ではないが、分散ハッシュアルゴリズムは大きく consistent hashing と persistent hashing の 2 つに分類できると考えている。 分散ハッシュはキーに対しする値が、分散ストレージのノード番号だったりする。 Persistent hashing はキーに対してどのようなノード番号を返したかメモリ上のデータ構造で保持する(ストレージに永続化することもある)。 一方、consistent hashing はキーに対して算術的な計算だけでノード番号を決める。 例えばキーを分散ノード数で割ってその余りをノード番号とするなど。

Cosistent hashing はハッシュ計算が算術的な演算だけで行われるので、どの場所で計算してもよい。 クライアントで行っても、各分散ノードで行ってもよい。 一方、Persistent hashing はどこかに一箇所(複製をとることはある)にあるハッシュテーブルを読む必要があり、ハッシュテーブルの読み書きがオーバーヘッドになる。 そのためノード台数を増やすスケーラビリティという点では cosistent hashing は persistent hashing よりはるかに優れている。

一方、分散ハッシュに参加するノードの台数が増えたり減ったりする場合には、ハッシュの付け替えが必要になるが consistent hashing はこの手の変更に弱い。 これまで 5 台のノードに対して「5 で割ってその余りをノード番号」としていたのだが、1台増えて 6 台になると「6 で割ってその余りのノード番号」になるので、この変更で割り当て先が大幅に変わってしまう。 分散オブジェクトストレージだとノードの追加でデータの再配置が起きる。 私はこれを民族大移動と呼んでいる。 Persistent hashing はメモリ上に記録しているキー⇔ノード番号の一部分を書き換えれば、必要最小限のデータの再配置を実現できる。

Rendezvous hashing は consistent hashing でありながら、ノードの増減時の割り当ての付け替えが最小になるという優れたアルゴリズムである。 割り当て先が S1S2、…、SN とあった場合、これにそれぞれ重複しない ID を降る。 とりあえず S1 = 1、S2 = 2、…、SN = N でよい。 そして適当な 2 入力ハッシュ関数を用意して、キーの値が K の場合には h(K, S1)h(K, SN) を計算して、ソートし、その中で最大の値を返す Si をノードとして選択する。 ノードを足した場合には h(key, node) の新しいノードが最大になる場合のみデータの移動をすればよいし、ノードを減らす場合も h(key, node) が減らすノードで最大の key のデータのみを移動すればよい。

Rendezvous hashing はハッシュ関数の結果の背比べをするので計算量が多いのが弱点である。 これを高速化するにはキーに対するノード番号をメモリ上でキャッシュしておくことができる。 ただしいつでも再計算できるので cosistent hashing の特性を失ってはいないことになる。

私は rendezvous hashing の概念を Ceph の中で使われている drawing straws のロジックで知った。 ただし rendezvous hashing は Ceph 開発のずっと前、1998 年に Microsoft が決めた Cache Array Routing Protocol (CARP) には既に採用されていたらしい。 2017 年になり特許があっても失効したと思われるので、これからは分散ハッシュのデファクトになる予感。


5/16 (火)

Schema-on-write、Schema-on-read、Schema-on-the-fly

データベースの世界に Schema-on-WriteSchema-on-Read という概念がある。 ここでのスキーマはデータの形式定義を指し、ストレージに格納する前にテーブルの定義を決める必要のある関係データベース(RDB)は schema-on-write で、MongoDB や XML DB のようなフリーフォーマットのドキュメントを格納して問い合わせ時に形式を指定する NoSQL は schema-on-read になる。

db.collection.find({}, {name: 1, age: 1})

一方、Foreign Data Wrapper や DB リンクのように NoSQL を RDB の外部テーブルと読み込む場合、データの形式定義を行うことになる。 あるいは Apache Hive が CSV ファイルや JSON ファイルを読み込む場合も、読み込み時に形式をしているので schema-on-read と呼べる。 例えば MongoDB の collection を読む外部テーブルを定義する場合は、以下のように外部テーブルを定義してから、それを使って問い合わせする。

CREATE FOREIGN TABLE collection (
    name TEXT,
    age INTEGER
);

だがしかし、上記の書き方は MongoDB のやっている schema-on-read と異なるという印象を受ける。

一方、Apache Drill は MongoDB 内のデータに対して、以下のように問い合わせをすることができる。

SELECT name, age FROM mongo.db.`collection`;

Apache Drill はこのようなやり方を Schema-on-the-fly と命名していた。 これは面白い用語だと思う。 Schema-on-read の問題を解決してくれるので、積極的に使っていきたい。

追記

他に Schema-lessSchema-freeDynamic schema といった言い方がある。


5/13 (土)

[Movie] ガーディアンズ・オブ・ギャラクシー:リミックス

チネチッタで『ガーディアンズ・オブ・ギャラクシー:リミックス』(原題は Guardians of the Galaxy Vol. 2)を観る。 前作から時間が経ったので、前作の話を完全に忘れている。


5/7 (日)

[Food] 麗郷@渋谷

今日はゴールデンウィークの最終日。 渋谷にある台湾料理の麗郷(れいきょう)(食べログぐるなび)に食べに行く。 狙いは台湾のB級グルメの肉圓(バーワン)。 バーワンが食べられる店は都内でも少なく、横浜中華街の台湾料理店でもバーワンが出ない。


バーワン

澱粉質の厚い皮の下に豚肉とシイタケを細く切ったものを混ぜた餡が入っている。 残念ながら形状的に皮と中身を別々に食べることになる。


5/3 (水)

[Movie] 無限の住人

チネチッタで『無限の住人』を観る。

30巻のコミックを圧縮しすぎて起承転結が稀薄なのっぺりした脚本になっている。

逸刀流の変態剣法対決に期待したが、特殊な武器を使った変な 画面の暗さとカメラアングルで誤魔化すシーンが多い。 100人対決とか300人対決とかは普通の時代劇の殺陣の文法で取られているが、この人数がいるなら後ろから槍で刺せよと心の中で叫んでしまう。

あと血仙蟲による不死化は蟲が寄生する前の欠損は回復しないという設定だ。 しかし映画だと不死化前に片手首が切断されているが、それがなんとなく回復している。 不死身化したのと本編の間に 50 年の時間が経過したことになっているが、この設定変更もよく分からん。


5/2 (火)

[Food] お台場ハワイ・フェスティバル 2017@ヴィーナスフォート

ゴールデンウィーク中にお台場で複数のイベントが開催されているのでこれを回ってみる。 ヴィーナスフォートではハワイ・フェスティバルが開催中。


アサイーボール

[Food] bills@お台場

bills (公式食べログ)でリコッタパンケーキを食べる。

[Food] お台場オクトーバーフェスト2017 〜SPRING〜

オクトーバフェストも開催されているがゴールデンウィーク中でも平日にあたる場合、16:00 からの開催になっている。 同じようなフォーマットで何度も開催しているので人の入りが悪くなっているだろうな。

[Food] 肉フェス TOKYO 2017 WONDERLAND

今年もお台場で肉フェス(公式)が開催された。 ただゴールデンウィークの真ん中だが割と空いている。


割と空いている

イベリコ豚ベーコンステーキ

アグルーザー

アグルーザーはトルコ共和国のローストスペアリブで、キャッサバがついている。 キャッサバをタピオカ以外の食べ方で食べたのは初めて。


5/1 (月)

バベルの塔@東京都美術館

ボマンス美術館所蔵 ボリューゲル「バベルの塔展」を観る。

この展示の目玉はブリューゲルの「バベルの塔」だが、オランダに2枚しかないヒエロニムス・ボスの絵画が2枚とも一緒に来日。 これは凄い。 ブリューゲルは作品数が多いので時々特別展が開催される(2010年7月17日)けど、ボスの作品はほとんど残っていない。 ボスの真作が日本で見れるのはこれが最後かもしれない。

ボスは版画は「ブリューゲル 版画の世界」で1枚だけ展示されたのを見たことがあったが、今回の展示の解説を読むとボスを版画を手がけたという証拠はなく、ボスの版画は別の作家によるものだとされている。

16世紀のオランダ絵画はイタリア・ルネサンスの影響を受けており、イタリアに絵画の勉強に行った経歴の画家が多い。 その中でルネサンスの影響を全く受けてないボスは特異点のような存在になっている。 ブリューゲルはイタリア遊学の経験があるが、ボスの怪奇画の継承者として作品や農村を描いた作品にはイタリアの影響が希薄だ。 ボス-ブリューゲルのラインが16世紀のオランダ美術の核になっている点が面白い。

「バベルの塔」は小作品で観客は歩きながら観るように求められているので、オペラグラスを持ってないとじっくり観ることができない。 幸い非常に精度の高い拡大画が同時に展示されているので、そちらを見る方が楽だ。

あと聖人を刻んだ木彫りの彫刻が出展されている。 仏像みたいな扱いらしい。 無銘の作品が多いため美術史的には重要視されていならしく、これまでのオランダ美術展でも見たことがなかった。

[MyPC] 2TB HDD

自宅 PC の HDD が 1TB では容量的にきつくなってきたので交換用に 2TB を購入。 SEAGATE ST2000DM006 (2TB、7200rpm、64MB) を購入。


先月の日記(2017年04月) 今月の日記(2017年05月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp