Deduplication, the process of identifying redundant data segments between separate files, is moving its way through the storage infrastructure. The next deduplication targets are primary storage systems and all-flash arrays. As we saw in a recent poll Storage Switzerland conducted, the number one concern is performance impact. You want deduplication, but you don't want it to impact your applications' performance.
Overcoming performance problems is more than just throwing more processing power at the problem. You need intelligent design of the deduplication logic itself. Certainly more processing power helps. As most storage systems upgrade to the latest Intel processors, they will have a new lease on life when it comes to providing all the storage services that you expect from your storage system, like snapshots, replication, and cloning.
Deduplication is a little different though, because there is a database-like lookup that must occur with most deduplication technologies. Anytime there is a lookup, the processor's speed becomes less important because it has to wait on the device that holds the table that performs the lookup. The device's speed becomes more important than processing power.
[ Learn about The Storage Problem Technology Can't Solve. ]
What causes the deduplication lookup? Most deduplication technologies create a table to store information about unique and similar data. As data is sent to a device with deduplication enabled, that data is segmented and then given a hash code. Think of it as a unique serial number. The data is then stored and the serial number or hash code is stored in the table mentioned above. As more data is sent to the device, it is also segmented and given a code. If that code matches a previous code then it is identical data. The table is updated, but the redundant data is not stored. This is where your capacity savings comes from. It is also where your potential performance bottleneck comes from.
As more and more data is stored on the system, that table grows in size. The more unique the data is, the more that table will grow, and, of course, the more total data there is, the more that table will grow. This is important when we talk about deduplication in primary storage. Primary storage does not have near the level of redundancy that backup data does. As a result, the number of entries in the hash table can be dramatically larger than it would be in a backup environment.
Why is this important? It impacts the type of storage device where you can store the lookup table. Most vendors, aware that the speed of the device where the deduplication table is stored is an issue, try to store the entire table in RAM. There is no waiting, but there is a cost and capacity issue
What happens when the number of entries, or the total dataset under management, becomes so large that the deduplication lookup table gets too big to store in RAM? You have to page to a hard disk or SSD, so, essentially, RAM becomes a cache. The problem is that normal cache logic won't work in this situation. This is not a first-in, first-out scenario. You need to verify uniqueness across the entire dataset, not just the most recently stored data.
As we will cover in our upcoming webinar "What is Breaking Deduplication?" if RAM is not used properly, then that means a repeated trip to the hard disk or SSD AND it means that the powerful processor in the storage system has to wait. Its extra processing power--and the money you spent on it--goes to waste.
Follow Storage Switzerland on Twitter
Big data places heavy demands on storage infrastructure. In the new, all-digital Big Storage issue of InformationWeek Government, find out how federal agencies must adapt their architectures and policies to optimize it all. Also, we explain why tape storage continues to survive and thrive.