なれる!SE 間違いだらけの?IT用語辞典(中二版) 第13回

《組織》の科学力があれば何とかなりそうなIT用語

2013年04月25日 18時00分更新




 システムエンジニアの過酷な実態をコミカルに描く電撃文庫の異色作『なれる!SE』。本企画は、その主人公&ヒロインである桜坂工兵と室見立華による“中二っぽい”IT用語の解説コーナーだ。


このコーナーはIT用語の中でも特に中二っぽい単語(※)を取り上げ、その意味と語感のギャップをゆるく楽しんでいくものです。


優秀な中二病の少年少女IT業界にスカウトすべく始まったこの企画。今回もガンガン攻めていくわよ!


(PRRRと電話のシグナル音)


はい、桜坂です。……何? 本当か。……分かった、ついに始まるんだな。……了解だ。ヨーロッパ支部にも伝えておく。……ああ、全ては《グレートオーダー(大いなる意思)》の御心のままに。ゾルキ・ウモ=ダバ・ラサ(がちゃりと電話を切る)


何やってんの? どこにも繋がってない電話で。さっきのも呼び出し音じゃなくて携帯のアラームよね?


ふっ、《組織》の科学力があれば着信音をアラームに変えるなんて造作もないことです。そして通話履歴が残らないよう画面に話中表示を出さないのはデフォ、標準装備。《組織》の科学力は世界一ィィィィ!


どうでもいいけど、そういうのぺらぺら喋っちゃっていいわけ……? 機密保持的に


秘密を知った人間は消されるので大丈夫です。


迷惑極まりないわね……。


ちなみに《組織》の真の名は厳重に隠匿され仄めかすことさえ許されません。ただ僕のような上位階梯者に限り、他人にその名を明かすことが許されています。聞きたいですか? 聞きたいですよね?


いや?


ふっふっふ、そこまで言うなら教えてさしあげましょう。世界の裏側で暗躍する秘密組織、その名は……ファントムリード!


………
(こいつ、意外と人の話聞かないわよね……)


(※)思春期の男の子女の子がぐっとくるようなカッコイイフレーズ、名前。ポーズをつけて叫んだりするとなお可。ただし大人になってから同じ単語に接するとなぜか赤面してしまう不思議。

今回のお題:
ファントムリード


そして僕こそがファントムリード八傑集の一人、
華麗なるサクラザカです。


訊いてないし。


ちなみに僕の正体を知ってしまった以上、今日から室見さんもファントムリードの一員です。コードネームは……ツナ缶大好きムロミ・ザ・ツナーとかいかがでしょう?


本当にそんな名前つけられたら明日から会社来なくなるからね……。
にしても悪の組織って四天王とか三銃士とか数字つけたがるわよね。三百人委員会とかなると、もう別に人数書かなくてもいいんじゃない? って思うけど。


いやだなぁ、二つ名と数字集団名は悪役の華ですよ。僕ら小学校の時、サッカーチームはオリジナルイレブン、バスケチームはペンタグラム(五芒星)、野球チームは九品仏って呼んでましたし。


最後のだけなんか違わない……? まぁ私の周りにも昔、八人の敵ボス(オリキャラ)に八王子(*1)って名前つけてた男子いたけど。


知っててつけたかどうかが問題ですよね……。


知らないでつけるとあとで気づいたときの恥ずかしさが半端ないわよね。だってその子『八王子最後の一人! 最強の八王子! バスフィッシング現る!』とか叫んでたし。


名前のセンスよりその人の英語力が気になりますが……。とりあえず語感重視で意味調べずに使っちゃったんですかね。まぁ子供だとありがちなことですが。


あんた他人事みたいに言ってるけどさっきのファントムリード、あれどんな意味か分かってるの?


え? ファントムだから亡霊でリードは導くですよね。《亡霊先駆》とか謎の組織ぽくて格好いいと思ったんですけど。


……
リードはleadじゃなくてreadよ?


read?


そう、“読む”のread。


………。


(カチっとボイスレコーダー再生)
『とりあえず語感重視で意味調べずに使っちゃったんですかね。まぁ子供だとありがちなことですが』。


うわあぁああああああああ!


(*1) 東京西部の地名・駅名。もちろん八人の王子はいない。

回答編


ファントムリードはデータベース用語ね。トランザクションの分離レベルが低い場合、同一検索条件にもかかわらずデータが増えたり消えたりする現象


トランザクション……? 分離レベル……?


あるファイルを複数人で編集しようとすると『読み取り専用につき書き込み不可』って出ることあるでしょ? あれと同じでデータベースは情報の整合性を保つため、アクセス中のデータをロックしてしまうの。このロックをどれだけ厳密に行うかが分離レベルの調整。


うーん……? ロックの強さってことですか?


強さじゃなくて厳密さね。で、トランザクションはデータベースに対する一連の処理のこと。たとえばAさんの口座から十万円引き落としてBさん口座に入金するとか。この処理をやっている最中に他の振り込みが行われるとわやくちゃになるでしょ? だから作業中はきっちりデータをロックして他からアクセスできなくする。


ああ、それなら分かります。古い口座情報をもとに金額計算したらやばいですもんね。二重取りされたり以前の入金情報が消えてたりして……。


そうそう。でね、厳密にロックといったら振り込み処理が終わるまで何もできないわけだけど、ここで残高くらい照会したいってニーズがあったとする。処理が並行してデータ破損するのはまずいけど、引き落としと入金の間の口座情報が見えてしまうのはOKってケース。そういう場合に分離レベルを落とすと書き込み不可のまま読み取りだけできるようになるのよ。


なるほど……ロック適用の条件をゆるめる……ああつまり厳密さってわけですか。


そう、分離レベルを調整したわけね。ただまぁ処理中のデータを操作できるようになるわけだから色々と妙なことも起こる。その一つがファントムリード今回のお題。


readが読み取りだから……ファントム……幻を読み取る?


たとえば同一トランザクションの中で二回データを読み取る処理があるとするわよ。学校の学籍簿データベースとかを例にするなら『学生数』を読み込むなどね。で、一回目の処理のあと別トランザクションが編入生の追加を行っちゃったとする。すると二回目の読み取りはどうなる?


学生数が増えていますね。


そう、不整合が起きる。これがファントムリード。単純に人数を読み取るだけなら問題ないけど、読み込んだ人数をベースに何か計算したり別レコードを編集してたらまずいわよね。だからそこまでトランザクションの独立性を求めるなら分離レベルを最強(SERIALIZABLE)にしておくべき。まぁ全ての処理が並列不可になるからサーバのパフォーマンスはダウンするけどね。


なるほど……
(分かったような分からないような)


まぁまとめると私の部下は『幻の読み取り』を《亡霊先駆》って読み替えちゃう英語力の持ち主ってわけよ。


ぐっ!! 蒸し返しますね……。
分かりました、readのスペリングで格好よい二つ名考えればいいんでしょ! 待っててください(タッタッタッと走っていく)


おー、速い速い。


ぜぇ、はぁ、お待たせしました! どうですかこのネーミング、ファントムリード……《朧なる読み手》、完璧! まさに中二! いかがですか!


……読み手ならreaderじゃない?


しまったぁあああああああ!


【解説】

ファントムリード
データベース用語。トランザクションの分離レベルが低い場合、同一検索条件にもかかわらずデータが増えたり消えたりする現象。分離レベルによって他にダーティーリード、ファジーリードという現象が起こる。

キャラクター紹介

桜坂工兵

(株)スルガシステムの新人SE。実はゲームオタ。ロマサガは人生。好きなレトロゲーはゲイモス。


室見立華

工兵のOJTトレーナー。見た目女子中学生、年齢不詳。主武装はドライバー。言動の端々に某巨大掲示板の影響あり。


システムエンジニアの過酷な毎日をコミカルに描く物語

なれる!SE―2週間でわかる?SE入門 (電撃文庫)

 平凡な社会人一年生、桜坂工兵は厳しい就職活動を経て、とあるシステム開発会社に就職した。そんな彼の教育係についた室見立華は、どう見ても十代にしか見えない少女。しかしそんな見た目に反し室見は確かな実力を持つワーカホリック娘で、多忙かつまったく優しくない彼女のもと、工兵は時に厳しく指導され、時に放置プレイされながら奮闘することになる。 。

 入社早々、実際の顧客相手の案件担当を振られるのを皮切りに、社内の運用部署との調整や大規模案件の提案、はてはベンダー数社を束ねるプロジェクトマネージャーまで、およそ新卒一年目にはハードルの高すぎる業務を無茶振りされるが!?

 システムエンジニアの過酷な実態をコミカルに描く物語、それが『なれる!SE』です。 。