Interface IStoreDescription
- All Superinterfaces:
IDataTable
- All Known Implementing Classes:
StoreDescription
Description of a table of the datastore.
- Author:
- ActiveViam
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe name of the property used to change the size of a transaction batch. -
Method Summary
Modifier and TypeMethodDescriptionintGets the chunk size required for this store.Returns how to handle adding two records with the same key fields.default IFieldDescriptionGets a field from this table.List<? extends IFieldDescription> Gets the fields of this table, ordered by field index.Deprecated, for removal: This API element is subject to removal in a future version.Gets the numa selector.Returns theoptimizationsto use on fields of this schema.Gets the description of the partitioning on this store (null if there is no partitioning in place).
A partitioning expression contains the partition key (one or several fields that belongs to a store) and a partitioning policy (will there be one partition per distinct value of the partition key, or some bucketing based on the hash of the partition key)
The schema can be partitioned by several such expressions, one per store at most.Returns some additionalproperties.Gets the policy handling a remove operation on an unknown key.booleanSpecifies to store the indexes of this store in a compressed format, in order to reduce the memory usage.booleanStates whether a record should be updated when it contains exactly the same content as the previously existing record.Methods inherited from interface com.activeviam.database.api.schema.IDataTable
getFieldIndex, getFieldNames, getKeyFieldNames, getName, hasField
-
Field Details
-
BATCH_SIZE_PROPERTY
The name of the property used to change the size of a transaction batch.- See Also:
-
-
Method Details
-
getKeyFields
@Deprecated(since="6.1.0", forRemoval=true) @DeprecatedApi(forRemoval="6.2.0", rationale="Renamed into getKeyFieldNames()") default List<String> getKeyFields()Deprecated, for removal: This API element is subject to removal in a future version.UseIDataTable.getKeyFieldNames()instead.Returns the list of the key fields of this store. Can be empty. -
getFields
List<? extends IFieldDescription> getFields()Description copied from interface:IDataTableGets the fields of this table, ordered by field index.The index of a field is its 0-based position within the table.
- Specified by:
getFieldsin interfaceIDataTable
-
getField
Description copied from interface:IDataTableGets a field from this table.- Specified by:
getFieldin interfaceIDataTable- Parameters:
fieldName- the name of a field- Returns:
- the field
-
getPartitioning
Gets the description of the partitioning on this store (null if there is no partitioning in place).
A partitioning expression contains the partition key (one or several fields that belongs to a store) and a partitioning policy (will there be one partition per distinct value of the partition key, or some bucketing based on the hash of the partition key)
The schema can be partitioned by several such expressions, one per store at most.Expression examples:
- value(product) | value(currency)
- modulo8(tradeId)
-
getChunkSize
int getChunkSize()Gets the chunk size required for this store.- Returns:
- the wanted chunk size, or -1 if none defined
- See Also:
-
getOptimizationDescriptions
Collection<IOptimizationDescription> getOptimizationDescriptions()Returns theoptimizationsto use on fields of this schema. -
updateOnlyIfDifferent
boolean updateOnlyIfDifferent()States whether a record should be updated when it contains exactly the same content as the previously existing record. -
getDuplicateKeyHandler
IDuplicateKeyHandler getDuplicateKeyHandler()Returns how to handle adding two records with the same key fields. -
getRemoveUnknownKeyBehavior
IStoreDescriptionBuilder.IRemoveUnknownKeyListener getRemoveUnknownKeyBehavior()Gets the policy handling a remove operation on an unknown key. -
getProperties
Properties getProperties()Returns some additionalproperties. -
getNumaSelector
INumaSelectorDescription getNumaSelector()Gets the numa selector. -
shouldCompressIndexes
boolean shouldCompressIndexes()Specifies to store the indexes of this store in a compressed format, in order to reduce the memory usage.It is false by default, as it entails a performance cost (additional computation is needed to "decompress", and reading a key may require additional memory accesses).
Therefore, you should set this option to true only if you encounter memory issues.
- Returns:
- true if we should attempt to reduce memory usage at the cost of performance, false otherwise
-
IDataTable.getKeyFieldNames()instead.