SYSTEM-6-6 · システム · v202506

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

疎結合アーキテクチャアンチパターン

この項目はアンチパターンです。「はい」は0点、「いいえ」は1点になります。

FAQ

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

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

当初は実装した人が把握していても、退職したり、テーブル数が膨大になったり、さらに依存するシステムが増えたりすると把握は困難になります。

疎結合アーキテクチャはなぜ重要か?

簡単に言うと、疎結合アーキテクチャは「建設現場の設計図・施工管理」のようなものです。従来の建設現場では、電気配線・配管・内装工事が密接に絡み合い、一箇所の変更が他の工程すべてに影響して大規模なやり直しが必要になることがありました。しかし、近代的な建設管理では、各工程が明確に分離され標準化されたインターフェース(配線接続口、配管ジョイントなど)で接続されるため、電気系統の変更が配管工事に影響せず、各専門業者が独立して作業を進められます。ソフトウェアの疎結合アーキテクチャも同じで、各機能を独立したコンポーネントとして設計し明確なインターフェースで接続することで、一つの機能変更が他に波及せず、チームが自律的に開発を進められる仕組みを実現できるのです。

カテゴリ解説を読む