CIのインポートを親テーブルから取得すべきか子テーブルから取得すべきか

Mamoru Kato1
Tera Contributor

E-bondingアプローチで既存リージョンインスタンスから新規グローバルインスタンスへサーバCI情報を連携したいと考えております。
既存インスタンスは下記構成であり、当面連携したい情報は子テーブルのWindows・Linux情報になります。
この場合、データの連携元は子テーブルとした方が良いのか親テーブルにした方が良いのか?ご意見いただければ幸いです。


■既存インスタンス構成
親テーブル:Serverテーブル

子テーブル:Windowsサーバテーブル、Linuxテーブル、etc

欲しい情報は子テーブルの情報なのでミニマムで子テーブルをソースで検討していたのですが、
今後の拡張性やRestAPIを子テーブル毎に作成することを考えると親テーブルから情報を引っ張った方が良いのかとも思い悩んでおります。

3 REPLIES 3

t_sadahisa
Giga Guru

こんにちは。

 

e-BondingSpoke(今はRemote Instance Spokeという名前になっているようです?)を利用して、既存インスタンスから新規インスタンスへデータをコピーしたいと理解しました。

 

どの子テーブルに入っているかわからない(もしくは多すぎて定義しきれない)場合は、一旦親にアクセスし、Classが判明次第子にアクセスするのが良いかと思います。

こんにちは。ご返信ありがとうございます。

 

>e-BondingSpoke(今はRemote Instance Spokeという名前になっているようです?)を利用して、既存インスタンスから新規インスタンスへデータをコピーしたいと理解しました。

ご認識の通りです。

 

>どの子テーブルに入っているかわからない(もしくは多すぎて定義しきれない)場合

どの子テーブルに入っているかは明確でして今回はWindowsサーバテーブルとLinuxテーブルが対象となります。但し、今後AIXやHPUX等のテーブル情報も引っ張る必要が出てくる可能性があります。

※将来的には統合先のインスタンスのインシデント管理の関連テーブルとする為に全サーバ情報が必要となる想定

 

いずれ全サーバ情報が必要になるのであれば、今から親テーブルをソースにした方が宜しいでしょうかね?

 

 

 

 

返答遅れ申し訳ございません。

 

>いずれ全サーバ情報が必要になるのであれば、今から親テーブルをソースにした方が宜しいでしょうかね?

はい、将来的に必要だとわかっているのであれば、以下のような処理にするといいと思います。

※Flowのトリガー条件はServerレコードのInsert/Updateと想定しています。異なるトリガーの場合は読み替えてください。

 

1. トリガーされたレコードの正確な子テーブルを取得する

2. 子テーブルから全データを取得する

3. Spokeを使いRemoteInstanceのRecordをInsert/Updateする