4 ms·
That's actually what we do at Rakam. Postgresql fits in many analytics workloads with partitioned tables, parallel queries, and BRIN indexes. The only limitatio
by buremba 7y ago
That's actually what we do at Rakam. Postgresql fits in many analytics workloads with partitioned tables, parallel queries, and BRIN indexes. The only limitation is that since it's not horizontally scalable, your data must fit in one server. `it just works` up to ~10M events per month.
The SDKs provide ways to send the event data with the following format:
rakam.logEvent('pageview', {url: 'https://test.com'} https://test.com'})
The event types and attributes are all dynamic. The API server automatically infers the attribute types from the JSON blob and creates the tables which correspond to event types and the columns which correspond to event attributes and inserts the data into that table. It also enriches the events with visitor information such as user agent, location, referrer, etc. The users just run the following SQL query:
SELECT url, count(*) from pageview where _city = 'New York' group by 1
All the project is open-source: https://github.com/rakam-io/rakam https://github.com/rakam-io/rakam Would love to get some contribution!
- mrchlhblng 7y agoTo scale a PG db horizontally, you may want to look at https://www.citusdata.com/ https://www.citusdata.com/ (they were recently bought by Microsoft but I don't expect any change on the Open Source part).