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

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

ホーム > アーカイブ - 2009年02月

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

PreparedStatementとStatementのメリデメ

たとえば、Javaであれば、PreparedStatementなどを使用すると、SQLの共通化・再利用により主にDBサーバーの負荷をある程度下げられることが良く知られています。

実は、これ、繰り返し利用されるSQLの場合に当てはまります。一回や数回程度しか用いられないSQLについてはPreparedStatement よりもStatementの方が軽量(高速)であるという話もあるんです。このStatementの方が速いケースというのはあまり知られていないと思います(参考となる文献:「Javaパフォーマンスチューニング 第2版」 オライリー刊 P501ページ)。

なお、PreparedStatementには、SQLインジェクション対策という面もあるため、必要に応じてエスケープ処理は実施する必要があると思います。

APサーバーの場合、PreparedStatementキャッシュが負荷を下げるためには効果的ですよね。
スポンサーサイト

SSD(半導体ディスク)とDBMS

DBMSの最近のトピックは、インメモリDBですが、アーキテクチャの観点でもう1つ面白いなと私が思う技術があります。それがSSD(半導体ディスク:シリコンステートディスク、シリコンステートドライブ)です。

実は、SSDは他の製品を喰ってしまう可能性があると思っています

まず、SSDの特徴を整理すると次のとおりです。
・メモリだけれども電源が落ちても大丈夫
・ハードディスクと違って高速に動作する(一説によると3桁速いとか)
・ハードディスクと違い、機械部品ではないので故障しづらい
・ハードディスクと違い、同時アクセスの性能(IOPS:Input Output per Second)を上げやすい
 (ハードディスクはアームの動作があるので同時アクセスの性能に縛りがある)
・ハードディスクと比べて高価。
・一部のSSDは使用回数制限がある(きっと将来はこの制限はなくなるでしょう)

●DBサーバーでは?

・DBMSのキャッシュが小さくなる?
現在のDBMSのキャッシュは大きくなる一方です。でも、将来はそれほど要らなくなるかもしれません。元々、ハードディスクのレスポンスが足を引っ張るなどの理由があり、大きなメモリをDBMSのキャッシュとして持たせていましたが、最小限のメモリでも高速に動くようになりそうです。極論すれば、キャッシュレスDBMSみたいな構成も可能そうです。
#昔のDBMSみたいだ・・・

・DBMSが速くなる?
ディスクにひっぱられることが減るので、DBMS自体が速くなるケースも考えられます。いいですね。

・起動が速い
DBサーバーの障害時において、OSの起動やDBMSの起動(システムディスクの読み込み)の時間は馬鹿になりません。しかし、これが大幅に削減されるはずです。

・SANブートが要らない?
起動ディスクって、今まで故障しやすく弱点でした。大型ストレージはデータのためのものであり、OSのブートディスクはサーバーに直接付けざるをえなかったからです。それを超えるためにSANブートという技術が出てきていました(SAN越しでブートする)。でも、故障しづらいのでSANブートが要らなくなるかもしれません(ディスク集約という意味ではSANブートは意味があると思います)。


●APサーバーでは?

・インメモリDBが要らないケースも?
「DBサーバーが遅いから」という理由でAPサーバー側にインメモリDBを置いて、フロントキャッシュのようにしているシステムもあります。しかし、前述のようにDBMSが速くなると仮定するとインメモリDBが要らないという構成もありそうですよね。

・インメモリDBがメモリに保存でなくて、SSDに保存するケースも?
逆にインメモリDBを使うと仮定すると、揮発性のメモリを使用するのではなくて、SSDの方が良さそうです。APサーバーを再起動してもデータが失われませんしね(注)。
注:インメモリDBがアプリのメモリ空間の延長として動作する場合、再起動のタイミングで、初期化が要るかもしれませんね。

・インメモリDBでもデータの保護が可能に?
SSDはデータが失われないはずです。すると、インメモリDBだけれどもデータ消えないという嬉しい話もでてきそうです

・インメモリDBだけでシステムを組む日も近い?
インメモリDBでデータが消えないとすると、通常のRDBMSが要らないシステムが出てきたりして!?

・でも、住み分けがあるので、RDBMSは残るかな
実システムの傾向を見ていると、APサーバー側に複雑なデータモデルを全部持たせるのはいまいちです(memchachedとか見ているとですね・・・)。アクセスがヘビーなデータのみをインメモリDBに持たせるのがお勧めです。つまり、多くの表(やエンティティ)を持つような業務系のシステムの場合、ロックによる保護とか、一元管理(1ファクト1プレースと言います)や、正規化の観点からまだまだRDBMSが向いていると感じます。ただ、データモデルがシンプルで大量トランザクションのシステム(例:チャネル系と呼ばれる、顧客窓口や通信のシステムなど)においてはインメモリDB+SSDが合っているような気がします。

・意外とオブジェクト指向DBMSが復権したりして
インメモリDB+SSDのみで行けるのであれば、プログラム言語から利用しやすいオブジェクト指向のインメモリDBが勢いを取り戻したりすることもあるのかなあと思います。実際、身の回りでも勢いがあったりします(注)
注:OracleでもCoherenceというオブジェクト指向インメモリDBMSがあり、いい感じです(SSDは無しです)。やっぱり、適用しやすい業務は、データモデルがシンプルで大量トランザクションのシステムですね。

・起動が速い
 理由は同上です。

・SANブートが要らない?
 理由は同上です。

●まとめ

どんどんSSDをシステムに適用して考えると、今までのメモリとディスクの住み分けがごっちゃになってくるなあと思いました。これが「SSDは他の製品を喰ってしまう可能性がある」という私なりの理由です。

参考:
実はEMCがSSDのストレージを出しています。まだ高価ですけどね。

参考:
なお、SSDなどを考えてみても、以前ブログに書いた「クラウドやマルチコアでの将来のボトルネックはきっとロック処理でしょう。コーディングが変わるかもしれません!?」の考えは変わりません・・・

※会社としてのコメントではありません。あくまでも個人としてのコメントです。ご了承ください。念のため。
[ 2009/02/22 23:28 ] アーキテクチャ | TB(0) | CM(3)

日経コンの特集「ダウンに動ぜず」って、読みました?

日経コンピュータの2月15日号の特集 「ダウンに動ぜず 理不尽な非難に克つリスク管理」 は世の中に広く読んでもらいたいと思いました。記事の主旨は「システムトラブルは、電気系統や機械の故障などほかの原因のトラブルよりもことさら大きく取り上げられ、被害の実態以上に問題視される。・・<中略>・・日経コンピュータは異を唱えたい。「システムトラブルに対する非難の多くは理不尽である」・・<後略>」という内容です。

ええ。私もそう思います。
たとえば、三菱東京UFJ銀行のシステム統合、すっごく立派だと思うんです。対外接続のテストって大変じゃないですか。あの程度のトラブルで済んでいれば、「素晴らしい」と私は思います。

●割り切りませんか???

ここから先は記事そのものではなく、私の考えです。システムトラブルに対する態度を変えれば、SEも工数を削減でき、情シスも安く発注でき、エンドユーザーの手数料も安くなるのに・・・・と思います。

☆システムの稼働率とコストの関係
 出典:ITアーキテクト Vol19 P121
    元ネタは、JUASリファレンスマニュアルだそうです。

稼働率      98%     99%    99.90%  99.99%  100.00%
費用(98%を1とする) 構築 1.2~1.8倍 1.2~3倍 1.5~4倍 4~6倍
            運用   1.1~1.3倍 1.3~2倍 2~3倍  3~4倍

この表を見ても分かる通り、要求レベルを高くすると、構成も高度になり、テストも増え、構築も運用も4~6倍といった金額がかかるとされています。
#個人的な感覚で言うと、もっとかかるような気が・・・

IT関係の仕事としては、重要なシステムにきちんとコストをかけて良いシステムを作るのは、賛成です。とはいえ、一利用者として、利用料は安くあっても欲しいのです。

エンドユーザーの皆さんも安い費用(例:手数料)が良いですよね??

類似のテーマとして、本ブログの過去の記事 「リカバリ要件は、”できるだけ早く”」「可用性は24時間、365日」と言われたら? も参照ください。
[ 2009/02/18 23:20 ] 雑談 | TB(0) | CM(0)

オラクルオープンワールドのコンサルセミナーが満席になる前に

今回は宣伝です。実は、Oracle Open Worldのセミナー申込みが始まりました
「製品の宣伝は要らん!」と思っている皆様、テクノロジーコンサルの事例セミナーはいかがですか?(無料セミナーです)
お客様の言葉で、テクノロジーコンサルのノウハウや実態・評判が分かるはずです。
それほど席数も無いので、早くしないと一杯になりそうです。

●事例セミナーの概要

次の2つのセミナーがテクノロジーコンサルの事例話です。

4月23日(木)の12:50から。
タイトル:システム障害ゼロ! - 金融システムの安定稼働をどのように実現したか
内容:
金融システムはトラブル発生時の社会的影響や損失が非常に大きいシステムであり、場合によっては企業の存続に係わるような大きな問題に発展しかねません。このため金融システムでは安定したシステムを開発・運用することが強く求められています。本セッションでは、ORACLEデータベースを使用したミッションクリティカルなシステム構築後に大きなトラブルが発生していた時代から改善後のノートラブルが続く現在までの道のりを、安定稼働のノウハウとあわせてご紹介します。

4月23日(木)の14:10から。
タイトル:IT部門が取り組むべきSOA - ビジネスプロセスのコントロールを取り戻せ
内容:
「IT部門のコアは、ビジネス貢献」と定義する組織も多いと考えられますが、現状のIT部門では、インシデント対応や各種受入れ作業に追われる日々で、「貢献している」というレベルには、ほど遠いのが実情。インテリジェンスでは、ビジネス貢献への第一歩は、「IT部門がビジネスプロセスをコントロールできること」だと決意。「SOAは、サービスの再利用までしないと」という認識を覆し、実装しなくても、事業側とIT側が同じ目線でビジネスプロセスを議論できるための仕掛けとして活用している取組みをご紹介します。

●テクコン事例セミナーの申し込み方法ですが、次のとおりです。

http://www.oracle.co.jp/openworld/2009/index.html にアクセス

①上のタブ、「申込・セッション選択」をクリック

②次の画面の真ん中あたり、

「登録済みの方 ⇒ Oracle OpenWorld Tokyo お申込み」をクリック

 (オラクルのプロファイル登録がない場合は登録をお願いします)
 招待コードには729と入れてください。

③アンケートに回答

④チケット登録(無償のみでも、上記事例セミナーは大丈夫です)

 無料セッションにマーク、一番下の「申込む」をクリック

⑤次に開く画面の真ん中あたり「セッション登録・変更」をクリック

⑥次に開く画面の一番下「無料セッション」を選択

⑦次に開く画面で、真ん中あたりから、日別・時間別一覧の選択。

⑧テクコン事例は、4月23日(木)の次の2つです。

 12:50~

シ ステム障害ゼロ! - 金融システムの安定稼働をどのように実現したか [日興システムソリューションズ株式会社]

  14:40~

IT 部門が取り組むべきSOA - ビジネスプロセスのコントロールを取り戻せ [株式会社インテリジェンス]

●最後に

12:50からのセミナーは、大きな金融機関における、DBトラブル防止の良い事例話です。DB使いの皆様にとっては得られるものが多いと思いますよ。

もしよかったら申し込みをお願いします!
[ 2009/02/16 02:55 ] 雑談 | TB(0) | CM(0)

「エンドユーザーが決めない」ことはボトルネックを生む

システム開発において、1つのボトルネックは「エンドユーザー(もしくは、情シス)が決めないこと」です。

当然、SIerも「XXまでに要件を出してくれないと納期に間に合いません」と宣言します。しかし、それでも守ってくれないことが多いです。

SIerからすると「(あとで直す予算や期間をもらえるという前提で)間違っても良いから、さっさと決めてくれ。どうせあとで変更要求がでるんだろ?」と思っていたりします。

エンドユーザーは「実物を見ていないんだから、要件なんて全部出せるわけないじゃないか。後から要求できないなら、要るかもしれないものも言っておこう」と思っています。

この対立は不毛ですよねえ。

必要最小限の機能で、ぱぱっと作り、どうしても無いと業務が回らないものだけ、追加するというプロジェクトの進め方もあります。

エンドユーザーとしては、そう言われても困るのかもしれませんが、どうせ変更や追加はあるものです。さっさと仮決めしてSIerを生かすことも考えませんか?(決められない間、SIerは無駄に待たされていることが多いんですよ!)

今、決めていないこと(保留にしていること)は何ですか? > 発注者の皆様

コンサルタントについて諸々 その2

次回に続き、今回もコンサルタント(主にITコンサルタント)について、日ごろ思っていることを書いてみたいと思います。

●コンサルタントの手足を縛るのは、お互いに不幸

いくつかの現場において、現場マネージャがコンサルタントを信頼できず、「こっちのいう作業項目だけ、言われた範囲の工数でやるように」と言ってきた現場があります。結果、お互いに不幸(不満が溜まった)ことがあります

コンサルタントは、大きな成果を出すべく、ギャップやソリューションを探します。最初から何が答えかなんて分かりません。ということは、自由に動けないと成果が出にくいのです。こちらは「お客様のコンサルの使い方が悪いな」と思い、お客様は「単価が高いのに、大した成果は出てない」と思ってしまいます。

こういうお客様には、スタイルを変えるようお願いしますが、ご理解いただけないときは、お付き合いすべきではないのかなと私は感じてしまいます。

●技術アドバイスのコンサルタントは、ときには一歩引くことも必要

技術アドバイスのコンサルタントとして、ある程度の力を持ってくると、以前のブログ(「コンサルティングを受ける際の必要条件、コンサルタントのあるべき姿」)で書いた「こうあるべき」がきちんと言えるようになります。すると、次の壁が待っています。それは「一歩引くべきなのに一歩引かない」ことです。

コンサルタントの目的は、作業することではありません。お客様の力で結果が出るようにすることです。そのためには、お客様を立てるために、一歩引かないといけない場面が出てくるのです

優秀であればあるほど、そのコンサルタントは頼られます。すると、本来は責任範疇でないところまで、影響を持ってしまいます。また、「XXXさんが、言っていたから」という理由で、お客様が考えなくなってしまいます。さらには、”自発的に動かない”という状態になることもあります。これはコンサルタントがゴールとして描くお客様の姿では無いはずです。コンサルタントとして上級になってきたら、この「一歩引く」を考えてみてください。
[ 2009/02/11 23:45 ] コンサル手法 | TB(0) | CM(0)

コンサルタントについて諸々 その1

今回は、コンサルタント(主にITコンサルタント)について、日ごろ思っていることを書いてみたいと思います。

●非常時向けのコンサルタントと、平時向けのコンサルタントは異なる

それなりにコンサルタントをやってきて思ったことの1つに、平時(特に大きな問題はないが、不満や上から言われた課題を持っている状況)において評価されるコンサルタントと、非常時(立て直しやトラブルシューティング)において評価されるコンサルタントは別だということがあります。

平時は、お客様とつつがなくコミュニケーションし、外見的にも経験を積んでいそうで、お客様の思いをうまく図に起こせるようなコンサルタントが、評価されると私は思います。年齢が比較的上で、名声などもあるのコンサルタントが合っていて、年齢が若いと実力があっても合わないと思います。

非常時は、決断力があれば多少もめても構わなく、外見的に若くても実力があればOKで、本質をずばっと言い切れるようなコンサルタントが、評価されるような気がします

もし、若いコンサルタントの方で、一気に駆け上がりたい方は、非常時(大変な現場)をお勧めします。非常時であれば、序列は崩壊し、実力があれば重宝されます。また、得られるものも多いためです。

●コンサルタントの成果物は「お客様の満足」という話

注:ここで書くコンサルタントとは、技術アドバイスのコンサルタントのことです。システム開発を行うコンサルタントではありません。

以前のブログ(「コンサルティングを受ける際の必要条件、コンサルタントのあるべき姿」)でも書きましたが、このタイプのコンサルタントは、ノウハウ提供やアドバイスを行います。つまり、請負をしません。かと言って、「派遣」というわけでもないと思います。

コンサルタントは準委任契約が多いと思います。準委任契約の代表格は、弁護士でしょう。裁判に勝つかどうかを請け負うわけにはいきませんから、弁護士として妥当な作業を行うことが責任範囲となります。お金は、かかった時間 x 時給です。業界標準として妥当な作業を行ったかどうかがポイントとなります。
コンサルティングの契約としては、このような形態をとったりしますが、実際のコンサルタントが心すべきと思うのが、(人聞きで恐縮ですが)『コンサルタントの成果物は「お客様の満足」』という考えです。確かに成果物は作りません。しかし、プロとしてお客様を満足させるように仕事すべきだと思うのです
#狩猟民族と農耕民族の話に続きます

●狩猟民族と農耕民族(あるいは、肉食と草食、ハンターと農夫)

注:ここで書くコンサルタントとは、問題解決や技術アドバイスのコンサルタントのことです。システム開発を行うコンサルタントは当てはまらないかもしれません。

コンサルタントは狩猟民族(もしくはハンター)であるべきと思います。その心は、「結果を出す(お客を満足させる)ためには、貪欲に仕事をし、ゴールとする結果が得られたら、働かなくてもよい」という考えです
#考え方ですからね。達成後は働かなくても良いという訳ではないですよ・・

ハンターは、獲物が獲れなければ空腹です。そのため、必死に狩りをします。結果(獲物)が獲れるまで、何十時間でも狩りをする必要があるかもしれません。

それに比べて、定常業務を行う仕事は、農耕民族(あるいは農夫)と言えると思います。仕事をしたり/しなかったりでは、うまく仕事が回りません。このような職場は、一定のペースできちんと仕事をすることが大事です。

コンサルタントは、何かの定常作業を行うために雇われるわけではありません。少人数でキーとなる何か(ギャップと呼んだりします)を見つけ、それに対して価値の高いノウハウ提供、問題解決を行うはずです。ということは、狩猟民族のようにふるまうべきだと思うのです。いざというときの瞬発力も重要です。ギャップやソリューションが獲物ということです。少なくとも、ゴールを達成できていないときは、このような考えは持っていたい・・・と自分を振り返って思っています。
[ 2009/02/08 23:38 ] コンサル手法 | TB(0) | CM(0)

「要件は今までと同じでいいよ」と口にしたら(口にされたら)?

前回に続いて、要件についての記事です。

最近は、新規開発が少なく、既存システムのリプレースが多いと思います。そういう場面で、一番、ユーザーとSIerのギャップが発生しやすいのが、「要件は今までと同じ」だと思います。

出てきたシステムをユーザーがレビューしたときに、今までと違うところがちょっとでもあれば心理的に文句が出やすいですし、「要件は今までと同じ」なら簡単に低コストで実現できると思っているのも大きなずれを生むと思います。

一昔前に、ナレッジエンジニアリングという学問がありましたが、そこで明らかにされたことの1つに、「エキスパートや熟練者は、自分が思っている以上に、本人はいろいろなことを知っていて、それに気付いていない。彼ら彼女らが自発的にノウハウや仕様を提供するのは困難である」という研究結果があります。つまり、業務のエキスパートであるユーザー側は、自分が要件を詳しく説明しない(できない)傾向があり、レビューのタイミングでは、「これでは問題になる」と口にしてしまいやすいということです。

ということで、「今までと同じで」と口にしたときには、ユーザー側は、「自分たちが困難なことを依頼しているのではないか? これはイカン」と気付いていただければと思います。
#Sier側は私が書くまでもなく、気を付けていると思うので。

「リカバリ要件は、”できるだけ早く”」「可用性は24時間、365日」と言われたら?

業務アプリは、機能に関する要件(機能要件。例:「Webでこういう注文を受けられること」)が主体です。それに対して、多くの非機能要件を扱うのが、インフラです。非機能要件とは、”性能”、”対障害性”、”拡張性”などを指します。ざっくりと言うと、機能以外の要件です。非機能要件は、インフラで主に実現すべき要件とされています。

●非機能要件も決定理由を明確に

非機能要件は定性的なことが特徴です。中にはスループットやレスポンスタイムのように明確なものもありますが、”早くリカバリ”とか、”拡張性”とか、明確に定義するのが難しいものも多くあるのが特徴です

「どれくらいがデータベースリカバリの目標時間でしょうか?」と聞くと、”できるだけ早くです”とか、”どんなケースでも数分で”などの回答が多いです。「”できるだけ早く”の”できるだけ”って具体的には?」とユーザーの責任者に聞くと、”1分で”といった非現実的な数値を提示されてしまいます。そういう意味では、SIerもユーザーも具体的にせず、うまく曖昧にしているんだよなあと思います。

しかし、これが許されなくなりつつあります。少なくとも、「きちんと検討しました」とか、「こういう理由でリスクを許容します」というのは書いておくべき時代が来つつある、と思っています。ユーザー側も「きちんとレビューしたのか」が社会的に求められる時代になっています。物を作る側も「作ったものに対して説明責任が求められる」ことが増えてきました。そのため、データベースの非機能要件についても理由を明確にすることが、みなさんを守ることにもつながると私は思います。

●”24時間365日”

私は”24時間365日”という良く聞く要件も曖昧だと思っています。

製品としての可用性は高くても、業務的な停止時間が必要になることは多いです。必要以上に可用性の要件を高くして非効率になっていると私は思っています。高い品質を求めるのは日本企業の美点でもありますが、これが高いコストを発生させている原因だと思うのです。「もとから、これくらいで良いです」と割り切っていてくれれば、費用対効果が出にくい機能は不採用にしたり、必要以上のテストをしなくても良いと思うのです。ユーザー企業はシステムコストは高いと言いますが、1つの解は、”ユーザーが妥当な要件を求める(要件を下げれるところは下げる)”だと思うのですが、いかがでしょうか。「要件は高い。テストは完璧に実施しろ、トラブル時にはすぐに駆け付けろ・・・」では、コストは下がりようがないと思います。

業務によっては本当に高可用性が必要となりますが、なんでもかんでも24時間365日は、やめてはいかがでしょうか?
#アメリカのシステムなんて結構止まってますよ。

たとえば、メインフレームを止めるタイミングで、周辺のシステムを止めるのも手ですし、サーバーを設置しているビルの法令点検(電源が止まる)のときに止める手もあるでしょう。

そのデータベース(やシステム)は、本当に妥当な要件ですか? ー> 特にユーザー企業の皆さん

プロフィール

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冊としてお勧めです。



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