SYSTEM-6-6

クライテリア

1つのデータベースに対して複数のシステムからの直接的な参照または書き込みがなされていて、それらの依存性が簡単には追跡できない状況になっている。

タイプ

疎結合アーキテクチャ

観点

アンチパターン

FAQ

Q. 一つのデータベースに複数のシステムから直接読み書きしてはならないのはなぜですか?

一つのデータベースサーバーに複数のシステムA,Bが依存しているとします。このとき、システムAのソースコードだけからデータベースに求められる仕様を把握することが困難になります。システムAで使われていないカラムやインデックス、テーブルが実はシステムBでは必要とされていて、そのため削除も修正もできないということが起こりえます。このような暗黙的な依存関係はシステムの変更のためのハードルを高めてしまいます。
当初は実装した人が把握していても、退職したり、テーブル数が膨大になったり、さらに依存するシステムが増えたりすると把握は困難になります。