複数のシステムから1つの共通データベースにアクセスする一般的な方法について

お世話になっております。
ご質問をさせて頂きたく存じます。

当方につきましては、DBの初心者です。
初心者の質問となりますこと 何卒ご了承ください。

複数のシステムから1つの共通データベースにアクセスする場合のスマートな方法に悩んでいます。

ご相談事項の詳細について、記載致します。

簡潔な仕様(前提)

・それぞれ独立したシステムである「システムA」「システムB」「システムC」の開発に着手する。
・「システムA」はデータの参照先として「DBサーバA」に接続する。
・「システムB」はデータの参照先として「DBサーバB」に接続する。
・「システムC」はデータの参照先として「DBサーバC」に接続する。
・3点の各システムは共通のユーザ情報でログイン出来る。
・3点の各システムは共通のユーザ情報参照先として「DBサーバX」に接続する。
・「DBサーバX」のユーザIDを元に「DBサーバA」から抽出したいデータがある。
・「DBサーバX」のユーザIDを元に「DBサーバB」から抽出したいデータがある。
・「DBサーバX」のユーザIDを元に「DBサーバC」から抽出したいデータがある。
・負荷分散の為に各DBサーバは図のように分けておきたい

イメージ説明

上記仕様におけるご相談事項

共通ログイン機能を作る際、以下選択のいずれが適切でしょうか。
実際にはシステムの想定アクセスユーザや、具体的な抽出頻度や量、その他要件に基づいて判断すべきかと思いますが、上記情報から「一般的には…」と 考え方の部分についてアドバイス頂ければと考えております。

  • DBサーバXから抽出したユーザ情報を元に各DBサーバへクエリを発行する(クエリを2回以上実行する)
  • DBサーバXのユーザ情報と各DBサーバの情報を紐づけたいならばJOINすべきなのでDBサーバを分離しない方が良い(可能な限り1回でクエリを済ませる)
  • その他(共通データの持たせ方に誤りがある, 全てのデータベースは1サーバにまとめるべきである, 等…)

 
また、お差し支えなければその理由についても教えて頂けますと幸甚にございます。
情報が限られている中で大変恐縮ではございますが、何卒宜しくお願い致します。

コメントを投稿

0 コメント