私はユーザーがリアルタイムでウェブサイト訪問者を追跡できるアプリケーションを持っています。ユーザーは、基本的にリソース(ここではウェブサイトの訪問者)をフィルタリングするために使用できるJSONオブジェクト(フィルタ)の配列であるGroupsを作成できます。グループのカスタムフィルタを提供し、それぞれの一致数を表示します
Group(user_id:id, name:string, filters: JSONB[type, field, value])
例:
name: "my group"
filters: [
{field: "sessions", type: "greater_than", value: 5},
{field: "email", type: "contains", value: "@example.com}
]
私は、インタフェース内のユーザーのグループのそれぞれを表示していますが、私はまた、各グループに一致するレコード(訪問者)の量を表示したいと思います。
このように、ウェブサイトの訪問者は、行動に応じてユーザーのグループに動的に追加/除外される可能性があります。
マテリアライズドビューを使用してすべてのグループのマッピングと30秒ごとに更新される一致の数を維持することを考えました。しかし、私はこれが非常にうんざりしてしまうのではないかと心配しています。
良いアプローチがありますか?
おかげ
トリガーアプローチの問題点は、ビジターがタイムスタンプによる明示的なデータ変更を行わずに別のグループに移動できることです。これはちょうど経過時間に基づいているためです – Tarlen