おい。次の表とデータを検討してください...
in_timestamp | out_timestamp | name | in_id | out_id | in_server | out_server | status
timestamp1 | timestamp2 | data1 |id1 | id2 | others-server1 | my-server1 | success
timestamp2 | timestamp3 | data1 | id2 | id3 | my-server1 | my-server2 | success
timestamp3 | timestamp4 | data1 | id3 | id4 | my-server2 | my-server3 | success
timestamp4 | timestamp5 | data1 | id4 | id5 | my-server3 | others-server2 | success
- 上記のデータは、サーバー間での一部のデータの実行フローのログを表しています。
- たとえば、一部のデータが「outside-server1」から一連の「my-servers」に流れ、最終的に宛先の「others-server2」に流れました。
質問 :
1) このログを表現可能な形式でクライアントに提供する必要があります。クライアントは、一連の「my-servers」について何も知る必要はありません。私が提供することになっているのは、インフラストラクチャに入力されたデータのタイムスタンプと、それが離れたときのタイムスタンプだけです。次の情報にドリルダウンします。
in_timestamp (of 'others_server1' to 'my-server1')
out_timestamp (of 'my-server3' to 'others-server2')
name
status
同じようにSQLを書きたい!誰か助けてくれませんか?注 : 常に 3 つの「my-servers」があるとは限りません。それは状況によって異なります。たとえば、data2 などに 4 つの「my-server」が関係している可能性があります。
2) SQL に代わるものはありますか? 私はストアドプロシージャ/などを意味しますか?
3) 最適化? (レコードの数は膨大です! 現在、1 日あたり約 500 万件です。最大 1 週間前のレコードを表示することになっています。)
事前に、助けてくれてありがとう!:)