
Data replication means storing complete, independent copies of the same data on separate machines, so that losing any one of them doesn't mean losing the data. It's the older, simpler counterpart to erasure coding, and it's still the mechanism behind some of the most widely used distributed systems in production today, including AIOZ Storage's own network. This article covers how replication actually works, the real choices a system makes when implementing it, and the concrete numbers systems like HDFS and Cassandra publish for how many copies they keep.
TL;DR:
At its simplest, replication means the same data exists in more than one place at once, maintained as identical, complete copies rather than split into fragments. If one copy becomes unreachable, whether from a disk failure, a network partition, or an entire data center going offline, any of the other copies can serve the same data without interruption. That's the whole mechanism: no reconstruction step, no math to recover a missing piece, just another full copy sitting somewhere else, ready to be read directly.
Apache HDFS's own design documentation states the reasoning plainly: "Hardware failure is the norm rather than the exception" in a system built from enough machines. Replication isn't a defense against a rare edge case, it's the standard response to the fact that, at scale, some component is failing at any given moment, and the system has to keep working anyway.
How a system decides when a write actually "counts" as successful is a real design choice with a real tradeoff, not an implementation detail. In synchronous replication, a write isn't acknowledged as complete until every replica has confirmed it received the data, guaranteeing that a failure right after the write leaves no committed data unreplicated, at the cost of the write waiting on the slowest replica to respond, a real latency cost that grows with geographic distance between replicas. In asynchronous replication, the primary copy acknowledges the write immediately and propagates it to the other replicas afterward, keeping writes fast but opening a real window, however small, where a failure on the primary before replication finishes means that most recent write is gone.
Neither is a strictly better choice. Systems where losing even the most recent write is unacceptable, financial transaction systems being the standard example, lean synchronous despite the latency cost. Systems spanning large geographic distances, where waiting on every replica would make every write painfully slow, tend to lean asynchronous and accept the small risk window as the cost of speed.
The number of copies a system keeps is its replication factor, and real production systems publish real numbers for it. HDFS defaults to a replication factor of three, and its own documentation describes exactly how those three copies get placed, not randomly: "when the replication factor is three, HDFS's placement policy is to put one replica on the local machine... another replica on a node in a different (remote) rack, and the last on a different node in the same remote rack." That placement is deliberate: it protects against a single machine failing and against an entire rack failing, while keeping most of the write traffic within one rack for performance. Apache Cassandra follows the same pattern with its own default replication factor of three per data center, the number of copies chosen specifically so the loss of any one node, or even two, still leaves the data recoverable from the third.
Three isn't a universal constant, it's a common default because it balances fault tolerance against storage cost reasonably well, and different systems tune it up or down based on how much failure they need to tolerate and how much storage overhead they're willing to pay for it.
Replication's real advantage is simplicity: no reconstruction math, no minimum-fragment threshold to reason about, just another full copy sitting somewhere else. Its real cost is storage overhead that scales linearly with the number of copies, three copies means three times the storage of the original data, full stop. Erasure coding trades that simplicity for efficiency, splitting data into fragments where only a subset are needed to reconstruct it, achieving comparable or better fault tolerance at a meaningfully lower storage multiple, the kind of tradeoff covered in full in that companion article. Neither approach is objectively correct. It's a real design decision every distributed storage system has to make, and different systems land in different places on purpose.
AIOZ Storage's own documentation states plainly that its underlying network "inherently supports replication by default," the same category of mechanism covered throughout this article, not erasure coding. That places AIOZ Storage's redundancy model alongside HDFS and Cassandra's general approach: complete, independent copies across its decentralized network of nodes rather than fragment-based reconstruction. AIOZ's documentation doesn't publish a specific replication factor or node-placement policy the way HDFS does, so a precise number isn't citable here, but the underlying mechanism, full copies rather than erasure-coded fragments, is confirmed directly.
What is data replication in simple terms?
Keeping complete, identical copies of the same data on separate machines, so that losing one machine doesn't mean losing the data, since another full copy is still available elsewhere.
What's the difference between synchronous and asynchronous replication?
Synchronous replication waits for every replica to confirm a write before acknowledging it as complete, guaranteeing consistency at the cost of latency. Asynchronous replication acknowledges the write immediately and replicates afterward, faster but with a small risk window if the primary fails before replication finishes.
What replication factor does HDFS use by default?
Three. HDFS's own documentation describes placing those three copies deliberately across different racks, so that both a single machine failure and an entire rack failure still leave the data recoverable.
Is replication better than erasure coding?
Neither is universally better. Replication is simpler to reason about with no reconstruction step, at a real storage-cost premium that scales linearly with the number of copies. Erasure coding is more storage-efficient for the same fault tolerance, at the cost of real reconstruction complexity.
Why do distributed systems treat hardware failure as normal instead of an exception?
Because at the scale most distributed systems run, made up of enough individual machines, something is statistically likely to be failing at any given moment. HDFS's own design documentation states this directly: hardware failure is the norm, not the exception, which is the entire justification for building replication in from the start.
Does AIOZ Storage use data replication?
Yes. AIOZ Storage's own documentation states its network "inherently supports replication by default," the mechanism covered in this article, storing complete copies rather than erasure-coded fragments.
What replication factor does AIOZ Storage use?
Not publicly disclosed. AIOZ's documentation confirms replication is the mechanism but doesn't publish a specific number of copies or a placement policy.

AIOZ Storage has no official MCP server yet. Here is a working MCP server for AIOZ Storage, built with the official Python SDK and boto3, tools included.

What is an MCP server: a standard letting AI agents like Claude use tools and data through one protocol. How MinIO and Azure apply it to object storage.

S3 access logs vs CloudTrail: AWS recommends CloudTrail, but each one catches real events the other misses. Speed, cost, and coverage, compared directly.

Eventual vs strong consistency: whether a read right after a write sees the new data immediately. S3 ran on the first model for 14 years, then changed it.

Bucket policy vs IAM policy: one attaches to the resource, one attaches to the identity. What each can do that the other can't, and how S3 evaluates both.

SSE-S3 vs SSE-KMS vs SSE-C: who manages the encryption key, and what that decision actually costs you. Includes the real 2026 default change to SSE-C.