A quick look into the best practices for deploying Tier-1 applications usually leads to a discussion of storage design. Databases like SQL Server and Oracle are very dependent on disk storage, and database performance is tightly coupled to storage performance. There is often blanket guidance about storage array features to enable or disable. For example, most database tuning guides recommend disabling deduplication on the database storage.
Luckily, SimpliVity's deduplication works differently than every other deduplication. There is no need to turn deduplication off—unlike other platforms, it is not even possible to turn off deduplication on the SimpliVity platform. Tier-1 applications can also benefit from a few other features of the platform.
How Does Deduplication Usually Work?
Usually, an x86 CPU is used to perform deduplication, often as data moves from a small cache tier to a larger persistent tier. This is hard work for a CPU and consequently adds latency to disk writes. If this added latency causes the write cache to fill, then write performance will suffer. As a result, database performance will suffer. To be safe, the best practice is to store database files and logs on non-deduplicated storage.
What Is Different About SimpliVity Deduplication?
SimpliVity spent a lot of effort on making a custom PCIe card called the OmniStack Accelerator. This card does the deduplication without loading any CPU, removing the risk of high write latency. In a lab validation test with more than 100 VMs per node running a database workload, the application response time remained under 10ms. With no write penalty for deduplication, there is no performance risk from having deduplication turned on. In fact, many SimpliVity customers report better application performance. One contributing factor is that inline deduplication takes place before the write operation occurs, thus removing a possible bottleneck. Database files and log files can be safely stored on SimpliVity deduplicated storage without any performance risk. Be sure to follow the other recommendations about optimizing database performance.
More Considerations
One of the great things about deduplication is that it increases the effective size of the SSD tier in the OmniCube server. This benefit is the second part of storage performance. The SSD tier has a high throughput and lower latency than the hard disk tier. Using deduplication, it is more likely that reads will come from SSD and deliver faster performance.
Another important consideration is the amount of RAM in your database VM. Most database servers will use excess RAM as a disk cache, speeding up frequent disk accesses even further. SimpliVity has node configurations with up to 1.4TB of RAM per physical server available to run VMs. Another consideration is the CPU time that is available for VMs in a hyperconverged solution. By offloading the deduplication to the OmniStack Accelerator, there is more CPU time available for VMs.
SimpliVity offers a great platform for Tier-1 applications. The storage in an OmniStack cluster is always deduplicated and provides great performance for demanding applications. There are nodes with enough RAM for very large database servers. The storage cluster has minimal impact on the available CPU time for your critical VMs, and there are also many availability and disaster recovery benefits from the SimpliVity platform—but that is a story for another day.