Home > 2010年02月

2010年02月 Archive

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

Developers Summit 2010 1日目に参加してきた

デブサミ2010の初日にいってきました。
http://codezine.jp/devsumi/2010/gaiyo/

参加したセッションは以下の通り。

11:10-11:55 【18-E-2】
ソーシャルウェアが開発現場にイノベーションを引き起こす~次世代情報共有・活用のあり方とは~

13:10-14:00 【18-E-3】
高性能・安定運用のためのLinux-DBシステム構築/運用技術

16:35-17:20 【18-B-6】
オラクルのエバンジェリスト2人が考えるクラウド・プラットフォーム

17:40-19:10 【18-E-7】
デブサミオフィシャルコミュニティから選出のLT大会


とりあえず、ざっくりとした感想を。
【18-E-2】では、メールによるコミュニケーションに偏らず、ファイル、DB、ドキュメント、人などを集中管理し、情報の蓄積・検索のできるソーシャルウェアを導入することで、開発現場の様々な問題を解決できるよ(超まとめ)という内容でした。
「日立のシステムを使えば」という内容でしたが、個人的には Google Waveで似たような事が社内でできないか考えていたところなので、問題点の考え方などは参考になりました。
社内政治でパクらせてもらおうw
公式サイトはこちら。
http://www.seshop.com/event/dev/2010/timetable/Default.asp?mode=detail&eid=145&sid=895&tr=02%5F%8AJ%94%AD%83v%83%8D%83Z%83X#895
資料はどこかにアップされてるのかな?
ちょっと見つけられてないので、見つけたら紹介します。

【18-E-3】
MySQLの偉い人。
資料はこちら
http://www.slideshare.net/matsunobu/linuxdb
公式ページ
http://www.seshop.com/event/dev/2010/timetable/Default.asp?mode=detail&eid=145&sid=849&tr=04_DB#849
DBのチューニングってのは当たり前にやるものだって思っていたんですけど、このセッションではLinuxのチューニングの話が多かったです。
OSをDBのためにチューニングするっていう発想はあまり持っていなかったので、とってもためになりました。
残念ながら今の会社でMySQLの案件はまず入ってこないんですけど、他の製品でも同様の考え方が通じる場面があると思うので、今日の話を聞けてよかったです。

【18-B-6】
http://www.seshop.com/event/dev/2010/timetable/Default.asp?mode=detail&eid=145&sid=834&tr=01_Cloud+Development#834
オラクルのすごい人。
前半の佐藤さんは、オラクル社としてのクラウドの取り組みの話がメイン。
後半の中嶋さんは、ストレージのグリッド化、ASMの紹介をベンチマーク結果とともに紹介という内容でした。
佐藤さんの資料は、時間の割にページ数が多く、ちょっと消化しきれないような感じで、ご本人もちょっと焦っていたのではないでしょうか。
http://twitter.com/nkjm/status/9263224608
こんなTLが流れて来てたので、直前まで資料つくってた?とか色々想像しちゃってましたw
でもイケメンだからいいんだと思う。
中嶋さんのベンチマークの環境は、sunから借りて来たHWなそうで(他意は無いとおっしゃっていましたがw)、そんなHWをばしばし叩く環境が用意できる辺りがとってもうらやましかったです。
イケメンだし。
お二人とも、製品の紹介をしていても、宣伝ぽくなく、技術だけの話でもなく、聞き手に興味を持たせるストーリーをしっかり作り混んできているところなんかは、やっぱりうまいなーと思いました。
あとイケメンだし。
そういえば、会場でカメラマンの女性がいましたけど、やたら枚数とってたような。
他会場ではほとんどみなかったのに。
きっとイケメンだからだ。
資料はきっとそのうちアップされるはず。

【18-E-7】
いろんなコミュニティから選出されたメンバーでLTするという内容でした。
こういうのは初めて見たんですけど、ざっくりと感想を言えば「面白かった」です。
でも、各コミュニティに興味が沸いたかというとちょっと微妙なところ。
仲良しだなーというのは伝わりましたけど。
懇親会がメインですとか言ってしまうのはどうなんだろうと、個人的には思いました。
コミュニティってそういうものなんですかね。
でも、Firebird日本ユーザー会の方はすごかった。
LT大会の趣旨が何を目的としているのかは解りませんけど、この方のプレゼンは、製品やコミュニティに興味を持たせるような内容で、しかも面白く、時間内におさめるという、これが競技だとしたら間違いなく今日の優勝といってよい内容でした。
あとは、スーツな人が少ないせいなのか、それとも何か理由があるのか知りませんけど、Oracleは悪者扱いにして笑いを取るのが普通な人達が多いなーという印象をうけました。
JavaとOpen Solarisの人達からしたらそういうものなんですかね。
全員がそうではないと思いますが、「マイクロソフト嫌い」とか「読売ジャイアンツは嫌い」とか、「任天堂嫌い」とか、そういう事を言う人達に似たメンタリティを感じてしまいました。
ただ、やっぱ仲間がいて、同じ目的(何が目的か今回はよくわかりませんでしたが)を持って集うことができる環境があるのは素晴らしいことだと思いますし、そのプラットフォームを構築して活動している皆さんを尊敬します。


そんな感じで参加してきました。
というレポートでした。
明日もあるので、行けない方は
http://twitter.com/#search?q=devsumi2010
これを眺めてもやもやしてください。

デブサミ2010

  • Posted by: Nakunaru
  • 2010-02-17 Wed 00:26:38
  • 雑記
デブサミ2010は申し込みの締め切りのようですね。
http://codezine.jp/devsumi/2010/


新しい職場で参加の了解をもらったので、【18-E-2】と【18-E-3】と【18-B-6】と【18-E-7】を申し込みました。
13:00からのセッションはgoogleのも興味があったんですけど、DB関連優先で。

今年はソースコードリーディングの訓練をしたいと思っていたので、Cの午前中のセッションに興味があったのでが、ちょっと今の私にはハードルが高かったので断念。
来年には申し込みボタンが押せるようになりたいものです。

では、会場で僕と握手!

db2エンジニアに挑戦

  • Posted by: Nakunaru
  • 2010-02-09 Tue 23:28:09
  • メモ
次の仕事のためにdb2の勉強することになりました。
どうせなら資格もとりましょうということで、db2 9 エンジニアの取得をとりあえずの目標とします。



が。

試験対策本ってなくないですか?
V8の本は出てるんですけど、V9はamazonで検索してもないっぽいんですけど。

そんなわけで、本はおいおい探すことにして、会社にあったV8の本で勉強開始です。

■今日の復習
・サーバ製品群
 パーソナル・エディション:win98/meもOK、リモートからの接続NG
 ワークグループ・サーバ・エディション
 エンタープライズ・サーバ・エディション
 ↓
 Database Partitioning Featureの導入でクラスタ化、パーティショニングが可能になる
 ↓
 V9のサーバ製品の紹介を見ていると、オプションなしでクラスタがどうのと書いているような?
 V8と製品構成が変わっているのか、私の見方がおかしいのか、要確認。

・開発者エディション→ネットワーク環境で開発するならユニバーサル開発者エディション
・OS/390, OS/400などDRDA準拠のDBへアクセスするためのコンポーネント→DB2コネクト
 ↓
 DRDAとはなんぞや。クライアントとの違いを確認すること。
 db2コネクトにはパーソナルとユニバーサルがある。違いを確認する。
・db2、他社DBとの分散環境を構築するオプション→DB2 Information Integrator
・画像データを扱うコンポーネント?→イメージエクステンダー
・地理情報オプション→Spatialエクステンダー:ORACLE Spatialみたいなものかな?
・gui管理ツール→コントロールセンター
 ↓
 サンプルデータ表示、オブジェクト管理、インスタンス起動/停止、BR、ジョブスケジューリング
 ※SQLコマンドは実行できない→コマンドセンターを起動してから実行ならできる
・ヘルスセンター→しきい値を設定しておき、しきい値を超えた時点でアラートを出す
・タスクセンター→SQLスクリプトを登録、スケジューリング
・デベロップメントセンター→SQLとjavaが使用可能→V9でも変わらないか?特にPL/SQL対応は?
・CLP(コマンドラインプロセッサ)
 →接続とツールの起動/停止は連動しない。
 →quit:ツールの終了 terminate:切断
 →接続:conect to データベース名
 →db2 -f スクリプトファイル名 -l 出力ファイル名
  -lは実行結果のみ出力。-z だとコマンド、エラーなど全てリダイレクト
 →起動オプションの一覧 list command options
 →-e Display SQLCODE/SQLSTATE がちょっと意味不明。調べる事
 →-m はDMLで影響
 →複数オプションを指定する db2 -tvf ファイル名
  ※-fの後ろはファイル名じゃないとエラー。:-ftv file_name だとエラー
 →デフォルトでオートコミットモード。変更するには
  update command options using c off
  オートコミットoffをデフォルトにするには?確認すること。


オラクルマスターと対してかわんねーだろ、と思って来月頭にでも受験する気でいましたけど、ちょっと色々文化が違うというか、勉強をちゃんとしないと落ちちゃいそう。
http://d.hatena.ne.jp/kakku22/20091025/1256461211
こんな方もいるようなので、参考にさせていただいて頑張ります。

 



Oracle RBOでハマったこと

  • Posted by: Nakunaru
  • 2010-02-04 Thu 00:08:39
  • ORACLE
9iの環境でちょっと盲点だったので忘れないようにアウトプットしておく。

まずSQL

SELECT cola, colb, colc, cold, cole, colf
FROM tab_a
WHERE cola = xx
AND colb = yy
AND ( colc = zz1
OR colc = zz2);

絞り込みの値はバインド変数で色々変わるかも、という状況。
そんでトレース結果。

Total count 3 cpu 0.5 elapsed 10 disc 10000 current 0 rows 10
Optimizer goal: CHOOSE

Rows Row Source Operation
------------------------------
0 CONCATENATION
0 TABLE ACCESS BY INDEX ROWID tab_a
8000 INDEX RANGE SCAN idx_1
0 TABLE ACCESS BY INDEX ROWID tab_a
25000 INDEX RANGE SCAN idx_1

索引情報はこんな感じ
idx_1 (colc)
idx_2 (cola, colb, colc, cold)


さて、普通に考えればidx_2を使ってくれれば良さそうなのに、idx_1を使ってくれちゃってるのが気になる木になる。
それとCONCATENATION。
コストベースな頭だとパパっと理解できなかった。

で、まずCONCATENATIONの原因としては、オプティマイザによるSQL変換。トランスレーションとか言うんだっけ?
こいつのせいっぽかった。
ORが含まれる条件は2つのSQLに分離してUNION ALLする形に変換されてるっぽい。
つまり、
SELECT …
FROM tab_a
WHERE cola = xx
AND colb = yy
AND colc = zz1
UNION ALL
SELECT …
FROM tab_a
WHERE cola = xx
AND colb = yy
AND colc = zz2
AND cola != xx
AND colb != yy
AND colc != zz1;

重複排除のためにこんなんが追加されるっぽい。

そんなわけで、CONCATENATIONで2回scanが走っていると。
でも、idx_2を使ってくれれば1回で済むんじゃね?なんでidx_1を使うのかっていうところで悩んだのですが、これってルールベースのランキングが原因でした。
ランキング参考ページ
今回の変換後のSQLに対し、idx_2はランキング10。(coldが条件に含まれてないから)
それに対しidx_1はランキング9。
どう見てもidx_2の方がよさそうなのに、ランキングで言えばidx_2がよいと判断されてしまってるわけです。

idx_1を削除できればいいのですが、他のSQLで使用しているため、削除は不可。
かといって、(cola, colb, colc)のインデックスを追加するのも、idx_2と冗長なので不可。
と、いうことでインデックス側での対処は無理でした。

あとできることは、CBOに変えてしまうか、ヒント句でなんとかするか、もしくはそれ以外の何かを使うか。
CBOへの変更は運用計画にも影響がでるし。ただ、optimizer_modeがchooseなんで、この表だけ統計をとるってのはありかもしれない。

そんなわけで、
・indexヒントでidx_2を指定
・first_rowsヒントでidx_2を選んでくれるのに期待(統計を取らなくてもデフォルト値でそれなりに選択してくれる)
・first_rowsヒント+no_expandヒントでsql変換防止
のどれかで対応をとることに。
indexヒントはメンテしにくくなるんでちょっと嫌われる傾向があるので、CBOの優秀さに期待して統計なしのfirst_rows+no_expandが一応最適解のような。

あとはSQLでちょっと小細工してidx_1が選択されにくくするってのはあるかもしれないけど、ロジックが変わると再テスト、ヒントならテストなしってのが結構通りやすいので、そういった意味でもヒントが良さげ。

統計とっていいなら素直にCBOが一番なんだろうけどなー。
いまだにRBOオンリーの環境がちょいちょあって、運用計画とか今更変える気のないお客さんだと、色々大変だとかそんな話でした。

OTNにSUNのプロダクツが登場

  • Posted by: Nakunaru
  • 2010-02-02 Tue 23:10:52
  • ORACLE
OTN

ORACLE社によるSUNの買収も完了して、web上のコンテンツも色々と変化しているようですね。
とりあえずOTNにjavaとかNet Beansとか色々入っているようです。
Java DOCの翻訳とかは、いままでの精度を落とさないように頑張ってもらいたいものです。

Twitterでは、MySQLのイルカマークが、買収によって赤くなるのでは?という憶測や、赤くなることで3倍速くなるのでは、とか言われていましたが、色の変更はなさそうですw

Index of all entries

Home > 2010年02月

タグクラウド
Categories
Monthly
Recent Entries
Recent Comments
Recent Trackbacks
Appendix

Nakunaru

    Author:Nakunaru

    データベース(ORACLEとかSQL ServerとかDB2とかMySQLとか)とか技術者教育とかプログラムとか。
    気になる技術を少しずつ勉強していきます。


Return to page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。