What is our primary use case?
SingleStore serves as our main production database, which includes online transaction processing, OLTP, data management, streaming, Kafka streams, AWS S3 streams, and data manipulation and statistics.
One of the best use cases we implement with SingleStore is streaming data from different locations, such as information flowing into our Kafka stream, where SingleStore pulls that data from Kafka directly into the database, which is very helpful and unique. Another use case is that we have batch operations dumping files into our AWS S3, where SingleStore stored procedures can read this data and perform a specific ETL for this data into our main database.
That is the most unique case I would say, but we are also using SingleStore as our main database, which has to handle a lot of online traffic and online transactions with large amounts of data and very high throughput.
What is most valuable?
The pipeline to Kafka and AWS are very helpful for us, which is a main scenario for many SingleStore users, and being an in-memory database allows for full tables to be stored in memory for very fast access. Additionally, the ability to use disk-based column stores to handle very large amounts of data that cannot fit into memory is also great. A very nice and useful feature is its compatibility with MySQL API, letting any system that can connect to MySQL also connect to SingleStore, thus solving many interoperability issues with different systems.
The memory database is really very important for us because we have some relatively large tables that need very fast access, fast queries, and even fast writes, making memory tables convenient and allowing us to produce very high throughput. On the other hand, we have some very large data tables, data warehouse styles that should not and do not fit into memory, where we usually use disk-based column stores, allowing us to store very large amounts of data and only stream some of them to the memory tables.
What needs improvement?
Improvement for SingleStore is a tough question, as I think many of the new features are taking this path and allowing more AI and AI-related capabilities, which include RAG, support, and specific methods of exporting multiple rows of data into S3 for processing by machine learning systems. The main issue we faced when we used our self-managed system was running incremental backups, which was a bit difficult to setup in our specific use case, but this is no longer an issue with Helios, as Helios handles this automatically.
For how long have I used the solution?
I have been using SingleStore for about three and a half years since I joined Zoom, and Zoom itself has been using SingleStore for about five years, if not even a little bit more than that.
What do I think about the stability of the solution?
I do not have exact numbers, but our downtime is significantly reasonable, and we do not have significant issues that would not have occurred with different database engines. I do not have a frame of comparison of SingleStore compared to other databases within this specific company, but from my prior experience, the performance and usability of SingleStore as a main database engine are significantly superior to other both paid and open-source solutions.
SingleStore is as stable as any RDBMS database can be.
What do I think about the scalability of the solution?
SingleStore's scalability is impressive, as the process model includes master aggregator and slave aggregators or child aggregators, making it very well scalable both vertically and horizontally. I feel that using SingleStore on either self-hosted or managed service is a truly scalable solution.
How are customer service and support?
Customer support is pretty nice; we are on the low-level tier of support since that is what we pay for, and we receive pretty good support. We have our own account manager who keeps us informed of the latest solutions and improvements in the system, and we also have support personnel who work closely with us when we have issues or questions, so we are very happy about that.
Which solution did I use previously and why did I switch?
Personally, I have used many different solutions including MySQL, Oracle, MongoDB, and many others. Specifically at Zoom, the company was using a different Microsoft-based solution before the switch to SingleStore, which I was not part of the decision process for, as that happened before my term in the company. The switch was part of a larger organizational move towards more modern technologies and was generally considered a successful transfer.
Until recently, we had a self-managed installation on our private cloud on AWS, or our private VPC on AWS. We have recently migrated to SingleStore's managed service called Helios, which I would describe as public cloud, but with the necessary separation between clients, and the transfer itself was smooth, as far as database transfers go, so this deployment will probably run with us for the next few years.
How was the initial setup?
Using SingleStore and having it as our main data partner is important for us, as we are getting very good responses from the company itself, along with good throughput, good performance, and a reasonable price tag, coupled with pretty decent business connections. We have bimonthly meetings with them, and specific support people that we can contact for issues, questions about implementation, and just recently, we migrated to the managed cloud called Helios, which provides a big performance boost regarding performance compared to the price tag.
What about the implementation team?
We are working with a local partner who represents SingleStore in my country, and this partner did all the negotiations regarding pricing and worked with the licensing team at SingleStore, making everything very smooth. The setup cost was surprisingly good, and our transfer to Helios was almost seamless, as far as databases go, and it was not expensive. SingleStore provided us with working credits for our POCs and testing, which contributed to a very smooth process overall that I am very happy with.
What was our ROI?
I am unable to share such information for two reasons: the confidentiality of my company and the fact that the transfer to SingleStore from a different database engine happened before my time with the self-managed system. We have only recently moved to the managed service, so we do not have any metrics on that as well, but again, I cannot provide any specific metrics due to my company's confidentiality.
What's my experience with pricing, setup cost, and licensing?
The setup cost was surprisingly good, and our transfer to Helios was almost seamless, as far as databases go, and it was not expensive.
Which other solutions did I evaluate?
I did not evaluate other options within this specific company, although I know that other options were evaluated; however, I have no information on that process.
What other advice do I have?
My main advice for others looking into using SingleStore is to consider working first with the managed service as it offers significantly more information, features, and ease of use compared to the self-hosted option. SingleStore supports very complex stored procedures, which we use frequently, but I would recommend that one carefully consider the use cases when using stored procedures, as this decouples the code from the main application, making it harder to manage—a scenario that applies not just to SingleStore but to any RDBMS that supports stored procedures.
SingleStore is an excellent database engine set up to handle very large loads of both transactions and data, and it is very easy to use. Its compatibility with the MySQL interface is essential for us, and it has strong connections and pipelines to Kafka, AWS systems, and similar tools. I am overall very happy with the product. I would rate this review as a nine 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?
Amazon Web Services (AWS)