Package oracle.kv

Class Consistency

  • All Implemented Interfaces:
    Serializable, oracle.kv.impl.util.FastExternalizable
    Direct Known Subclasses:
    Consistency.Time, Consistency.Version

    public abstract class Consistency
    extends Object
    implements oracle.kv.impl.util.FastExternalizable, Serializable
    Used to provide consistency guarantees for read operations.

    In general, read operations may be serviced either at a Master or Replica node. When serviced at the Master node, consistency is always absolute. If absolute consistency is required, ABSOLUTE may be specified to force the operation to be serviced at the Master. For other types of consistency, when the operation is serviced at a Replica node, the transaction will not begin until the consistency policy is satisfied.

    The Consistency is specified as an argument to all read operations, for example, get.

    See Also:
    Serialized Form
    • Field Detail

      • NONE_REQUIRED

        public static final Consistency NONE_REQUIRED
        A consistency policy that lets a transaction on a replica using this policy proceed regardless of the state of the Replica relative to the Master.
      • ABSOLUTE

        public static final Consistency ABSOLUTE
        A consistency policy that requires that a transaction be serviced on the Master so that consistency is absolute.
      • NONE_REQUIRED_NO_MASTER

        @Deprecated
        public static final Consistency NONE_REQUIRED_NO_MASTER
        Deprecated.
        as of 4.3, use NONE_REQUIRED or read zones instead
        A consistency policy that requires that a read operation be serviced on a replica; never the Master. When this consistency policy is used, the read operation will not be performed if the only node available is the Master.

        For read-heavy applications (ex. analytics), it may be desirable to reduce the load on the master by restricting the read requests to only the replicas in the store. It is important to note however, that the secondary zones feature is preferred over this consistency policy as the mechanism for achieving this sort of read isolation. But for cases where the use of secondary zones is either impractical or not desired, this consistency policy can be used to achieve a similar effect; without employing the additional resources that secondary zones may require.

    • Method Detail

      • toByteArray

        public byte[] toByteArray()
        Returns this Consistency as a serialized byte array, such that fromByteArray(byte[]) may be used to reconstitute the Consistency. Values returned by calls to this method can be used with current and newer releases, but are not guaranteed to be compatible with earlier releases.
      • fromByteArray

        public static Consistency fromByteArray​(byte[] keyBytes)
        Deserializes the given bytes that were returned earlier by toByteArray() and returns the resulting Consistency. Values created with either the current or earlier releases can be used with this method, but values created by later releases are not guaranteed to be compatible.
      • getName

        public abstract String getName()
        Returns the name used to identify the policy.