-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for CockroachDB #678
Comments
It is really cool! |
would be interesting |
CockroachDB doesn't support triggers at this moment. Even if that's possible, events won't be fired if you modify the DB directly. |
Latest version of CockroachDB now offers support for experiential change feed. Could this be used instead of SQL triggers? |
Is the only thing that's broken is webhooks for db change events? Does everything else work with CockroachDB ? |
Hi everyone 👋 this is to let you know that we are aware of the community's request for support for CockroachDB. We will take this up in a few weeks 🙂 |
Any update here? |
any updates here? |
Hey everyone, so we did an initial investigation and Hasura doesn't start on CockroachDB out-of-the-box because of Cockroach's different implementation of internal schema and lack of few json operators. Although now we have more insights into what will go into supporting CockroachDB and we will update this issue when we have a technical spec ready. |
any updates on this |
please update, thank you! |
@tirumaraiselvan sorry for the noise. |
Plus one for support for CockroachDB! 😄 |
Any updates? |
@orefalo Hasura does support YugabyteDB, which is a distributed SQL database with a Postgres-compliant API. Here is a tutorial on using Hasura and YugabyteDB together. Yugabyte has a hosted cloud offering that starts with 5GB of storage and 3 nodes on the free tier. |
any updates on this? Thank's! |
Also a vote for CockroachDB. |
And another vote! |
Vote for CockroachDB! |
any update on this? Voting for CockroachDB! |
1 similar comment
any update on this? Voting for CockroachDB! |
Closing this issue - I opened it more than 3 years ago yet support has not been implemented. Hope this helps, |
Strongly disagree with this statement. Beside that due to linked issue on CRDB side it's technically impossible, it doesn't make much sense. I use now both products (but not together) and both products are great. But without deep support of postgres features like triggers you don't get much power from hasura side and you go right into a dead end. How do you want validate your incoming data? How do you want react on data changes? All that isn't possible with hasura + crdb. Of course you can limit you to some select queries with permissions and handle all stuff with custom backend code... but why? It is a good trade-off to introduce additional component like hasura? I had great success with hasura + YugaByteDB. But slow migrations make development a little bit uncomfortable. BTW, migrations in crdb aren't faster. |
Hi, PM from Cockroach Labs here.
We're collecting use cases for triggers, so I would love to learn more about the specific trigger functionality Hasura requires and how you're using them. |
Hi @vy-ton! I think general trigger usage is well explored. AFAIK hasura on it's own doesn't require triggers at all. But for me the whole point of hasura is to avoid custom backend logic beside hasura and database. This works very well, especially with declarative permission model, API and triggers I can avoid a lot of (boilerplate) code. In fact, currently I don't have any custom backend code at all and ATM less than 1000 LOC of sql/plpgsql code, even it's very verbose (but well I see some features coming, like payment, which are impossible without backend. Not related to your question directly, but to hasura usage: #7012, #7159). My use cases for triggers are:
I've very similar construct to Auditing actions on tables in Postgres, see also linked audit.sql. But there are some differences, which makes usage of hasura very powerful to me. I create not only auditing events with additional information, but also collect users who are interested in this information. For example, if a team name is changed, then all team members are interested in this event. I have a more structured view
There are multiple relevant use cases, which can't be implemented as check constraints. For example, if a
I think this is clear. I course there are other ways to implement that, for example with
For example, if a user creates a team, then a trigger adds |
Cockroach just launched a serverless offering we are considering to use. I want to bump this as it would be interesting to use that service along with hasura. (excluding features cockroach doesn't support; triggers etc) |
CockroachDB dev here -- I have a limited subset of Hasura working on a local branch (cockroachdb/cockroach#72407) but requires changes on both Hasura and CockroachDB to make it possible. We'd like to partner on Hasura on the next steps to get this "to production" and hope to get this up and running soon. |
+1 We're looking for this support |
considering that we have had a response from both a project manager and developer from cockroach labs give input on this ticket saying they are interested in making this a reality ( and there is progress ), is it not possible to either reopen the ticket or create a new one to track this to fruition? |
Why is this closed? The Hasura website even points to this page as active! https://hasura.io/docs/latest/graphql/core/databases/postgres/index/ |
As an outsider, it appears that Yugabyte and Hasura partnered in some way around June 2021 (Yugabyte blog, Hasura blog). CockroachDB and Yugabyte are fairly direct competitors. As a user of both projects, it's unfortunate that Hasura won't engage with the Cockroach team here in the open-source workflow on GitHub. |
well it would be nice if someone from the hasura team could explicity declare that they are no longer open to pursuing this effort. Or if anyone from the cockroachdb team could mention if they no longer have an interest in the effort. |
I really wanted to use Cockroach in my project, but ended up using Yugabyte because of some kind of Hasura compatibility. Life is not perfect with Yugabyte either, but I'm pretty sure Cockroach Postgres compatibility is so far from being at required level this is not going to happen in the near future. Also with Yugabyte there are some nasty issues where both Hasura and Yugabyte have tickets but they can't co-operate to get the problem fixed. For example #3549 |
Hi everyone! CockroachDB dev again - sorry for the slow follow up here. Last I've heard, Hasura is currently working towards making integrations with other databases easier. As soon as we get updates on that, we (on the CockroachDB side and in partnership with Hasura) can look to get the ball moving on this again. (as always, we're looking at bridging the PG-CRDB gap which will also help) |
I've filed #8491 as a re-opened version of this ticket in the meantime :) |
I am following this as this is something I want as well. |
yes please |
In case you didn’t hear at Roachfest today!!! Hasura is pleased to announce work is in progress to release CockroachDB as a supported database for the community. We are planning to support queries, mutations, relations, and subscriptions. Now you can have instant GraphQL with one of the most cutting edge distributed SQL databases in the marketplace. |
We are pleased to announce the beta release for CockroachDB datasource on the Hasura GraphQL Engine for Hasura CE, Cloud, and EE in v2.15. 🚀 🚀 🚀 Beta release for v2.15 is expected to take place Monday 10/31. In this beta release Hasura supports Queries and Mutations with plans to add support for subscription before the GA release, which will coincide with the release of CockroachDB v22.2 (tentatively scheduled for early December). CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data. Together with Hasura, CockroachDB now supports: Instant GraphQL & REST APIs, Declarative Role Based Authorization, Advanced Security and Performance with rate limiting, allow lists, and caching. |
🎉💥 Excited to officially announce the beta release of CockroachDB on Hasura v2.15.0 currently available on cloud and oss versions of Hasura. Support for CockroachDB will be considered GA when the minimum required CockroachDB version, v22.2, which is currently in beta is released as GA and pushed to CockroachDB's managed solutions. Find out more in this blog post or follow the instructions in the CockroachDB docs to get started building with Hasura and CockroachDB today. Coming soon!!! We are hoping to release support for subscriptions for CockroachDB in the coming weeks. |
<!-- Thank you for submitting this PR! :) --> ## Description Very occasionally these tests fail with the wrong duplicated graphql name. Not sure why, I assume some unpredictable HashMap ordering somewhere. In lieu of changing all HashMaps to BTreeMaps in engine (which isn't immediately possible because of missing `Ord` instances for `serde_json::Value`), let's make only one set of failing items in these tests so the same one goes wrong each time. Functional no-op. V3_GIT_ORIGIN_REV_ID: 6dff998ae66aedbcca05dd05dc6fcb12e6d704c3
Or any distributed/replicated SQL db alike...
The text was updated successfully, but these errors were encountered: