データベースコンサルタントのノウハウちょい見せ

Oracle RDBMSなどのオラクル製品や各種インフラ技術(OS、ストレージ、ネットワーク)といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります

ホーム > アーカイブ - 2010年05月

DBマガジン休刊

7月24日発売の2010年9月号が最後となるのだそうです。定期購読者にはがきで
連絡が届きました。

1999年6月の創刊から数えて、10年以上続くデータベース専門誌のDBマガジンが
終わってしまうのは残念ですが、時代の流れなのかなあとも思います。

「深く考えず、ぱぱっと片付ける」そのような風潮をここ数年IT業界でも感じて
いました。
ネットサーフィンではなく、雑誌という形でじっくり読みながら自分の血肉に
していくという作業は、流行遅れなのかもしれません。

著者としての私は、DBマガジンで鍛えてもらったようなものです。そのため、
その意味でも残念でたまりません。

定期購読者には、過去記事収録のコンプリート版が、8月下旬に届けられる予定
だそうです。


川島編集長、長い間ありがとう。いい記事を読み返そう!と思いました。
スポンサーサイト
[ 2010/05/30 15:11 ] 雑談 | TB(0) | CM(1)

(ITの話題じゃないけど)自分の写真映りが悪いと思いますか?

##IT以外の話題です。ご了承ください##

多くのIT関係者は、自分の見た目に自信がなかったり、見た目に無頓着だったりします。それが長所だったりするのですが、それも場合によります。私も無頓着だったわけですが、一念発起、ファッションを整えたり、見た目を変えようとしてみました。

で、ALIAフォトグラフィックスタジオというスタジオで、撮られ方レッスンを受けてみました(写真撮影も)。

「自分の姿勢の悪さ」から、あるべき姿勢、どうポーズをとるべきか、顔のいろんな位置(顎、鼻線、横の確度)等を教えてもらい、スタジオで実技&写真を撮ってもらいました。撮った写真はすぐに全て(何百枚)もDVDに焼いてくれました。何百枚もあれば、一枚くらいは良いものも入っているものです。

私でも、こんな感じで見た目以上に良く映っています。
プロが撮るとこうなる1
プロが撮るとこうなる2


永田さん、ありがとうございました! 知らないことを教えてくれるという意味で、ある意味、コンサルタントでした。

アリアフォトグラフィック(オラクルオフィスのすぐ近くです)
http://photographic.alia-co.com/
[ 2010/05/24 03:22 ] 雑談 | TB(0) | CM(0)

簡単に批判してはいけない

コンサルや、火消し屋としてプロジェクトに入る際、どうしてもやってしまいたくなるのが、現状や過去(プロジェクト、システム、プログラム、仕事の仕方)の批判です。
「これダメじゃん」と、感じるかと思いますが、ぐっと我慢することをお勧めします。

あとから入ったメンバーが、第3者的に批判することは簡単です。批判をせずに、現場を回すことを考えるべきだと思います。批判される側は「簡単に言うなよ。事情があったんだよ!」と心の中では思っています。

ワインバーグの「システムづくりの人間学」のP28にも同じような話が書いてあります。

ものごとが現在そうあるのは、そうなったからだ。という理由による
<中略>
若くて性急な分析家が犯すもっともありふれたあやまちは、既存のシ
ステムを声高に酷評してみたら、実は
1.現在見るとおろかしく見える決断にも、システムができた時期に
は、筋の通った十分な理由があった、とか
2.もとの開発者がいまは分析家の上司、または上司の上司になって
いる、とかわかる、というものである
<後略>

「ものごとが現在そうあるのは、そうなったからだ。」というのは、お客様の妙なこだわりだったり、上司の思いやポリシー、過去痛い目をみた経験から生まれた呪文、組織間の政治的な駆け引きの結果、etc・・・です。くだらない(本来はこうあるべき)と思うかもしれませんが、それらも含めて、「なるべくして、なっている」のだと思います。

批判しても、物事は良い方向に進みません。現場からの信頼も得られません。プロマネコンサルをやっていたときも思いましたが、プロジェクトが採用している仕事のやり方を変えるのは、混乱を招くだけで終わることが多いです。現場のやり方やシステムの現状を否定したりせず、まずは課題管理をきちんと行ったり、現場を回すことに専念すると、評判が上がって、結果的にうまく行くことになるはずです。

ということで、過去を否定しても、良いことはないと思います。否定せずに、前向きに会話してみては、いかがでしょうか? それがプロジェクトがうまく回るコツでもあり、自分の身を守るためにもなると思います。
[ 2010/05/24 03:07 ] 雑談 | TB(0) | CM(2)

DWH系でのメモリ活用(In-Memory Parallel Query)

DWH系で大量データを読み込む際には、directパスというバッファキャッシュを極力使用しない読み込みを最近のOracleはしていました。メモリが安価になってきたこともあり、DWH系の得意技であるパラレル処理とメモリを組み合わせた(?)機能がOralce 11gR2にはあります。いつか紹介しようと思っていたホワイトペーパーです。

ホワイトペーパーはこちら。NEC様です。
http://www.nec.co.jp/middle/oracle/gc5.html
http://www.nec.co.jp/middle/oracle/wp-impq-gridcenter-nec.pdf

ストレージアクセスが減ることによる、レスポンスの向上を狙っています。確かにうまく使えば速くなるはずです。directパスによるストレージアクセスが多くて困っている場合に使えそうです(本機能を使用するかどうかは選べます)。
[ 2010/05/13 23:31 ] アーキテクチャ | TB(0) | CM(0)

Oracle 11gR2のSSD対応の機能

本ブログではSSDを多く紹介していました。紹介が少し遅くなってしまいましたが、「Database Smart Flash Cache」というSSDを活用するためのOracle DBMSの機能(11gR2の新機能)をご存じでしょうか? 少し前に、この機能を検証した良いホワイトペーパーが出たので、そのホワイトペーパーをご紹介する形で、本機能を紹介します。
#本日の勉強会でも、ちょっと紹介したホワイトペーパーです。

ホワイトペーパーはこちら。富士通様です。
http://storage-system.fujitsu.com/jp/news/2010/0422/
http://storage-system.fujitsu.com/jp/partners/oracle/download/fj-gc-dbsfc.pdf

バッファキャッシュからあふれた使用頻度の高いデータをSSDに載せるのだそうです。「メモリよりもSSDの方が安い。そして、ディスクよりもSSDの方が高速」というメリットがあるそうです。
手動だと、ALTER TABLE・・・ STORAGE (FLASH_CACHE KEEP)といった指定をするそうです。KEEPバッファへの固定みたいですね^^;

OLTPで使ったり、(SSDにサイズ的に載るデータであれば)DWH系でも使える機能だと感じました。
[ 2010/05/08 23:36 ] アーキテクチャ | TB(0) | CM(0)

Oracle Lover's で講演しました。皆さま、ありがとうございました。

本日は天気が良いのにもかかわらず、たくさんの皆さまにOracleの話を聞きに来ていただき、
ありがとうございました。自分が参加者なら、参加をキャンセルして、公園でも
行くなあと思いましたが(^^;)、さすが、Oracle Loverの皆さん、Oracleのことが
大好きなんですね!

もし、何か質問があれば、書きこんでいただければ、お答えできる範囲で回答します。
感想もWelcomeです。

私は今までの仕事を通じて、良い経験をさせてもらっていると思って
いますので、今後もこういった機会があれば(仕事も多忙でなければ)、
講演などの形でIT業界に恩返しをしたいと思っています。

SSDが面白かったですかね? あとはOSの情報を使ってDBMSを調べる話とか、
今後も参考にしていただければと思います。

[ 2010/05/08 23:18 ] 雑談 | TB(0) | CM(2)

OLTPはパラレル実行の夢をみるか?

DWH系の処理のパラレル実行というのは、DWHアプライアンス製品などを見ているとメリットがはっきりしているかと思います。今日は、OLTP処理の1処理であっても、それを分解してパラレルに実行できるのか?という想像をしてみたいと思います。DBMS製品として考えるわけではなく、CPUの命令レベルで考えてみたいと思います。

背景として、CPUのクロック速度が頭打ちになりつつあり、各CPUベンダーがマルチコア化を打ち出していることがあります。このままだと、OLTPのレスポンスはなかなか改善しないとも言えます。それは困ります。そして、コンパイラメーカーは、「ソースコードから判断してマルチスレッド化できるところは、マルチスレッド化するぜ!」と書いています。OLTP処理については、同時実行という意味でマルチコアは非常にメリットがあります。私の疑問は、「将来、OLTPの1処理を速くすることはできるのか?」です。結論として、難しいのではないかなあと思います(「DBMSについてもマルチスレッド処理できる」とコンパイラメーカーは明言していないと思います。あしからず)。

パラレルに実行できるには、以下の条件が必要です。
 命令の独立性
 データの独立性
 パラレルに伴うオーバーヘッドを超える性能メリットがあるか

まず、同一トランザクション処理の中では、データを分けてパラレル処理できるようなものは少ないはずです。むしろ、このデータをアクセスしたら、その結果に基づいて次のデータに移るようなものが多く、分担は困難です。命令についても同じで、SQLのネステッドループ処理やインデックスを辿る処理をパラレルに分担するようなイメージは私には湧きません。
ということで、あくまでCPUの命令レベルで考えた結果ですが難しいのだろうなと思っています。

名著「コンピュータアーキテクチャ定量的アプローチ第4版」にも、既存のDBMSのOLTPについては、CPU命令レベルのパラレル処理の抽出は難しい、(粗い「スレッド」レベルでのパラレル処理が向く)と紹介されています(おおざっぱに言うとですけど)。

DWH系処理では、各種メモリの活用が進みそうです。これについては、今後、紹介します。

注:最近のコンパイラは、ソースコードだけでなく、「プロファイル」と呼ばれる情報も最適化に活用できます。プロファイルとは、実際にそのアプリを実行した際に得られた統計情報(実行の偏り具合などを示すデータ)のことです。ソースコードからは、分岐のどちらが多いのかは判断しづらくても、実際に実行したデータを見れば、分岐のクセが分かることがあります。そういった動きまで活用してバイナリを最適化することもできます(コンパイル時のオプションで、プロファイルを使うかどうか選べます)。プロファイルが異なると、性能が異なるという結果になるわけで、ちょっと怖い気もします。

注2:本ブログにおいて示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。あしからず。
[ 2010/05/06 03:23 ] アーキテクチャ | TB(0) | CM(2)

5月8日(土) 13:00に講演します

Oracle LOVERS 勉強会 第20回 において、講演させていただくことになりました。
場所はオラクル本社(外苑前)、5月8日(土) 13:00-17:00 です。もちろん、無料です。
世話人は、「もとくんβ」さんです

イベント情報については、mixiのコミュニティがあります。URLはこちらです。
http://mixi.jp/view_event.pl?id=52001343&comm_id=32605

DBコンサルの語りや解説を聞いてみたい人、雑談して見たい人、実物を見てみたい人、暇な人、などなど、
もしよかったら来ていただければと思います。残席は少しだけあります。
エース級が何人か来てくれそうです。「基本の講演では初心者も満足し、ところどころでエース級とも
議論する」みたいな会になるはずです。

がんばってみます。
[ 2010/05/01 03:39 ] スキル強化・教育 | TB(1) | CM(0)
プロフィール

odakeiji

Author:odakeiji
小田圭二 日本オラクルのテクノロジーソリューションコンサルティング統括本部においてデータベースのコンサルタントをしている。今までのキャリアでは、社内教育部隊で、データベースやOS、ネットワークを教える経験を5年ほど積んだり、コンサル部門で主にDB(インフラ含む)のコンサルを10年程度経験した。また、コンサルタントとして、主に大規模ミッションクリティカルシステムを担当。社内では”火消し”とも呼ばれ、システムトラブルの火消しをいくつも担当していたこともある。
ポリシーは、「OracleもOS上で動くアプリケーションにすぎない。だから、OS、ストレージ、ネットワークを学ぶべき。アーキテクチャから考えろ」。
スキル面の興味は、アーキテクチャ、DBA、インフラ技術、教育、コンサル手法など。
本ブログのポリシーは「週に1回、DBAやインフラ担当者の役に立つ記事を書きたい」です(守れるだけ、守りたい・・・・)
なお、本ブログにおいて示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。ご了承ください。

私の主な著書の紹介です。もしよかったら、お役立てください。他にもオライリーなどがあります

●「絵で見てわかるOS/ストレージ/ネットワーク データベースはこう使っている」小田圭二 著
私のポリシーである”DBMSもOSの動くアプリケーションに過ぎない”に基づいて、OSとDBMSの関係、ストレージとDBMSの関係、ネットワークとDBMSの関係、を解説した珍しい書籍です。DBを学んでひと段落したら、DB使いもインフラ全体を意識しなければなりませんが、そのような人にお勧めです。企業ユーザー向けのIT本としては、2008年度翔泳社No1だとか(最後は出版社談)。

●「絵で見てわかるOracleの仕組み」 小田圭二 著
教育に携わる者としての私の思い「丸暗記するな。アーキテクチャを知るべき。絵で説明すべき」を具体化した、Oracleの入門書です。Oracle初心者向きですが、Oracleの基礎となる部分の動きを解説しているため、バージョンに依存せずに何年先でも使えます。逆に、本書の内容を理解せずに、ひたすら丸暗記すると応用力が身につきません。この本を読むだけで何かできるようになるわけではありませんが、アーキテクチャを身につけて、本当の技術力を身につける第一歩として欲しいと思っています。

●「44のアンチパターンに学ぶDBシステム」 小田圭二 著
本書は、企業のDBシステムの設計/構築から運用管理、プロジェクト管理までの各フェーズにおけるトラブル(失敗)事例について、アンチパターン(べからず集)とその回避策/防止策として解説するものです。チェックリストとして使っていただいても構いません。分かっていてもアンチパターンは避けられないことも多いものです(政治とか)。そういう方には、同じ仲間は多いのだなと再認識していただくための一服の清涼剤としていただければと思います。

●「門外不出のOracle現場ワザ」 小田圭二 他 著
一番最初に出た本です。結構とがった内容を扱っています。
・パフォーマンス分析の考え方(私の担当)
・性能テストや障害テストの仕方、設計の注意点(主に私が執筆)
・コストベースオプティマイザ(10gベース)のアーキテクチャ
・コネクションプーリング
最新のOracleの内容は含んでいませんが、今でも性能の考え方やオプティマイザの考え方は使えるはずです。オプティマイザをここまで解説している本を私は知りません。

●「続・門外不出のOracle現場ワザ」 小田圭二 他 著
「続」の名前の通り、次に出た本です。ちょっと尖り過ぎたかもしれません^^; でも本当に使う内容を選んだつもりです。一流になりたい・他の人と差をつけたい人にお勧めでしょうか。
・性能の良いSQLの書き方
・文字化けの仕組み
・障害(特に性能やハング)の分析・対応方法(私が執筆)
・障害をリアルタイムに分析・対処する方法(私が執筆)
・オプティマイザの使い方ノウハウ
・アップグレードのノウハウ

●「データベース」小田圭二 他 著
私にしては堅い本です。なんせ、共同執筆者が大御所の國友義久先生です。階層型DBMS、ネットワーク型DBMS、リレーショナル型DBMS、XMLDBMS、OO(オブジェクト指向)DBMS、DBMSの持つ機能、DBMSのセキュリティ、データベースの著作権、監査、モデリング、正規化といった内容を網羅しており、深い記述は無いものの、DB技術全体を抑えるのに向いている一冊です。ある程度技術力がついたエンジニアの方が、DB全体を振り返りたい(勉強したい)というときの最初の1冊としてお勧めです。