You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2022/06/20 07:10:00 UTC

[jira] [Assigned] (IGNITE-17149) Separation of the PageMemoryStorageEngineConfigurationSchema into in-memory and persistent

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

Kirill Tkalenko reassigned IGNITE-17149:
----------------------------------------

    Assignee: Kirill Tkalenko

> Separation of the PageMemoryStorageEngineConfigurationSchema into in-memory and persistent
> ------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-17149
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17149
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Kirill Tkalenko
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-alpha6
>
>
> *Problem*
> At the moment, the *org.apache.ignite.internal.storage.pagememory.configuration.schema.PageMemoryStorageEngineConfigurationSchema* contains configuration for in-memory and persistent *org.apache.ignite.internal.pagememory.configuration.schema.PageMemoryDataRegionConfigurationSchema*, which can be inconvenient for the user for several reasons:
>  * *PageMemoryDataRegionConfigurationSchema* contains the configuration for in-memory and the persistent case, which can be confusing because it's not obvious which properties to set for each;
>  * User does not have the ability to set a different size *PageMemoryStorageEngineConfigurationSchema#pageSize* for in-memory and the persistent case;
>  * When creating a table through SQL, it would be more convenient for the user to simply specify the engine and use the default region than specify the data region, let's look at the examples.
> {code:java}
> CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE pagememory dataRegion='in-memory' 
> CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE pagememory dataRegion='persistnet'{code}
> {code:java}
> CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE in-memory-pagememory
> CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255)) ENGINE persistnet-pagememory
> {code}
> *Implementation proposal*
> Divide by two (in-memory and persistent):
> * *org.apache.ignite.internal.pagememory.configuration.schema.PageMemoryDataRegionConfigurationSchema*
> * *org.apache.ignite.internal.storage.pagememory.configuration.schema.PageMemoryStorageEngineConfigurationSchema*
> * *org.apache.ignite.internal.storage.pagememory.PageMemoryStorageEngine*



--
This message was sent by Atlassian Jira
(v8.20.7#820007)