What is our primary use case?
Currently, we are using it on Azure. We have around four VMs with Denodo divided into development, quality, and production environments. We have various configurations. I don't really work developing the queries on Denodo, it's more on the administration side. I have managed the scalability, the configurations, and providing the environment.
Currently, we use Denodo mostly to query data from SAP. We have a very old SAP inside of Schaeffler that doesn't have encryption. To retrieve this data from other people, to use the same data, we use Denodo to make this encryption. Then we have a few databases, and we can create base views based on the SAP tables.
In some use cases, they also create web services based on these tables as well. They use it a bit as an ETL tool. They use for data scouting. For example, we have one tool that was developed inside of Schaeffler called Discovery, where we used Denodo to get the metadata from basically all the different systems that we have.
How has it helped my organization?
It's been useful to have the same language to query manager-friendly databases. That would be the main benefit. The second one is that we can create web services without any programming based on the base use that we create on Denodo.
What is most valuable?
Getting queries is great. They are really good. You can basically write SQL statements, and it can convert to MDX queries or to MongoDB queries, or any kind of data source. We have many different data sources. You just use the requisite language, which translates to all the underlying data sources. That's the best thing that we have on Denodo.
In general, it's good for us to make tests so we can scout the data. We can make POCs easily.
What needs improvement?
It's not really scalable. We have a couple of problems with a high demand for the servers. It also doesn't have very good integration with Git, so it's not possible to work with branches with the developers. When it goes to production, then we cannot use it anymore.
The git configuration really should be improved. It would help a lot. Then the developers could have different values of the same project and use, for example, GitFlow for the projects. That would be amazing. If they had it, the scalability would be very good. And we can actually have one external metadata database for starting the Denodo configuration. However, it's very slow.
If it were possible to work around Kubernetes, for example, it would help. They have some implementations. However, it doesn't really work as expected.
The solution is expensive as you are charged by the CPU.
For how long have I used the solution?
I've been using the solution for three years.
What do I think about the stability of the solution?
For production the stability is okay since we don't have a lot of things going on. In production, we have a couple of years of use cases. Of course, there is a high demand for CPU and memory. However, in development, we have a lot of issues based on the problems we've had with the Git integration. There are a lot of conflicts, there are a lot of problems.
If you have just the applications pointing to Denodo and running the specific query, it's okay.
What do I think about the scalability of the solution?
The solution does not scale well at this time.
We have a lot of users. They don't do the deployments. However, they do development in the development environment, of course. I would say we probably have 100 users.
How are customer service and support?
I don't like the support. They always blame the customer. For example, sometimes we have some bugs on Denodo and open a ticket. They ask you to run thousands of tests to ensure that it's not a bug, however, in the end, it is a bug, and we knew since the beginning. Sometimes it takes a week for them to say, "Yeah, okay, it's really a bug."
Then, God knows when they will give an update as they have one voting system at the service desk. Other customers need to vote on the same bug or the same feature that you requested, and then it will go in the next release.
It's very hard, for example, to have a call with them. It's very hard to get support when it's a problem with the tool. They always say that the customer doesn't know how to use the tool and it's not so nice.
Which solution did I use previously and why did I switch?
I was in touch with a company called Starburst and CData. They seem to do nearly the same stuff. We just had to try the tool, to install and try to run the same things on Denodo. I didn't really have time for that, so I cannot say a lot. However, it could be an alternative.
How was the initial setup?
It's very easy to set up the product. We have the solution manager on Denodo, so you can basically create a revision. Suppose you have the database from one environment, for example, from development. In that case, it will generate basically a backup, and it will deploy this backup in the other servers that you want.
We have three people that handle the implementation and deployment. It's me and two students in my team who are learning how to do this stuff. We basically have three DevOps engineers who are in charge of that.
The deployment of Denodo is very quick. It takes less than a minute.
In terms of maintenance, usually, we don't have many problems. Sometimes we face issues with credentials, however, the procedure that we need to establish is not yet well-defined. That said, usually, in production, we hardly ever have problems.
What's my experience with pricing, setup cost, and licensing?
I don't have details of how much it costs, however, it's expensive.
You pay per CPU. If I have 10 CPUs or 12 CPUs, it increases the price.
What other advice do I have?
We're a customer and end-user.
We're using the latest version.
We have a contract until the end of 2023. Then, maybe after that, we won't want to keep this technology. That said, we don't have any replacements so far. We have to run some POCs and tests and plan a migration since we have around 46 use cases on top of Denodo. It needs to be planned if we decide to switch.
A potential new user should run a lot of tests before they pay a license. For example, try the support and see if the relationship works. There are some customers that are very happy. We have not been as lucky. Some are very happy, some of them they are not so happy. It depends on what your usage will be.
I'd rate the solution seven out of ten.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: My company does not have a business relationship with this vendor other than being a customer.