« 「VOCALOID 2」日本のアニソン・ジェネレーター(動画) : Gizmodo Japan(ギズモード・ジャパン) | トップページ | (株)すや 栗きんとん は一口目の濃厚な味わいが良かった »

RDBでカーソル使ってFETCH,UPDATEという開発手法が当たり前なの?

DB(Oracle)に対して更新する際はカーソルを使ってFETCH,UPDATEを使わなくちゃいけない,という開発規則があるプロジェクトに参画している.まあ,開発者の大方の予想どおり性能が出なかった.この開発規則,某メーカの開発手法なんだそうだ.

サブシステム毎の開発チームのリーダ(傭兵)が集まる進捗ミーティングの席上,某メーカのおじいさん(肩書きに○○部長とかつく奴)が「この開発手法に則って開発していれば性能が出ないわけが無い.プログラムのロジックに無駄があるんじゃないのか?」とぶち上げた.各リーダは内心「あいつバカなんじゃねえの.誰か教えてやれよ.」と思いながら首をひねる.

RDBでは,算数で習った「集合」の考え方でデータを扱う.だから,何万件ものデータの更新だろうが条件に合うデータをwhere句で括ってやってUPDATE文一発で更新できる.それをカーソル作って,ちまちまと1件ずつFETCHしてUPDATEしなければならないのだから,夜間のバッチ処理が朝になっても終わらない.それもDBサーバとバッチ処理を実行するバッチサーバは別立てだから,バッチサーバ上のCOBOLプログラムからOracle Net経由でDBにアクセスするというオーバーヘッドも追加される.夜間だけでなく,昼間も店舗のクライアントから更新処理を行うとタイムアウトで落ちてしまうありさま.
何しろ,その偉大なる開発手法においては,PL/SQLやストアドプロシージャ/ファンクションすら禁止なのだ.その理由も「そのメーカではPL/SQLやストアドは難しいので,(傭兵が抜けて)引き継いだ後のメンテができない」という馬鹿馬鹿しいもの.結局,処理を高速化するための工夫は一切排除された.Oracleをバリバリに使いたい人にとっては,手足をもがれたに等しい環境だ.

なんとなくね,システムの性能を殺しておいて,客に性能改善と称して高速なディスク装置を売りつけたいのではないか?と疑ってしまうのですけど.だって,ディスク装置一式買うと土地付き一戸建てが買えるような値段だしなあ.毎年の保守費(ハード価格の1割か2割だったか)だって相当な額だろうに.

 

« 「VOCALOID 2」日本のアニソン・ジェネレーター(動画) : Gizmodo Japan(ギズモード・ジャパン) | トップページ | (株)すや 栗きんとん は一口目の濃厚な味わいが良かった »

パソコン・インターネット」カテゴリの記事

仕事」カテゴリの記事

トラックバック


この記事へのトラックバック一覧です: RDBでカーソル使ってFETCH,UPDATEという開発手法が当たり前なの?:

« 「VOCALOID 2」日本のアニソン・ジェネレーター(動画) : Gizmodo Japan(ギズモード・ジャパン) | トップページ | (株)すや 栗きんとん は一口目の濃厚な味わいが良かった »


2025年5月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
無料ブログはココログ

プライバシーポリシー