問題は足元から・・・

最近は,現行のシステムの継続保守や機能追加に行き詰って「システムを作りかえてよ」という仕事が多い。昔の汎用機からだったり,ASPとかだったり,VBだったりするのを,Java化するっていう感じだ。

お客さんからの要望のほとんどの関心は,「プログラムを機能拡張しやすいようにして!」というものだ。しかし,その土台となるデータベースに関して,95%くらいの確率で,問題意識を全く持っていない。ホントにびっくりしてしまうことが多すぎる。

「助けてくだしぁい」と世界の中心で叫びたくなるほど,各企業が持っているデータベースはひどい作りだ。正規化なんて言葉はないに等しいし,ひどいところでは,(リレーショナルデータベースなのに)主キーなし,外部参照なし,インデックスなし,なんてことは当たり前だ。そんなDBにHibernateなんて使った日には,逆に工数増大になってしまう。

傾向としては,

  • 「超冗長設計」 - おんなじ情報が複数表に点在* 「1対1関連設計」 - 本来1つの表が複数表に分割* 「列にすりゃ速度あがるだろ設計」 - 「1日」~「31日」という列が存在* 「無制限設計」 - 主キーがない,外部参照がない

が多く見受けられる。このような傾向が合わせ技でやられてしまえば,その上で作られるシステムも,それなりのものになるのは当たり前である。

しかし,多くの企業は,「データベースはすでにありますし,その運用実績もあります。しっかりしているので,そのまま使ってください」と自信たっぷりに言ってくる。ちょっと見ればその酷さは明白なのに,ホントに自信たっぷりだ。いざお客さんに「問題ありますね」と言ったところで,大抵は「何言ってるんだ若造がっ!」で相手にしてもらえない。

そんな企業に限って,お客さん側のデータベース担当者は技術レベルが低いのに反比例して,システムに関する権限が高い。そもそもデータベースの理想形の認識が違うために,話がかみ合わない。ちょっとでも問題を指摘すると,機嫌が一気に悪くなり,しまいには相手にされなくなってしまう。けれど,企業はそんなデータベース担当者を手厚く保護している。

システムのリプレースを行う立場から言わせてもらうと,使用することを強制されたデータベースの出来によって,システムの出来,というか,開発に対するモチベーションは全く異なってくる。ひどいデータベースを見た日にゃもう,やる気はゼロ。開発の方向性は「動くものをJavaなり使って,現行レベルで作り変えればいいんだろ?」程度にしかならない。いや,そこまでやる気が出れば,めっけもんかもしれない。

企業のIT資産は,ITによってもたらされた情報の蓄積だ。その蓄積のされ方次第で,その企業のIT資産の方向性が決定されてしまう。もっとデータベースに対して,日々問題意識を持ち「ちゃんと育てていこう」という考えの下に,ITというものを捉えていってほしいものである。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて