Interface IStoreDescription

All Superinterfaces:
IDataTable
All Known Implementing Classes:
StoreDescription

public interface IStoreDescription extends IDataTable
Description of a table of the datastore.
Author:
ActiveViam
  • Field Details

    • BATCH_SIZE_PROPERTY

      static final String 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.
      Returns the list of the key fields of this store. Can be empty.
    • getFields

      List<? extends IFieldDescription> getFields()
      Description copied from interface: IDataTable
      Gets the fields of this table, ordered by field index.

      The index of a field is its 0-based position within the table.

      Specified by:
      getFields in interface IDataTable
    • getField

      default IFieldDescription getField(String fieldName)
      Description copied from interface: IDataTable
      Gets a field from this table.
      Specified by:
      getField in interface IDataTable
      Parameters:
      fieldName - the name of a field
      Returns:
      the field
    • getPartitioning

      @Nullable IPartitioningDescription 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 the optimizations to 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

      Gets the policy handling a remove operation on an unknown key.
    • getProperties

      Properties getProperties()
      Returns some additional properties.
    • 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