hasura / hasura/graphql-engine

Feature: Greenplum, Materialize compatibility/support for better performance

Open
#4,307 6 comments 5 reactions 0 assignees View on GitHub
k/ideas
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.