ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

Developers Summit 2010 1日目メモ

久々に半日も小難しい話を聞いていたためか、
非常にお疲れモードなので、仮眠でも取りたいところなのですが、
忘れないうちに大雑把なメモを書いておきます...φ(・ω・`)

全体/開始前/各ブースとか

  • 午前はどうしてもってセッションがなかったので、仕事
  • 午後の一発目からラス手前までの4セッション
  • 明らかにもらった紙袋の中身が去年より少ない
    • スポンサー減った?
  • 今年もオライリーが出張してきて10%OFF
    • Hadoopの本は一度手に取ったものの、5000円近かったので今日はスルー
    • でも、現時点でHadoopのまとまった本はこれだけだし、明日買う∠( ゚д゚)/

高性能・安定運用のためのLinux-DBシステム構築/運用技術

  • DB(というよりMySQL)サーバを、OSのレイヤーでチューニングする話
  • 基本はメモリに乗っけちゃう
    • swap発生で一気に性能低下
    • だからってswap=0にするとえらいことに
    • MySQLのデータはswapさせず、他のメモリをswapさせる
      • カーネルパラメータをいじるとできる
  • ディスクI/Oをどうチューニングするか?
  • わりとハードウェアやカーネル寄りの話
    • 性能測定系のツールとか
    • ただ、ここまでやるのは最終手段で、その前にアプリでできることが多いはず
  • 結局、DB(InnoDBとか)は自前のI/O最適化をしてるので、OSのは切っちゃっていいのかも

ドッグフーディングとアジャイル開発

  • 明らかに人が入りきらず、立ち見していた
    • 今回は全体に参加者に対して席が足りない印象
    • 申込してない当日参加者が多いのかも?
  • 会社の宣伝とアジャイルの話とツールのデモで1/3ずつ
    • 別に会社のすごさはどうでも良かったんだけど・・・
    • この時点で席を立つ人がちらほら
    • 他のセッションでもあったのかもしれないけど、壁際で見ていたので目立った
  • 念のため書いておくと、自社プロダクトを自社で使うのが「ドッグフーディング」
  • この会社はアジャイルプロセスを支援するツールを作ってるので、自然とこれができる
  • ツールは便利と言えば便利だけど・・・
    • Redmineみたいなタスク管理システムのUIを使いやすくした感じ?
    • コード上で会話するとか機能はあったけど・・・

NoSQL を知る 〜kumofs から学ぶ Not only SQL の技術

  • 本日の個人的MVP(`・ω・´) b
  • プレゼン能力の高さが半端ではなかった
    • 資料も、話の進め方も、デモも
  • たぶん、この手の発表をしまくって慣れている予感
    • 一応、研究者だし・・・
  • 分散KVSを含む「NoSQL」が何で出てきたのか、どんな特性を持つのかって話
  • そこからkumofsの話へ
  • このあたりは前に紹介した「Software Design 2月号」に詳しいので省略Σ(・ω・ノ)ノ


Tokyo TyrantをDBと比較してみる - どっかのBlogの前置きのような

  • ノードの分散アルゴリズムは以下の説明に詳しい
    • ほぼそんな感じだった


memcachedを知り尽くす:第4回 memcachedの分散アルゴリズム|gihyo.jp … 技術評論社

    • 単純にこれをやっちゃうと、Hashの値で「距離」に偏りが出る
    • それをkumofsでは補正して偏りがないようにしているらしい
      • 最後の質問に対する回答から
      • というか、よく見たら書いてあるやん
  • データがsetされると、近い方から3箇所に保存しにいく
  • ノードを追加すると、本来そのエリアを担当していたノードからデータをコピー
    • コピー中はデータの不整合が起きるため、getとsetで別のテーブルを管理しているらしい
      • コピーが完了したらgetも新しいノードからにすると思われる
  • ベンチマークを取るとmemcachedとスループットが変わらない・・・らしい
  • だが、私は小さい字で書かれていた条件を見逃さなかったΣ(・ω・ノ)ノ
    • ベンチマークに使われたデータのvalueは32byteだった気がする
    • keyやメタデータを加えても、せいぜい100byteだろう
    • それが数万件あったところで、確実に全部メモリに乗ってしまう
      • つまり、ディスクI/Oによる性能劣化がない
      • まさにこれを2つ前のセッションでMySQLの人が言っていた
      • DBのベンチはI/Oの有無を疑うべし
    • よって、kumofsの分散・冗長化アルゴリズムが、memcachedに比べて遅くないってだけ
    • もちろん、それが一番すごいんだけど・・・
    • 実際の利用環境で、そんな性能が出るかはかなり怪しい
      • だからこそ、この前自分の想定した使い方で検証したわけで
      • もっとも、でかいデータの格納をKVSにやらせるのはどうなのってことでもあるけど・・・
  • localhostに6つくらいのサーバとManagerサーバを立ち上げてデモ
  • 管理ツールはRubyで書かれていて、カスタマイズが容易
    • サーバ自体はC++
  • 意外と盲点だったのが、管理サーバから各サーバへの問い合わせを非同期にすること
  • 2〜3台ならいいけど、数百台を同期処理したら、現実的な時間では返らないし・・・
  • 最後にTwitterで反応を確認していた
    • 私は誰かがしゃべっているときにつぶやく気にはならんかった
    • 話に集中したいし・・・

静的コード解析の山笑ふ〜ビジネスインパクト分析という新アプローチ〜

  • kumofsのメモでだいぶ残った力を使ったので、簡潔にΣ(・ω・ノ)ノ
  • 基本的にはツールの宣伝
  • でも、かなり普遍的な話が中心で、あまり宣伝っぽくない
  • コードに問題があったとき、そのリスクをどう見積もるかって話
  • 「CWE」って非営利団体がリスクを分類している
    • このツールの最新版はこれを利用しているそうで
  • こういう客観的な分類があるってことを知ったのが一番でかい


CWE -
Common Weakness Enumeration

  • あとはバグがあるままコピペしたコードを、自社の他のプロダクトから検出したり
    • 使いたいケースがあるよね・・・絶対
  • ツールは面白そうだったけど、RubyのようなLLでは使えない(´・ω・`)

【非参加】アーキテクチャに憧れろ - 『ソフトウェアアーキテクトが知るべき97のこと』著者パネルディスカッション

  • 参加してないけど軽く
    • 申し込んでなかったし、疲れ切ってたので帰った
  • めっちゃ人が並んでいて、明らかに今日一番多かったと思われる
  • 表題の本の内容を話すものと思われる
  • 参加しないならせめて本だけでも・・・とオライリーのブースへ
  • パラパラと眺めたところ、元の洋書にこの面子が追記したって話らしい
  • その意味では「著者」ではない
  • 全部書いてるなら買って帰ったのに・・・
  • TwitterのTLでログを載せてる人を見つけたので、参考に(´・ω・)っ


デブサミ2010 アーキテクチャに憧れろ - 『ソフトウェアアーキテクトが知るべき97のこと』著者パネルディスカッション - eggmanの日記

その場で調べる能力は必要。
あまり情報が入ってくると、発信ができなくなる。

これがさりげなく重い



明日も午後の4つを見てくる予定です(`・ω・´)ノ