[ 
https://issues.apache.org/jira/browse/IGNITE-20564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin 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

*Implementation notes*
Example:
{code:java}
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:java}
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}
*Definition of done*
 - All storage configurations migrated to storage profiles.

  was:
*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

*Implementation notes*
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}

*Definition of done*
- All storage configurations migrated to storage profiles


> 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
>            Assignee: 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
> *Implementation notes*
> Example:
> {code:java}
> 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:java}
> 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}
> *Definition of done*
>  - All storage configurations migrated to storage profiles.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to