【創作】SEが孫子の兵法を使いこなしたら無敵になった件(第10章:地形 – データベース設計)

システムエンジニア
記事内に広告が含まれています。
スポンサーリンク

あらすじ:
平凡な30代のシステムエンジニア たかし が、ブックオフで何気なく見かけて買った『孫子の兵法』の本。
家で読んでいると孫子の兵法を教えてくれる謎のマスコット「そんしくん」が現れ、 たかし の様々な問題に孫子の兵法を使って解決に導いてくれるのであった。
そしてなぜかそんしくんはシステムエンジニアリングに詳しい。。。

スポンサーリンク

第10章:地形 – データベース設計

たかしは、新しいプロジェクトのデータベース設計を任された。
しかし、クライアントの要求が曖昧で、どんなデータをどのように保存するかが分からない。
そこでそんしくんは、孫子の兵法の「地形」の章を引用して、データベース設計のコツを教えてくれる。

「孫子曰く、地形には九種あり。一つは易地、二つは険地、三つは閉地、四つは死地、五つは散地、六つは軽地、七つは重地、八つは狭地、九つは平地である。
これらの地形を知り、それぞれに応じた戦略を立てることが重要だよ」

「そんしくん、それは戦争の話でしょ。データベース設計と何の関係があるの?」

「たかしくん、データベース設計も戦争と同じだよ。
データベースはデータを保存する場所だけど、その場所にもいろいろな特徴があるんだよ。

例えば、
易地というのは、データの追加や変更が容易な場所だよ。
これは良い場所だけど、その分セキュリティやパフォーマンスに注意しないといけないよ。

険地というのは、データの追加や変更が困難な場所だよ。
これは悪い場所だけど、その分セキュリティやパフォーマンスに優れているよ。

閉地というのは、データが外部から隔離された場所だよ。
これは安全な場所だけど、その分データの共有や連携が難しいよ。

死地というのは、データが失われやすい場所だよ。
これは危険な場所だから、絶対に避けるべきだよ。

散地というのは、データがばらばらに分散された場所だよ。
これは管理が大変な場所だから、統合や整合性に気を付けるべきだよ。

軽地というのは、データが少なくて軽量な場所だよ。
これは使いやすい場所だけど、その分データの拡張や拡充が必要になるかもしれないよ。

重地というのは、データが多くて重量な場所だよ。
これは使いにくい場所だけど、その分データの縮小や削減が必要になるかもしれないよ。

狭地というのは、データが限られた範囲に収まった場所だよ。
これはシンプルな場所だけど、その分データの柔軟性や多様性が低いよ。

平地というのは、データが広く平均的に分布した場所だよ。
これはバランスの良い場所だけど、その分データの特徴や差別化が少ないよ」

「すごい。。。そんしくん、それぞれの地形に対してどう対処すればいいの?」

「それはプロジェクトの目的や要求によって変わるよ。
だから、まずはクライアントとしっかりとコミュニケーションを取って、データの種類や量や用途や期間などを明確にすることが大事だよ。
それから、適切なデータベースの種類や構造や設計を選んで、データの保存や操作や検索や分析を効率的に行えるようにすることが大事だよ。
そして、データベースの状態や動作を常に監視して、問題が発生したらすぐに対処することが大事だよ」

「なるほど。。。そんしくん、ありがとう。データベース設計の勉強になったよ」

「いえいえ、たかしくん。
孫子の兵法は万能だから、どんな問題にも応用できるよ。
これからも孫子の兵法を使って、SEとして無敵になろうね」

(続く)

続きはこちら
【創作】SEが孫子の兵法を使いこなしたら無敵になった件(第11章:九地 – クラウドとオンプレミス)

コメント

タイトルとURLをコピーしました