常駐先で、ORACLEデータベースの管理やってます。ORACLE Platinum10g、データベーススペシャリスト保有してます。データベースの話をメインにしたいです

【小説 失格のエンジニア】第二十話 刺す彼女

»

 コンペ当日。

 府中屋に近い地下鉄の駅の入り口で雄一は桜子を待っていた。
 右手にノートパソコンが入ったバッグを持ち、左手でスマホをいじりながら。

「えい! この!」

 画面にはドラゴンファンタジーの戦闘画面が映っている。
 つい興奮して力強く画面をタップしてしまう。
 待ち時間を無駄にしたくない雄一はこの地下鉄の駅が敵の陣地だと分かると、ついゲームを始めてしまいそれにのめり込んでしまっていた。

「あー! ちくしょー!」

 シールドという外壁で固められた敵の陣地は思ったより防御力が高く、雄一のレベルをもってしても勝ち取ることは出来なかった。
 戦いに負け自動的に自軍のステータス画面に戻される。
 この戦いでアイテムを相当消費した。
 さらに仲間の体力が回復するまで5分は待つ必要がある。
 課金さえすれば一瞬で全回復するが、そこは財布と相談して我慢して待つ方を選んだ。

「おっ」

 画面上の方にお知らせバナーがスライドするように入って来た。

「今なら5連ガチャが半額! レアキャラの出現確率アップ!」

 ついそれをタップしてしまい、ガチャ画面に移動する。
 古代ローマの神殿を思わせる建物の画面が映し出され、その中央に祭壇がある。
 その上に卵型のマシンが置いてある。

<このマシンで仲間を召喚するのじゃ!>

 と、黒髪に羽織袴の巫女風萌えキャラが課金を促してくる。
 普段は非課金派の雄一は迷った。
 敵に勝つにはここで強力なキャラクターなり武器なりを調達する必要がある。
 課金ボタンを押すことに躊躇している自分を鼓舞するために

「そうだ! 俺は世界を暗黒から救う閃光聖空覇者になるのだ!」

 と、後で振り返ると黒歴史みたいなことを呟いた。

「何してんの?」
「わあ!」

 ゲームに没頭しすぎて周囲の様子に気付かなかった。
 いつの間にか、桜子が雄一のすぐ近くまで来ていた。
 彼女は呆れたような顔をして、ゲーム画面と彼の顔を交互に眺めている。

「何? 閃光......何とかって?」
「げっ、聴いてたんですか?」

 桜子は黙ったまま小さく頷いた。
 雄一は顔から火が照る程、恥ずかしくなった。
 彼女は黒いスーツをビシッと着込み、黒い長い髪を風になびかせながら切れ長の目を細めてこう言った。

「あんた仕事中にまたそれやってんの?」
「ちょっと待ち時間だから気晴らしに遊んでただけですよ! それにいつも仕事してないみたいに言わないでください!」

 と弁解すると、桜子は低い声でヒソヒソとこう言った。

「まぁ、やることやってくれれば、裏で何やってくれててもいいけどさ。あっ、それ課金額が1万円以下のユーザはレベルが低いキャラしか出ないようになってるから」

 桜子が言うには課金額に応じて、レベル1から10までのキャラの出現率が調整されているらしい。
 課金額が少ないユーザは更に課金させるために、レベルが低位のものが高確率で引き当てられるように設定されているのだ。
 こうすることによって、熱くなったユーザはさらに強いキャラを出そうとむきになって課金するように仕向けていた。
 如何にも、現場で開発に携わっていた者だけが知る裏事情だった。
 
「何ですかそれ!? 貧乏人から更に搾取するようなことして! 悪魔か!」
「いつの時代も大金持ちが得するようになってんのよ」

 怒り心頭の雄一に、桜子は身もふたもないこと言う。
 続けて、

「今の私たちみたいね」

 と、ため息と一緒に独り言ちた。
 これから府中屋へ行く。
 そこで、売上管理システムのサーバリプレースの提案を行う。
 普通の提案じゃない。
 それはコンペ形式で行われる対戦型のものだった。
 相手は大きな資本力で府中屋の内部に取り入っているオペラキャピタルの子会社、竹芝システムだ。
 雄一たちステイヤーシステムは現行保守を数年間行ってきた経験と実績のある業者ではあるが、竹芝システムのように何かの後ろ盾があるわけではない。
 立場としては圧倒的に不利だが、雄一には今日までこの提案のために努力してきたし、勝負になるものを作れたと思っている。
 何より桜子と一緒に検討してきた内容だ。
 勝てる自信は十分にある。


---------------------------------------------------------------

「よろしくお願いします」

 府中屋の大会議室に入り、一礼する。
 前回と同じように、コの字型の机に十数人の役員と思しき人間が座っている。

「こちらへどうぞ」

 案内の女性に促され、雄一と桜子は自分たちの席に着いた。
 
「ほう、自分一人じゃ無理だと考えて助っ人でも連れて来たのか? 見たところ若くてそれほど経験もなさそうだけどな」

 二人の前を通りかかった目白部長が嫌味を言ってきた。
 桜子はそれに対して別にどうということも無い顔で無視している。
 確かに彼女は大人しくしていると、大学卒業したばかりの新人に見えなくもない。
 そのせいか、年配の男性が多い周囲からは浮いて見える。
 コンペで戦う竹芝システムの新堀はホワイトボードを背に壇上に置かれたノートパソコンをいじっている。
 プレゼンが最初ということもあり準備に取り掛かっているようだ。
 ドアの横にはエンドユーザ代表として美穂が座っていた。
 目が合うと会釈をして来た。
 司会役の目白部長が正面に立ちマイクのスイッチを入れた。

(おや?)

 部屋の隅にパイプ椅子に腰掛けた笠松がいる。
 雄一は違和感を感じた。

「まずは、竹芝システムさんお願いします」

 目白部長に促され新堀が一礼した。
 備え付けられたノートPCを操作している。
 プロジェクタにはPowerPointの画面が映し出された。

「竹芝システムの新堀です。今日は忙しい中、お集まりいただきありがとうございます」

 そう一言挨拶し、プレゼンを始めた。

「私たちは、府中屋の今の売上管理システムの課題を受け止め、今回のリプレースを機にそれらの課題を解決することをテーマに提案を作成しました」

 前回と同じ、流暢にしゃべるなと感心して見ていると、続けてこう言った。

「計画停止を除いて原則365日24時間稼働という要望を受け、当社はデータベースを二台構成のRACで構築しようと考えていました......が、」

(え?)

 雄一は耳を疑った。
 やつらは可用性対策としてRACを提案してくると思っていたが、そうではないらしい。

「エンドユーザにヒアリングを行ったところ5分から10分程度ですが、その程度なら停止しても問題無いとの意見を頂きました。そこでライセンス費用や運用、構築工数が掛かるRACはやめ、現行と同じシングルインスタンスのデータベースを提案します」

「なっ......」

 口中で驚きの声を上げた雄一は、すぐに桜子の方を見た。
 彼女は特に驚いた様子も無く、新堀の方を見たままだ。

「シングルインスタンスだったら、停止したら手動で起動しない限り業務サービスを再開出来ないじゃないか? そりゃ5分かそこらで起動出来るかもしれないが、オペレータが休んでたらどうするんだ? 呼び出して到着するまで一時間とか掛かるんじゃ話にならんな」

 前回のプレゼンで副社長と呼ばれていた男が、新堀の提案に反論した。
 彼は確かオペラキャピタルのやり方に反対していたはずだ。

「その点についてはご心配無く」


---------------------------------------------------------------

 一週間前--
 コメダワラ珈琲店にて。
 提案会議。
 参加者は雄一、桜子、美穂、笠松。

「なるほど」

 雄一から今の状況について説明を受けた桜子は、頷くとこう言った。

「相手は顧客の要望を実現するために、幾ら予算を掛けてもいいってことね」
「はい」
「反対に私たちは予算を掛けられない......それが例え良い提案だったとしても」
「そうなんですよ。竹芝システムが依怙贔屓されてるんです」

 雄一たちの競合相手である竹芝システムはオペラキャピタルの子会社だった。
 オペラキャピタルは府中屋に多額の投資を行い経営に参画していた。
 オペラは私腹を肥やすために竹芝に、システムリプレース案件を発注するよう府中屋に促していた。
 筆頭株主であるオペラに頭が上がらない府中屋は、情報システムの発注に関して自由な発言が出来ないのだった。

「状況は分かったわ」

 桜子は頷くと、こう言った。

「私たちがコンペで勝つためには、竹芝よりも良い提案を低コストで行うこと。それだけね」

 雄一もそう思っていた。
 今まではそれが出来なくて悩んでいた。
 だが、桜子が仲間になった今、それが可能になりつつある。

「安田さん。例えばやつらはデータベースの可用性の向上のために、現在のシングルインスタンスを廃止してRACを導入しようとしています。それを俺たちがやろうとすればやつらと同じコストになり、その分野では勝つことが出来ないんです」
「ふむ」
「何か良い考えはありませんか?」
「自分で考えろ」

(え......?)

 雄一は目が点になった。

「あの......」

 美穂もおとなしそうな桜子が、雄一に対して冷たくピシャリと命令口調だったことに驚きを隠せないようだ。
 目を白黒させている美穂を、雄一は落ち着かせようとこう言った。

「すいません、この人、技術のことになるといつもこんな感じなんです」

グサッ!

 太ももに激痛が走った。
 桜子が美穂の方を向いたまま雄一の太ももにフォークを突き立てている。

「そ、そんな乱暴な」
「乱暴じゃないわよ。あんたエンジニアでしょ? それにこれあんたの案件でしょ? もっと一生懸命考えなさいよ。すぐに助けを求めるんじゃなくて」
「は、は、はい!」

 しかし、雄一はすぐに考えが浮かばない。

「コストを抑えるにはやはりシングルインスタンスで行くしかないと思います。RACだとライセンスも必要だからその分費用が掛かります。それに二台以上のサーバを用意する費用も必要です。かと言って、シングルだと停止した時、業務サービスを継続出来なくなる。そこをどうするか......ですね」

 RACのように複数台構成ならサーバが一台が落ちても他のサーバに乗っているインスタンスで業務サービスを継続出来る。

rac1.png

rac2.png

rac3.png
 だが、シングルインスタンスなら落ちたらそれで終わり。

single1.png

single2.png

single3.png
 後は電話で呼び出されて、手動で再起動させるしかない。
 シングルインスタンスの仕様がそうなのだから、そこをどうするか考えるのは無意味かもしれない。

「シングルインスタンスのアクティブ・スタンバイ構成はどうでしょうか。一台はアクティブ、もう一台は待機系としてスタンバイしておく。RACよりお手ごろ価格なクラスタウエア製品を導入してそれを実現するというのは」
「それ却ってコストが掛かるわよ。慣れない製品でアレコレ検証したりORACLEとどれくらい親和性があるか検討したりね」

 じゃ、どうすればいいんだと雄一は言いたくなった。
 だが、自分に考えさせるということは何か解決策があるはずなのだ。

「有馬さん」
「はい」

 突然、美穂に声を掛けられた。

「その......私、専門家じゃないからよく分からないんですけど......シングル何とかって言うのは停止するとそのままなんですか?」
「はい。起動操作をしないと立ち上がって来ません」
「自動的に起動させることって無理なんですか? 例えばwindowsって何かが原因で突然止まっても立ち上がって来るじゃないですか?」
「自動起動......ですか」

 美穂にそう指摘された雄一は考えた。
 シングルインスタンスの場合、落ちたら手動でデータベースを上げることになる。
 それを自動化すればいいだけの事ではないか。
 要はデータベースが落ちたことを人手でなく、自動で検知して起動させる。
 問題は落ちたことをどうやって判断するか、だ。

「君はいつも障害対応する時、まずデータベースが起動してるかどうか確認するでしょ? その時、何を確認しているの?」

 桜子に問い掛けられた雄一は考えた。
 彼女はいつもヒントを与えて、それを元に答えを考えさせるのが常だった。

「はっ!」

 雄一は閃いた。
 いつも障害対応をする時、まずデータベースが起動しているかどうか確認する。
 その際ORACLEの命とも言えるpmonプロセスが存在するかどうかを確認している。
 それがあるかどうかを検知する仕組みをこちらで用意すればいいのではないか?

「新山さん、安田さん、ありがとうございます」
「え、あっ、はい」

 突然雄一にお礼を言われた美穂は驚いた様子だが、すぐに笑顔になった。

「安田さん、データベースの死活をpmonプロセスの有無で行えばいいんだ。存在しなければデータベースを自動起動する。そんな機能を実装すればいい。そうすれば可用性を維持出来ます」

 桜子は頷いた。

「まあ厳密に言うと停止を検知して起動するまでの間、データベースは使えないけど、そんなの1分以内のものだからね。それならRACだってインスタンスが落ちて他のインスタンスに再接続するまで使えないわけだから、まあ同等とまでは行かないけど近い可用性を得られるわ」

 桜子に認められ雄一はいい気分になった。

「それにアクティブ・スタンバイ構成の場合でもアクティブからスタンバイに系が切り替わる間は、多少接続を受け付けない時間ができる。結局、どんな方法も何かあった時は接続出来ない時間が多かれ少なかれあるのよ。その時間がどれくらいまでなら許されるかってことよね」

 桜子は雄一に補足するように解説すると、美穂の方を向いた。

「新山さん」
「は、はい」

 美穂は、まさか自分のような素人に声が掛かるとは思っていなかったのだろう。
 驚いた様子で返事をした。

「例えばデータベースが停止してシステムが使えなくなった時、復旧するまでどれくらい待てますか?」

 365日24時間稼働という要望は出ているが、それを実現するのはどんなシステムでも難しい。
 実際のところ、どれくらい停止していいか許容範囲があるはずだった。

「5分から10分程度ですが......その程度なら停止しても問題無いです。その間、休憩したり別の仕事してますから」

 雄一はその答えを忘れまいと、手帳にメモした。

「ありがと。ところで、ここ最近でシステムが落ちたことってありますか?」
「うーん」

 美穂は頬に手を思い出そうとしているようだ。

「ここ数年は無いですね」
「ありがと」

 その質問だけで桜子は何かつかんだようだ。

「有馬君、システムがここ数年落ちてないということは、システムの使い方やデータが劇的に変化する場合は除くとして今後もこの傾向は続くわ。実績から、データベースが停止する可能性は低い。となると、高価なRACを導入する必要までは無さそうね。かと言って、データベースの突然の停止には対策しておかないといけない。となると、費用を押さえつつ可用性を維持する方法、つまり今君が考えたやり方になるわ」

 そう言われ、雄一は自分の考えに自信を持った。
 と同時に、彼女の助言や気合注入が無ければ、この答えを得ることは出来なかったと思った。

「さて、具体的にどう実装するか、考えましょう」


---------------------------------------------------------------

「データベースの自動起動を実装することにより、可用性を維持します」

 新堀は自信満々にそう発表した。

(え?)

 雄一は思わず声を上げそうになった。

(やつら、自分たちと同じ提案を用意していた......。何て奴らだ。バックにどんなエンジニアがついているか分からないが、全てこちらの動きを見透かしたような提案をしてくる)

 雄一は敵の底知れぬ実力に身震いした。

つづく

Comment(2)

コメント

VBA使い

参加者「は」雄一、桜子、美穂、笠松。


黒髪に羽織袴の巫女風萌えキャラ
黒い長い髪を風になびかせながら
→このキャラのモデルは当時の桜子だったりして。


どうでもいいけど、タイトルイラストが、今は亡きカイル君に見えます

湯二

VBA使いさん。

コメント、指摘ありがとうございます。
修正いたしました。


>このキャラのモデルは当時の桜子だったりして。
同じプロジェクトのキャラクターデザイナーが、彼女のことを見ていて、それをモチーフに作ったとかいう話にしましょうか。


>どうでもいいけど、タイトルイラストが、今は亡きカイル君に見えます
消される運命にあるあのキャラクターですね。
いつも気になっているのが顔の部分がちょん切れてるということです。
10年以上前に自作Tシャツの柄としてこのイルカの絵をペイントツールで描きました。
使いまわしです。

コメントを投稿する