schema advice for event stream with tagging and filtering - Mailing list pgsql-general

From Chris Withers
Subject schema advice for event stream with tagging and filtering
Date
Msg-id 421d36b5-03ce-1d91-8bdd-f92c42e4c3c7@withers.org
Whole thread Raw
List pgsql-general
Hi All,

What would be the best schema to use when looking to implement an event
stream with tagging and filtering?

An event is a row with a primary key along the lines of (colo, host,
category) and an associated set of tags, where each tag has a type and a
value (eg: {"color": "red", "owner": "fred", "status": "open"...}).

Events come in as a streams of creates/updates as a cluster of http
posts to a web app.

We want to display events as a faceted list, with the facets being colo,
host, category and each of the tag types that exist, with counts against
each value for each facet (in an ideal world).

The idea is to be able to click a facet to include or exclude it from
the results. Furthermore, we want to do some other filtering (only show
events tagged for the team of the current user, exclude everything for
this colo between time x and y, etc).

I've deliberately tried to be abstract here as I'm trying to ask a
question rather than proposing a solution that might have problems, if
there's any more information that would help, please let me know!

cheers,

Chris




pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Any reasons for 'DO' statement not returning result?
Next
From: Jim Nasby
Date:
Subject: Re: Jsonb extraction very slow