public class StandardStoreFeatures extends Object implements StoreFeatures
StandardStoreFeatures.Builder-customizable implementation of StoreFeatures.| Modifier and Type | Class and Description |
|---|---|
static class |
StandardStoreFeatures.Builder
The only way to instantiate
StandardStoreFeatures. |
| 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 |
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) |
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.
|
public boolean hasScan()
StoreFeatureshasScan in interface StoreFeaturespublic boolean hasUnorderedScan()
StoreFeaturesKeyColumnValueStore.getKeys(SliceQuery, StoreTransaction).hasUnorderedScan in interface StoreFeaturespublic boolean hasOrderedScan()
StoreFeaturesKeyColumnValueStore.getKeys(KeyRangeQuery, StoreTransaction).hasOrderedScan in interface StoreFeaturespublic boolean hasMultiQuery()
StoreFeaturesKeyColumnValueStore.getSlice(java.util.List, SliceQuery, StoreTransaction)hasMultiQuery in interface StoreFeaturespublic boolean hasLocking()
StoreFeaturesKeyColumnValueStore.acquireLock(com.thinkaurelius.titan.diskstorage.StaticBuffer, com.thinkaurelius.titan.diskstorage.StaticBuffer, com.thinkaurelius.titan.diskstorage.StaticBuffer, StoreTransaction)hasLocking in interface StoreFeaturespublic boolean hasBatchMutation()
StoreFeaturesKeyColumnValueStoreManager.mutateMany(java.util.Map, StoreTransaction).hasBatchMutation in interface StoreFeaturespublic boolean isKeyOrdered()
StoreFeaturesisKeyOrdered in interface StoreFeaturespublic boolean isDistributed()
StoreFeaturesisDistributed in interface StoreFeaturespublic boolean hasTxIsolation()
StoreFeatureshasTxIsolation in interface StoreFeaturespublic boolean isKeyConsistent()
StoreFeaturesisKeyConsistent in interface StoreFeaturespublic boolean hasTimestamps()
StoreFeatureshasTimestamps in interface StoreFeaturespublic TimestampProviders getPreferredTimestamps()
StoreFeaturesStoreFeatures.hasTimestamps() is
false.getPreferredTimestamps in interface StoreFeaturespublic boolean hasCellTTL()
StoreFeaturesEntry, the entry will
disappear from the storage backend after the given amount of time. See references to
EntryMetaData.TTL for example usage in Titan internals.
This is the finer-grained of the two TTL modes.hasCellTTL in interface StoreFeaturespublic boolean hasStoreTTL()
StoreFeaturesStoreMetaData.TTL. This is the coarser-grained of the two
TTL modes.hasStoreTTL in interface StoreFeaturespublic boolean hasVisibility()
StoreFeatureshasVisibility in interface StoreFeaturespublic boolean supportsPersistence()
StoreFeaturessupportsPersistence in interface StoreFeaturespublic Configuration getKeyConsistentTxConfig()
StoreFeaturesStoreFeatures.isKeyConsistent() is
false.getKeyConsistentTxConfig in interface StoreFeaturespublic Configuration getLocalKeyConsistentTxConfig()
StoreFeaturesStoreFeatures.isKeyConsistent() is false.
Backends which don't support the notion of "local" strong consistency may
return the same configuration returned by
#getKeyConsistencyTxConfig().getLocalKeyConsistentTxConfig in interface StoreFeaturespublic Configuration getScanTxConfig()
StoreFeaturesScanJob. 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.getScanTxConfig in interface StoreFeaturespublic boolean hasLocalKeyPartition()
StoreFeaturesStoreManager.getLocalKeyPartition() must
return a valid list as described in that method. If this is false, that
method will not be invoked.hasLocalKeyPartition in interface StoreFeaturespublic boolean supportsInterruption()
StoreFeaturessupportsInterruption in interface StoreFeaturesCopyright © 2012–2015. All rights reserved.