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

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

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

外部二重化と内部二重化

昔、PCのディスクが壊れて痛い目をみたため、自宅PCのディスクをRAID1にしようとしました。マザーボードでRAID1が組めるということで、喜んでそのPCを買いました。しかし、OSに専用ドライバを入れてRAIDを組むタイプだったのです。それに気づいたときに、「嫌だなー」と思いました。

案の定、ドライバが不調になり(「ディスク間の同期が保たれない」状態になり)、OSがおかしくなり、結局OSから再インストールするはめになりました。

私は、「内部二重化」と「外部二重化」という考え方をしています。この「外部二重化」と「内部二重化」というのは私の言葉です。一般用語ではありません。
実は、情報システムのアーキテクチャを見ていて、二重化に2つの種類があると思うようになりました。それは外部からみて二重化されているもの、もう1つは二重化されていることが見えずシンプルに使えるものです。上記は、ドライバ(OS)が2つのディスクを意識して、両方に書き込むので「外部二重化」」となります。純粋にハードウエアRAIDであれば、OSは2つのディスクを意識せず(1つのディスクとして見える)単純に書くだけで動作するので内部二重化となります。

この二重化を意識しなくてはいけないか、それとも二重化が内部に隠ぺいされているかは大きな違いです。

外部二重化は、組み合わせが発生するため、制御が面倒ですし、つなぎ先の切り替えやタイムアウトなど、”外部の装置”が二重化についていろいろと意識する必要があります。その代わり「安い」傾向があります。オープン系のクラスタリングはこっちと言えると思います。

内部二重化は、内部に隠ぺいされているため、外部の装置からはシンプルに使えます。シンプルに使えるのに二重化されているわけですから、いいことづくめに見えます。ただし、「コストが高い」傾向があります。また、内部に二重化が隠ぺいされるため、オーバーヘッドも内在されることになり、外から見た「処理が遅い」こともあります。メインフレームの構造の多くはこっちと言えると思います。

どちらが優れているというわけではなく、アーキテクチャの特性とメリット・デメリットを意識して上手に使うものだと私は思います。

※OracleがSunを買収しましたね。ようこそ! Sun

※クルクルキャンペーンというDBライセンスが最大70%引きになるキャンペーンが始まりましたね。安いなあと思います。
 http://itpro.nikkeibp.co.jp/article/NEWS/20100128/343884/
スポンサーサイト
[ 2010/01/31 04:51 ] アーキテクチャ | TB(0) | CM(0)

「時間」はひどいプロジェクトマネージャー

数回前に、デマルコの「アドレナリンジャンキー」について触れましたが、
今回もそのアドレナリンジャンキーからの内容です。

「[時間]に切り札を奪われる」というアンチパターンが載っています。
サブタイトルは「[時間]はひどいプロジェクトマネジャーである」です。

どんな良い手でも、直前になると手遅れになる、そういう話が書いてあります。現実には、早い段階では思い切った手を打たせてもらえないことが多いと思いますが、時間が経つにつれて、良い手の効果は薄れていきます。そういう意味で時間は”ひどい(悪い方の)”マネージャとも言えます。

普通、時間はあればあるだけ、無駄に使ってしまうのが人情というものだと思います。時間があれば、有休を取るでしょうし、定時に帰るし、ゆっくり検討することもできます。本ブログでも昔紹介した CCPM(クリティカルチェーンプロジェクトマネジメント)で私が好きな点は、この時間を有効に使う(マネージする)方法が紹介されていることです。興味のある人は読んでみてください。

そう言えば、CCPMの伝道師である、岸良さんが1月11日の朝日新聞の1ページ丸々使った記事になっていました。主に公共工事の改革として載っています。日本の未来のためにも、この調子でさらにうまく行くといいですね!

日本のエンジニアのがんばりを数値で見る

ご存知の方も多いかと思いますが、日本とアメリカではITエンジニアの給料の格差が大きくあります(例:「日米エンジニアの平均年収に500万円の差」http://japan.techinsight.jp/2007/11/200711071808.html )
ただし、アメリカでは中国やインドのエンジニアの進出も多く、生存競争が結構シビアです。知り合いも苦労しています。

「中国やインドのエンジニアは安いではないか?」と思いますが、実際には物価の違いなどもあり、簡単には比較できません。インドのエンジニアに日本に来てもらうと住居や生活費の手当てなどが必要でコストは日本のエンジニアとほぼ変わらないという話を聞いたことがあります。

今回の記事は「給料上げろ」と言いたいわけではなく、こんな状況下でも次のような品質の良い仕事をしているのが、日本のITエンジニアだという話をしたいと思います。

紹介したい資料は JUASの「第15回企業IT動向調査2009」です。
http://www.juas.or.jp/project/survey/it09/summary09_0507.pdf
※この資料、いろいろ良いデータが載っています。コンサルタントにはお勧めです。
以下、P154 障害の停止時間(目標、実績)から抜粋です。

  年間停止時間 稼働率
(日本)
目標  17.1    99.8%
実績  15.9    99.8%

(北米)
目標  94.8    98.9%
実績  176.4    98.0%

ポイントは、そもそも年間の停止時間が日本よりも相当長めに考えられている(最初から割り切っている)、それでも目標に対して、全然守れていない現実です。稼働率なんて99%を大きく下回っています。それに引き換え、日本は目標も高く、実績はそれを越えた成果を出しています。

北米(多くはアメリカのことと思われます)のシステムはダメダメじゃないかと思いますが、「プロジェクトが成功した」という評価(主張?)をしているのが実情です。ITシステムはよく止まっています。向こうのATMなんて、しょっちゅう故障(ハードウエア)していますよ。

●ちょっと寄り道

身近のいくつかの外資系で話を聞いても「本社で仕事している日本から来たエンジニアは夜遅くまでがんばる」という声をよく聞きます。

上記「日米エンジニアの平均年収に500万円の差」でも、「平均勤務時間は、日本が週に51.7時間なのに対し、米国では46.6時間と、ここでも日本のエンジニアにとっては、うらやましい「日米格差」が見られた。」と紹介されています。

●で、何が言いたいか?

現場は「コストを切り詰めながら、品質のよい仕事をしている。そしてプロジェクトは成功した!」ともっと言っていいと思うのです。また、上層部の人たちは、「現場は良く頑張っている」と褒めていいと思うのです。いかがでしょうか?
[ 2010/01/08 01:06 ] 雑談 | TB(0) | 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冊としてお勧めです。