How Vicinity Manages Replication and Erasure Coding for Protection and Performance

In a previous blog we delved into how Vicinity scales capacity and performance. There is one other aspect to performance that is often overlooked, and it’s related to data protection policies: replication and erasure coding.

The way Vicinity handles replication may be different than you’re used to. So let’s settle in and talk about how Vicinity does it.

Not your usual replication

Aside from having a redundant copy of data in case of emergency, replication can give users in another location faster access to active data. An entire copy of data can be set on one rack or one site, and a different set in a different region.

Resiliency levels – your keys to control

Vicinity allows you to set a range of objectives depending on your organization’s needs, including capacity, performance, and protection.

In the protection section, you can set the resiliency level of any volume you are creating. This dictates the number of replicas created from a given piece of data.

The lowest is 1, or only one copy of a volume. The highest is 8 synchronous copies of data, which means Vicinity acts in a RAID 1-like manner for each 1MB chunk of data.  Each copy will be placed on a different node, so that your if a device or node goes down, you still have access to your data.

For example, if you set the resiliency level at 3, each 1MB chunk is independently placed across the designated set of disks for that volume. If that placement doesn’t meet the needed performance level, then each offending copy of data is moved to faster storage until the objective you require has been met.

This process happens independently for each copy of each 1MB chunk, so the data that is read will have one copy in a location that satisfies performance at least cost, and the other copies will be moved to hard drives as they are not needed to maintain the performance profile.

For writes, each 1MB chunk that is written will have all its copies on fast enough media to satisfy the performance targets.

How erasure coding helps

Any hardware or cloud storage can be used by Vicinity, including erasure-coded, object-based cloud storage.

Erasure coding is an excellent technology for archival storage, but can present performance and bandwidth challenges for frequently accessed data. When profiled by Vicinity, erasure-coded storage will appear to be performing poorly, so Vicinity reserves it for replicas of data that do not demand high speeds.

Using replication and erasure coding in the best possible way to meet performance needs and is another way Vicinity ensures efficiency and agility in the infrastructure, instead of locking users in to a single architecture or flavor of hardware.

And of course, these features help meet data protection and business continuity objectives.

ioFABRIC Vicinity – keeping your data fast and protected

Vicinity inherently creates a “risk-free” architecture, in that storage resources can be added or decommissioned whenever needed, without downtime and without loss of data.

By intelligently managing replication for resiliency and performance of active data, and using erasure-coded storage in the ideal way for archival data, we can ensure data is always available and always protected.

[gravityform id="47" title="false" description="false" tabindex="64"]
[gravityform id="62" title="false" description="false" tabindex="20"]
[gravityform id="60" title="false" description="false" tabindex="20"]
[gravityform id="58" title="false" description="false" tabindex="20"]
[gravityform id="47" title="false" description="false" tabindex="30"]
[gravityform id="47" title="false" description="false" tabindex="20"]
[gravityform id="39" title="false" description="false" tabindex="50"]
[gravityform id="19" title="false" description="false" tabindex="10"]