S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

第11回オープンラボ岡山

第11回オープンラボ岡山に行ってきた。


丁度案内が来る前に富士通研究所、クラウドサービス向け分散データ保管技術を高速化 - クラウド Watchの記事を読んでいて、富士通研究所の人の話を聞く機会とかあまりないので、参加することにした。

オープンソースとCAE技術の発展

岡山県立大学の芝先生のネタ。
あまりCAEって触れる機会ないけど、きっと某システムのエンジンのメンテ用の各種項目の計算とか、本来使ってもいい?使えるライブラリがある?のかも?とか。
ライセンスの考え方の遷移とか、研究者の方のプログラムの特性とか確かに面白いw

スマートフォンアプリ開発の体験談と可能性について

デジタルデバイドって言葉が出て久しいけど、なんとなくデバイドされてる側っぽいような気がしないでもない。。。
iPhoneとかAndroidとか手にしたいと思うけど、使い道がないw
というか手にしてから考えるべきなんじゃろうな。。。
現時点では、これ以上固定費を増やしたくないので、当面は見送り中。
車が一台になれば簡単な話かもしれんけどw
ただ、デバイスの変化が今後どうなるんか?とか気になるところ。
デバイスが持つセンサというかインターフェースとか。
入力:カメラ、GPS、マイク、タッチパネル
出力:ディスプレイ、スピーカ
こういうのPanasonic 3D VIERA AR Greeting | Panasonic見てると、ある店舗とか、エリアでだけ有効なアプリでの情報提供という付加価値とかってあるんかな。

分散KVS上での集合演算とアトミック更新

去年のSeasar Conference 2009 Autumnで、ひがさんの「SQL脳からBigtable脳へ」の続きみたいな感じ。

  • equijoin

等価式で結合するequijoinに相当する操作を以下の2つで実現とか。
rekey:結合する値をキーにしてKVSを生成
map:値ごとに同じ関数を適用した新たなKVSを生成
富士通研究所、クラウドサービス向け分散データ保管技術を高速化 - クラウド Watch(拡大画像)

  • アトミック更新

分散における排他制御の必要性って観点が「確かにそうですね」って感じ。
記事読んで直感的には理解できてた。
で、更新するリソース(KVSのキー)が少なく、その少ないリソースに対する大量の更新のリクエストを処理する場合には、衝突を繰り返す確率が高くなるのでリニアにパフォーマンスは出ないってのも検証されてるとか。
衝突することを想定して、用意した排他制御の仕組みがボトルネックになるんだったら、衝突したときに解決する仕組みを準備するほうがいいじゃねって。
富士通研究所、クラウドサービス向け分散データ保管技術を高速化 - クラウド Watch(拡大画像)
排他制御しないけど、もし問題あったら、実行しなおすよって。
これを「投機的」と表現した人のセンスにグっときた(笑
富士通研究所、クラウドサービス向け分散データ保管技術を高速化 - クラウド Watch(拡大画像)
だから命令履歴取ってるから。
富士通研究所、クラウドサービス向け分散データ保管技術を高速化 - クラウド Watch(拡大画像)
よくよく考えると、これってTCP/IPコリジョンの考え方(CSMA/CDのCarrier SenseしないCollision Detectionの再送のみ?)に近いよね?とか。コリジョンが多発すると、ネットワークのパフォーマンス落ちるし。
それから、更新はアトミックってことだけど、参照はいわゆるダーティーリードになる?って質問すると、この仕組みでは「ダーティーリードになる」とのこと。
とりあえずKVSの仕組みは、まだ厳密なDBMSとして使いたい場面じゃなくて、大体こんな感じ的な情報でかつ、大量に扱いたいよって場面くらいかな。
槌本さんがWeb3階層のステートレス・ステートフルって概念の話をされてたのが、トランザクションと関係してるってのも、「そういう観点で見てるのか」って気付かせてもらった。
【追記2010/08/23】
槌本さんが言われてた「イベンチュアル・コンシステンシー(Wikipedia)」について、初めて聞いた言葉だったので。

厳密な一貫性を要求する考え方ではなく、結果的に一貫性が保たれればよいという考え方。長い間、データの更新がなければ、結果的に、全ての更新処理が反映され、全てのレプリケーションを含めたデータの一貫性が保たれる、とする。

って、参照がダーティリードとなるって話に通じるっぽい。
最後に更新のログを可視化したデモなんかの動きとかも、確かにそんな動きに見えた。
ダーティリードってことは、衝突時の再実行処理中の参照も、情報としては不確かな?一貫性が保たれない可能性のある?データだよって考え方っぽい。

限りなぐ絵で説明!GPGPU入門

GPUで計算しちゃおうって、実際どうするのか全然知らなかったけど、面白そう。
並列で計算するってことは、大きな計算を分割して、ゴニョゴニョして…とかアルゴリズム考えんとおえんと思うけど…
数学的に力不足であるのも承知してるorz