hasura / hasura/graphql-engine
Feature: Greenplum, Materialize compatibility/support for better performance
- Dominant language
- TypeScript
- Stars
- 32.1k
- Forks
- 3k
- PR merge metrics
- PR metrics pending
Description
## Context ##
1. When permissions are used, Hasura's performance is affected. Can reproduce it with simple permissions set up and through slow query log. Possibly related tickets are MaterializeInc/materialize#1008 MaterializeInc/materialize#3672 (Had to turn off permissions)
2. Even without permissions setup, Hasura API calls become too slow after continuously running for a day. Looks like the bottleneck is with Postgres as restarting it brings back to normal speed. So, while searching for this particular issue, came across couple of interesting links that suggest that Postgres may _not_ be best suitable for all cases (our case is real-time update through WebSocket) and some workaround or alternative forks required.
\1. https://news.ycombinator.com/item?id=22767703
> I’m assuming anyone who has to make that decision already knows this but, while PostgreSQL is great to host a production database, it isn’t a great choice for an analytic database at scale, or to train or store your machine learning features. It works, but it’s not great at scale.
\2. https://news.ycombinator.com/item?id=22771062
> There are a lot of products that either fork or directly extend PostgreSQL for OLAP workloads. Greenplum[0], Materialize[1], Citus[2], PipelineDB[3] etc etc.
> [0] https://greenplum.org/
>
> [1] https://materialize.io/
>
> [2] https://www.citusdata.com/ (edit: I said TimescaleDB, I was thinking of Citus)
>
> [3] https://github.com/pipelinedb/pipelinedb
\3. https://news.ycombinator.com/item?id=22775330 - PostgreSQL's Imperfections - Multiple discussions suggesting from pgbouncer, etc
Contributor guide
Assessment
This issue has not been assessed yet.