2

MySQL トリガーを使用して 1 つのテーブルと別のテーブル間でデータを同期させ、データの変更に応じて集計/レポート テーブルを更新することの利点と欠点は何ですか?

集計/レポート テーブルとは、次のような他のテーブルに存在するデータを要約したテーブルを意味します。

tbl_user_location:
1 Mike  New York
2 John  London
3 Emily Paris
4 Jack  New York

tbl_summary:
New York 2
London 1
Paris 1

データがリアルタイムで変更されるとtbl_user_location、概要が更新されます。

このアプローチに代わるものは何ですか?

4

1 に答える 1

5

利点: SQL トリガーは、スケジュールされたタスクを実行する別の方法を提供します。トリガーは、テーブル内のデータが変更される前または後に自動的に呼び出されます。

不利な点: ただし、SQL トリガーはクライアント アプリケーションから見えないように呼び出されて実行されるため、データベース レイヤーで何が起こるかを把握することは困難です。これにより、データベース サーバーのオーバーヘッドが増加する可能性があります。

高速データについて話している場合は、トリガーについても考えないでください。ストリーム処理技術を使用することをお勧めします。mysql bin-logs を使用してイベントをキャプチャし、ストリームに追加してから処理できます。単純なトリガーは、リアルタイムのデータ集約には適していません。

以下のようなことを試してください。これらの例で検索を行う必要があるかもしれません: (mysql binlogs) maxwell->kafka->spark (処理されたデータ)

于 2016-07-02T16:24:19.287 に答える