Developers Summit 2010 1日目メモ
久々に半日も小難しい話を聞いていたためか、
非常にお疲れモードなので、仮眠でも取りたいところなのですが、
忘れないうちに大雑把なメモを書いておきます...φ(・ω・`)
全体/開始前/各ブースとか
高性能・安定運用のための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も新しいノードからにすると思われる
- コピー中はデータの不整合が起きるため、getとsetで別のテーブルを管理しているらしい
- ベンチマークを取ると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つを見てくる予定です(`・ω・´)ノ