3 ms·
Is this Hasura GraphQL Engine open source? What's the business model? Are there any features missing if you don't pay anything? How does it get notified by Pos
by devit 8y ago
Is this Hasura GraphQL Engine open source? What's the business model? Are there any features missing if you don't pay anything?
How does it get notified by PostgreSQL when the result of a query changes, since AFAIK PostgreSQL has no such built-in functionality? (it works if other apps change the database, right?)
- spaceheeder 8y agoHasura's homepage[0] links to their Github[1], so it's definitely open source. The "Enterprise" section of the website seems a bit lite and all the pricing information is on the "Support" tab, so the business model seems to be support-based. I only skimmed so I can't speak to what missing features there might be if you roll-your-own. [0]: https://hasura.io/ https://hasura.io/ [1]: https://github.com/hasura/graphql-engine https://github.com/hasura/graphql-engine
- DataInSolutions 8y agoThat's a great question. I've been considering Hasura for an upcoming app and have been prototyping things with great success. I hadn't really considered how it implements the subscriptions, and had assumed it worked only by observing mutations that came in through GraphQL. However that doesn't really explain how it works with subscriptions against a view. I dug into the code a bit and think it all happens here: https://github.com/hasura/graphql-engine/blob/master/server/src-lib/Hasura/RQL/DDL/Subscribe.hs https://github.com/hasura/graphql-engine/blob/master/server/... Which if my fledgling Haskell is correct digs into the subscription to find the sources and then adds a trigger on them. On a related note, I've been very impressed with the Hasura GraphQL server. In particular how the authentication works with a JWT token and it's access restrictions seem pretty well thought out and flexible. I have not yet used it in production but :fingers-crossed: it performs as well there as it has in testing and development
- zawerf 8y ago> AFAIK PostgreSQL has no such built-in functionality Postgres actually has basic pubsub via "LISTEN" and "NOTIFY". I was planning on trying out rethinkdb as a real-time database but found that approach instead described in this blog post: http://blog.sagemath.com/2017/02/09/rethinkdb-vs-postgres.html http://blog.sagemath.com/2017/02/09/rethinkdb-vs-postgres.ht... which also had a huge comment thread with related links(800+ upvotes): https://news.ycombinator.com/item?id=13610146 https://news.ycombinator.com/item?id=13610146