DataCore Divides & Conquers to Increase SQL Server Performance

DataCore_LogoWhen it comes to IT, performance is not always solved by throwing more resources at the problem. A lot of us might be familiar with problems that arise when over provisioning vCPUs on a vSphere host. The host ends up spending more time trying to schedule and coordinate the vCPU tasks than it does to actually perform the tasks.

Recently at Tech Field Day 15 we received a briefing from DataCore. As part of my preparation, I put together a primer on the company. As it turns out, it was useless – in a good way though. DataCore has recently launched a brand new product called MaxParallel, which is the first in a series of solutions. So what problem do they solved? Essentially they work around or minimize bottlenecks when it comes to processing workloads. The first product in the series is aimed squarely at SQL Server running on Windows.

UNDERSTANDING THE PROBLEM

DataCore - Max ParallelsSay you have a four core SQL Server instance running. You would think that all four cores would be processing data at once, and that you will have four times the performance when compared to a single core instance. Well that is only partially true. Yes, multiple cores can work on datasets at the same time, however the true bottleneck lies in the I/O portion. Once the results are delivered, that data needs to be returned to disk, and according to Datacore, there is only a single I/O queue to be used.

What they have done is allowed for multiple I/O queues to be used. By using resources more efficiently, the required resources can be scaled down. If you have a chance to watch the presentation, you can see that testing is still required to find that “sweet spot”. Ideally, you want to keep your cores as busy as possible, without overburdenning them.

WHAT ARE THE BENEFITS

Obviously improved performance is a big benefit when it comes to implementing this product. But let’s dive into that a bit more. If you can’t reach the numbers that you need for processing (e.g. transactions per minute), then you either have to scale the resources in your machine up, or you need to scale your system out. Neither of these are necessarily cheap, and building a scale-out distributed system to handle SQL Server queries isn’t exactly a walk in the park. Having to avoid that investment is one key benefit.

Another direct benefit is reduced cost. SQL Server is licensed by the core. If you can now squeeze even more performance out of each core, you may end up actually needing less cores. One test case that was presented showed a system being scaled down to 8 cores from 20. If you already have your licesnsing purchased, then you may save on Software Assurance costs. Regardless, when it comes time migrate that database to a new system, there can be substantial savings there.

CLOSING THOUGHTS

We weren’t able to get too deep into the weeds with this product, other than to say it uses a file system driver. This driver allows for fingerprinting of workloads, which is where the “series” of products comes in. If you are able to figure out what a workload is, and then properly distribute the workload … well that really opens the doors. Off the top of my head, I can see multiple uses cases. Think of applications such as Exchange or Dynamics. Heck, even something like an antivirus product that needs to scan every file on a system could see substantial savings

You can check out DataCore’s videos on the Tech Field Day 15 web page.

Disclaimer: I was invited to participate in Tech Field Day as a delegate. All of my expenses, including food, transportation, and lodging were covered by Gestalt IT. I did not receive any compensation to write this post, nor was I requested to write this post. Anything written above was on my own accord.

2 thoughts on “DataCore Divides & Conquers to Increase SQL Server Performance

Leave a Reply

%d bloggers like this: