4 ms·
For such a small scale, you can use a simple event tracking schema from your client-side and server-side code and have a simple stream processor to join these e
by vinay_ys 7y ago
For such a small scale, you can use a simple event tracking schema from your client-side and server-side code and have a simple stream processor to join these events and then save it to a simple event table in a SQL database. The DB tech you choose should be something suitable for OLAP workloads. For your scale, PostgreSQL or MySQL would just work fine.
When your data grows you can look at more distributed systems like Vertica or Memsql or Clickhouse etc.
In this architecture, most of your brain cycles will go into designing the queries for generating aggregates at regular intervals from the raw events table and storing in various aggregate tables. You must be familiar with facts and dimensions tables as understood in data warehouse context.