Degrees of Replication

When you configure a space you specify whether replication is enabled, and if it is enabled, specify the replication value using the SpaceDef object’s setReplicationCount or getReplicationCount methods. The replication value specifies whether replication is enabled, and if it is enabled, how may seeders participate in replication.

You can configure the following degrees of replication:

Zero Replication
 A value of 0 (the default value) specifies there is no replication. In this case, if one of the members that has joined the space as a seeder fails suddenly, the tuples that it was seeding disappear from the space. However, if the member leaves in an orderly manner by invoking a call to leave the space or call disconnect from the metaspace, there is no data loss.
Replication of Degree 1
 This specifies that each tuple seeded by one member of the space is also replicated by one additional other seeder of the space. If a seeder suddenly goes down, the tuples that it was seeding are automatically seeded by the nodes that were replicating them, and no data is lost.

Seeders do not have designated replicating members; instead, all of the tuples seeded by a particular member of the space are evenly replicated by all the other seeders in the space. This has the advantage that even after a seeder failure, the tuples are still evenly balanced over the remaining set of seeder members of that space. It also means that ActiveSpaces' fault-tolerance is achieved in an active-active manner.

Replication degree 2 or higher
 Higher replication degrees specify that each tuple seeded by a member of the space is replicated by two or more seeders in the space. This ensures that two or more seeder members of a space can go down (before the degree of replication can be re-built by the remaining members of the space) without any data being lost.
REPLICATE_ALL
  If you specify REPLICATE_ALL, then all of the tuples in the space are be replicated by all the seeder members of the space. This allows the fastest possible performance for Get operations on the space, at the expense of scalability: each seeder member has a coherent copy of every single tuple in the space, and can therefore perform a read operation locally, using either its seeded or replicated view of the tuple.