[
https://issues.apache.org/jira/browse/IGNITE-20564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Gusakov updated IGNITE-20564:
------------------------------------
Description:
*Motivation*
According to the results of IGNITE-20357 we need to refactor our node storage
configurations with the usage of new abstraction _storage_profile_.
Storage profile in general is a pair of two entities:
- storage engine type
- storage data space. It will be regions for _aipersist_, for example.
>From configuration point of view:
- Engine configurations must be still a part of separate configuration group
- Storage profiles must be a part of separate configuration root
Example:
{code}
rocksDb:
flushDelayMillis: 1000
regions:
lruRegion:
cache: lru
size: 256
clockRegion:
cache: clock
size: 512
aipersist:
checkpoint:
checkpointDelayMillis: 100
regions:
segmentedRegion:
replacementMode: SEGMENTED_LRU
clockRegion:
replacementMode: CLOCK
{code}
will transform to
{code}
storages:
engines:
aipersist:
checkpoint:
checkpointDelayMillis: 100
rocksDb:
flushDelayMillis: 1000
profiles:
lru_rocks:
engine: rocksDb
cache: lru
size: 256
clock_rocks:
engine: rocksDb
cache: clock
size: 512
segmented_aipersist:
engine: aipersist
replacementMode: SEGMENTED_LRU
clock_aipersist:
engine: aipersist
replacementMode: CLOCK
{code}
> Implement storage profile configurations approach
> -------------------------------------------------
>
> Key: IGNITE-20564
> URL: https://issues.apache.org/jira/browse/IGNITE-20564
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Gusakov
> Priority: Major
> Labels: ignite-3
>
> *Motivation*
> According to the results of IGNITE-20357 we need to refactor our node
> storage configurations with the usage of new abstraction _storage_profile_.
> Storage profile in general is a pair of two entities:
> - storage engine type
> - storage data space. It will be regions for _aipersist_, for example.
> From configuration point of view:
> - Engine configurations must be still a part of separate configuration group
> - Storage profiles must be a part of separate configuration root
> Example:
> {code}
> rocksDb:
> flushDelayMillis: 1000
> regions:
> lruRegion:
> cache: lru
> size: 256
> clockRegion:
> cache: clock
> size: 512
>
> aipersist:
> checkpoint:
> checkpointDelayMillis: 100
> regions:
> segmentedRegion:
> replacementMode: SEGMENTED_LRU
> clockRegion:
> replacementMode: CLOCK
> {code}
> will transform to
> {code}
> storages:
> engines:
> aipersist:
> checkpoint:
> checkpointDelayMillis: 100
> rocksDb:
> flushDelayMillis: 1000
> profiles:
> lru_rocks:
> engine: rocksDb
> cache: lru
> size: 256
>
> clock_rocks:
> engine: rocksDb
> cache: clock
> size: 512
>
> segmented_aipersist:
> engine: aipersist
> replacementMode: SEGMENTED_LRU
>
> clock_aipersist:
> engine: aipersist
> replacementMode: CLOCK
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)