What is our primary use case?
I worked for a company that outsourced tasks for SingleStore. I mainly worked with one customer who was a video platform. Their primary use case was storing metadata for their videos. They offered recording and playback services for TV shows in the US and Canada, and SingleStore efficiently managed the metadata for all these recordings.
There's a wide range of professionals using SingleStore, You can find more details on their website.
How has it helped my organization?
Since it is not as costly as Oracle or other database counterparts, that's one benefit. And the speed is very fast. It supports in-memory data types, storing data on RAM for blazing-fast performance. That's the highlight; it's perfect for both OLTP and analytical workloads.
What is most valuable?
It's a distributed relational database, so it does not have a single server, it has multiple servers. Its architecture itself is fast because it has multiple nodes to distribute the workload and process large amounts of data. I heard a client processed 3.5 billion records in seven minutes! Their data ingestion is very high, and SingleStore even markets itself as the world's fastest database.
What needs improvement?
For new customers, it's very tough to start. Their documentation isn't organized, and there's no online training available. SingleStore is working on it, but that's a major drawback.
Also, technically, SingleStore needs more features on the SQL part. Most SQL boards work in MySQL, and SingleStore integrated all its sequel with MySQL, so nearly 99% of MySQL code runs on SingleStore. But features like TVF and UDL lack depth. Users have to walk into it, and SingleStore has minimal features there.
IUDF, TVF, and stored procedures are not as advanced as SQL Server's. That's one thing I would like to see improved.
For how long have I used the solution?
I worked with SingleStore just two months before resigning from my previous company. I have over two years of experience with it.
What do I think about the stability of the solution?
It is a stable solution. Any downtime I've seen was due to application or software bugs, not SingleStore. Human errors happen, but the system itself is stable.
What do I think about the scalability of the solution?
It is a highly scalable solution. SingleStore has servers, separated into two parts. One aggregates queries (gateway nodes), and the other stores data (leaf nodes).
To increase database size, you simply add more servers. There's minimal downtime during rebalancing, maybe a minute or two. You can add as many servers as you need without taking anything offline. That's what makes it highly scalable.
How are customer service and support?
We mostly handled day-to-day maintenance. But for the real heavy lifting, there's a separate team in SingleStore. It's all handled through one ticketing tool, Zendesk. You're a registered customer, you log a ticket, and they prioritize and address them accordingly.
How would you rate customer service and support?
How was the initial setup?
SingleStore offers cloud and bare-metal installations.
Cloud hosting is simple; you pay hourly and follow their cloud UI instructions. Anyone, even someone less technical, can install it.
For bare metal VMs, it might take a day for a new technical person, but an experienced one can do it in an hour. It's quite easy.
The customer I supported had an on-premises SingleStore cluster running on bare metal.
What about the implementation team?
One technical person is enough for deployment if it's not a production-grade cluster. For testing, one or two days should be max.
For production-grade clusters, you might need professional services. SingleStore also offers database architects and consultants to help design your cluster architecture, hardware selection, license units, etc. They basically do everything for you, from designing the blueprint to setting up hardware and licenses. So, professional services are highly recommended for production environments.
If you have many clusters (over 10-15), you might need a team of 3-4 people for maintenance. But for 1-2 servers, you can handle it yourself. It's easy after the initial learning curve. And best of all, no downtime! You can perform maintenance tasks online, like adding a new service ID or scaling your cluster, without impacting your business.
The product offers high availability. Two copies of data at all times, so even if one server goes down, your application stays up. That makes maintenance even easier. You can take a server down, fix it, and put it back without impacting users. This makes maintenance very easy.
As long as one server is running, you're good. The only limitation to high availability is the increased cost. You need more servers, which means more money. Think of it like this: without high availability, you'd need X servers. With it, you'd need 2X servers. Hardware costs go up.
What was our ROI?
I had a customer I worked with for five years who kept adding new customers throughout. SingleStore provides significant cost-based value to companies.
What's my experience with pricing, setup cost, and licensing?
The pricing is available on the website, https://www.singlestore.com/pr.... They have two main options: cloud installation and bare-metal installation, each with different pricing models.
For cloud services, they offer three tiers: Standard, Premium, and Dedicated. Standard starts at just $0.80 per hour. This is for the standard cloud service.
Now, for self-managed on-premises clusters, they provide free licensing up to four units. If you need premium features or enterprise support, like direct access to their support team, you'd need to purchase their enterprise license. For specific pricing on those, I recommend contacting their sales team directly.
Which other solutions did I evaluate?
I'm currently focusing on C++, building my resume for web development. I want to be a programmer and build things, not work in a service-based company. That's why I moved on. But I'm happy to help with any service-related tasks or where my two years of SingleStore experience might be useful.
What other advice do I have?
Online resources are limited since it's a new database. So, first, read the documentation to understand the basics. Then, approach them directly and explain your specific use case for the database.
Their sales team is very responsive and can help you get started. I highly recommend this database, but do your research first because online materials are scarce. Just understand the basic terms and policies in the docs, then contact them to set up your clusters.
Overall, I would rate the solution an eight out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: My company has a business relationship with this vendor other than being a customer. Partner