public interface StoreFeatures
Modifier and Type | Method and Description |
---|---|
Configuration |
getKeyConsistentTxConfig()
Get a transaction configuration that enforces key consistency.
|
Configuration |
getLocalKeyConsistentTxConfig()
Get a transaction configuration that enforces local key consistency.
|
TimestampProviders |
getPreferredTimestamps()
If this storage backend supports one particular type of data
timestamp/version better than others.
|
Configuration |
getScanTxConfig()
Get a transaction configuration suitable for reading data into a
ScanJob . |
boolean |
hasBatchMutation()
Whether this storage backend supports batch mutations via
KeyColumnValueStoreManager.mutateMany(java.util.Map, StoreTransaction) . |
boolean |
hasCellTTL()
Returns true if this storage backend support time-to-live (TTL) settings for column-value entries.
|
boolean |
hasConsistentScan()
Whether this storage backend supports a consistent key order among different scans.
|
boolean |
hasLocalKeyPartition()
Whether this storage backend has a (possibly improper) subset of the
its accessible data stored locally, that is, partially available for
I/O operations without necessarily going over the network.
|
boolean |
hasLocking()
|
boolean |
hasMultiQuery()
Whether this storage backend supports query operations on multiple keys
via
KeyColumnValueStore.getSlice(java.util.List, SliceQuery, StoreTransaction) and KeyColumnValueStore.getMultiSlices(MultiKeysQueryGroups, StoreTransaction) |
boolean |
hasOptimisticLocking()
Whether the store will commit pending mutations optimistically and make other pending changes
to the same cells fail on tx.commit() (true) or will fail pending mutations pessimistically on tx.commit()
if other parallel transactions have already marked the relevant cells dirty.
|
boolean |
hasOrderedScan()
Whether this storage backend supports global key scans via
KeyColumnValueStore.getKeys(KeyRangeQuery, StoreTransaction) . |
boolean |
hasScan()
|
boolean |
hasStoreTTL()
Returns true if this storage backend supports time-to-live (TTL) settings on a per-store basis.
|
boolean |
hasTimestamps()
Returns true if column-value entries in this storage backend are annotated with a timestamp,
else false.
|
boolean |
hasTxIsolation()
Whether this storage backend's transactions support isolation.
|
boolean |
hasUnorderedScan()
Whether this storage backend supports global key scans via
KeyColumnValueStore.getKeys(SliceQuery, StoreTransaction) . |
boolean |
hasVisibility()
Returns true if this storage backend supports entry-level visibility by attaching a visibility or authentication
token to each column-value entry in the data store and limited retrievals to "visible" entries.
|
boolean |
isDistributed()
Whether this storage backend writes and reads data from more than one
machine.
|
boolean |
isKeyConsistent()
Whether this storage backend provides strong consistency within each
key/row.
|
boolean |
isKeyOrdered()
Whether this storage backend preserves key locality.
|
boolean |
supportsInterruption()
Whether calls to this manager and its stores may be safely interrupted
without leaving the underlying system in an inconsistent state.
|
boolean |
supportsPersistence()
Whether the backend supports data persistence.
|
boolean hasScan()
boolean hasUnorderedScan()
KeyColumnValueStore.getKeys(SliceQuery, StoreTransaction)
.boolean hasConsistentScan()
KeyColumnValueStore.getKeys(MultiSlicesQuery, StoreTransaction)
boolean hasOrderedScan()
KeyColumnValueStore.getKeys(KeyRangeQuery, StoreTransaction)
.boolean hasMultiQuery()
KeyColumnValueStore.getSlice(java.util.List, SliceQuery, StoreTransaction)
and KeyColumnValueStore.getMultiSlices(MultiKeysQueryGroups, StoreTransaction)
boolean hasLocking()
boolean hasBatchMutation()
KeyColumnValueStoreManager.mutateMany(java.util.Map, StoreTransaction)
.boolean isKeyOrdered()
boolean isDistributed()
boolean hasTxIsolation()
boolean hasLocalKeyPartition()
StoreManager.getLocalKeyPartition()
must
return a valid list as described in that method. If this is false, that
method will not be invoked.boolean isKeyConsistent()
boolean hasTimestamps()
TimestampProviders getPreferredTimestamps()
hasTimestamps()
is
false.boolean hasCellTTL()
Entry
, the entry will
disappear from the storage backend after the given amount of time. See references to
EntryMetaData.TTL
for example usage in JanusGraph internals.
This is the finer-grained of the two TTL modes.boolean hasStoreTTL()
StoreMetaData.TTL
. This is the coarser-grained of the two
TTL modes.boolean hasVisibility()
boolean supportsPersistence()
Configuration getKeyConsistentTxConfig()
isKeyConsistent()
is
false.Configuration getLocalKeyConsistentTxConfig()
isKeyConsistent()
is false.
Backends which don't support the notion of "local" strong consistency may
return the same configuration returned by
getKeyConsistentTxConfig()
.Configuration getScanTxConfig()
ScanJob
. Transactions opened on this config will only be
used to read data, not to write it, and they'll be rolled back
when those reads are completed. The configuration returned by this
method should disable transaction isolation, if the store supports it.boolean supportsInterruption()
boolean hasOptimisticLocking()
Copyright © 2012–2024. All rights reserved.