Provides real-time error resolution but sometimes delays schema updates
What is our primary use case?
I have used MongoDB and MySQL, and for the last two years, I am using CockroachDB, which is better than these two. I have recommended it to two more of my colleagues who have also started working on CockroachDB, and they are building an application for the global market. They have started using CockroachDB because it has been very helpful.
I am using Hasura just for the GQL, GraphQL.
Hasura has connectivity with CockroachDB, and I am not directly calling CockroachDB, I am just calling Hasura. Internally, Hasura calls CockroachDB, gets the data, and populates it into our application. It serves as middleware.
We have real-time subscription in Hasura.
If I change anything in CockroachDB, it immediately impacts Hasura. For example, if I add new fields, it gets reflected in Hasura.
Integrating microservice architecture with Hasura provides an endpoint to incorporate into your microservices. It works as a connection string, and that's its main role.
What is most valuable?
Hasura's best feature is that it provides an API gateway, and it also provides remote schemas and monitoring, which are the best methods they are offering.
In the API playground, I can run my query dynamically; it has a GraphiQL integrated system. I can fix my error directly on this playground and then copy my query from it to my code.
Regarding security, Hasura provides API keys and secret keys. It is hosted there and offers these features, which are very good. I have role-based access; I can give four out of five team members access to the Hasura console and manage their access control according to their roles. If assigned as admin, they can do anything. Developers can run queries, and business developers can monitor metrics.
Hasura does not support custom business logic; it just provides Graph Query Language support to get the data. It offers an endpoint where I can fetch the data and create any endpoint, such as ABC, to get a desired output based on some input variables.
Hasura has event triggers, and I have used that feature. I find it effective to have these event triggers in my system.
The main benefits I see from using Hasura include being able to fix my queries on the playground in real-time rather than relying on Google or any AI solutions for error resolution.
What needs improvement?
One area I would like to see improved is that they are providing a cloud-based DB system, and aside from that, I don't have any additional requests.
For how long have I used the solution?
I have been working with Hasura for the last six months only.
What do I think about the stability of the solution?
I have no issues with stability or scalability; everything is good.
What do I think about the scalability of the solution?
I have no issues with stability or scalability; everything is good.
How are customer service and support?
The tech support was fine; they used to reply within one, two, or three days, and that is acceptable.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Before Hasura, we did not have a chance to work on CockroachDB. We used DynamoDB, DocumentDB, and MongoDB from the AWS platform.
How was the initial setup?
The initial setup of Hasura was very easy. Once redirected to the dashboard, I can add a new project by clicking a button for a new project. It asks if I want to go with a free plan or a professional plan, and if I select the free plan, I provide a provider such as Google Cloud, Azure, or AWS. Based on this, I can create a new project and add my DB connection string, such as CockroachDB. Just put it in and click save to create the connection, after which I can launch the console.
What other advice do I have?
My advice for others considering Hasura is that sometimes it may not support capturing remote schemas effectively; for example, if I change something in CockroachDB, it sometimes fails to capture the change until one or two days later. I discussed this with the sales and technical teams, and they also recognized this issue. This can impact your business deadlines if it's not functioning properly.
Event triggers are required for situations such as creating backups every three or four days. For example, if I need to create an event that runs every three days for backups or integrates payment systems using webhooks such as Stripe, once Stripe updates the database, that data will be updated in my local database.
On a scale of one to ten, I rate Hasura a six out of ten.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Google