Interface IStoreDescriptionBuilder.INumaBehavior<BuilderT>
- Type Parameters:
BuilderT- the builder to add NUMA behavior
- Enclosing interface:
IStoreDescriptionBuilder
public static interface IStoreDescriptionBuilder.INumaBehavior<BuilderT>
The interface to specify what policy to use to pick on which NUMA nodes the data will be
stored.
- Author:
- ActiveViam
-
Method Summary
Modifier and TypeMethodDescriptioninduceFromReference(String ownedReference) Tells the builder that each partition of this store should be located in the same NUMA node as the partition it references viaownedReference.Tells the builder that the NUMA node of each partition should be:partitionId % AtotiPools.getPoolCount().withFieldPartitioning(String... fields) Tells the builder to use the partitioning on the givenfieldsas theselector.withSelector(String description) Tells the builder to use theselectordefined in thedescription.withSelector(String[] onFields, IPartitioningFunctionDescription[] withFunctions) Tells the builder to use theselectordepending on the givenonFields, and use the givenwithFunctions.
-
Method Details
-
induceFromReference
Tells the builder that each partition of this store should be located in the same NUMA node as the partition it references viaownedReference.- Parameters:
ownedReference- the reference that should decide the NUMA node of this store- Returns:
- the builder
-
useStorePartitioning
BuilderT useStorePartitioning()Tells the builder that the NUMA node of each partition should be:partitionId % AtotiPools.getPoolCount().- Returns:
- the builder
-
withSelector
Tells the builder to use theselectordefined in thedescription. Logically, the partitioning of this store mustimplythe defined selector, so that no partition is asked to be in two different NUMA nodes.Example:
withSelector("modulo64(FIELD)").- Parameters:
description- the description of the NUMA Node selector, should take the same form as apartitioningdescription- Returns:
- the builder
-
withSelector
Tells the builder to use theselectordepending on the givenonFields, and use the givenwithFunctions.- Parameters:
onFields- the fields on which the selector iswithFunctions- the functions to pick the NUMA node for a partition- Returns:
- the builder
-
withFieldPartitioning
Tells the builder to use the partitioning on the givenfieldsas theselector.Example: the store is partitioning by modulo16 on tradeId and value on date.
withFieldPartitioning("tradeId")means that the NUMA node is given by(tradeId % 16) % AtotiPools.getPoolCount().- While
withFieldPartitioning("tradeId", "date")is equivalent touseStorePartitioning().
- Parameters:
fields- the partitioning fields used in the selector- Returns:
- the builder
-