[ 
https://issues.apache.org/jira/browse/IGNITE-14745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17364964#comment-17364964
 ] 

Ivan Bessonov commented on IGNITE-14745:
----------------------------------------

* Created modules {{storage-api}} and {{storage-rocksdb}}
 * Created interface {{org.apache.ignite.internal.storage.Storage}} and smaller 
interfaces around it
 * Created default implementation 
{{org.apache.ignite.internal.storage.basic.ConcurrentHashMapStorage}} in the 
same module
 * Created custom implementation 
{{org.apache.ignite.internal.storage.rocksdb.RocksDbStorage}} with the most 
basic way to instantiate it

New storage has not been integrated.

> Storage API and basic configuration module
> ------------------------------------------
>
>                 Key: IGNITE-14745
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14745
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Sergey Chugunov
>            Assignee: Ivan Bessonov
>            Priority: Major
>              Labels: iep-74, ignite-3
>             Fix For: 3.0.0-alpha3
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Introduce basic Storage API described in 
> [IEP-74|https://cwiki.apache.org/confluence/display/IGNITE/IEP-74+Data+Storage]
>  in a separate module.
> For now Storage API should contain only four basic methods to read, update 
> and remove keys from Storage and to iterate over available keys:
> {code:java}
> /** Interface providing methods to read, remove and update keys in storage. */
> public interface Storage {
>     /** Reads a DataRow for a given Key. */
>     public DataRow read(Key key);
>  
>     /** Removes DataRow associated with a given Key. */
>     public void remove(Key key);
>  
>     /** Executes an update with custom logic implemented by UpdateClosure 
> interface. */
>     public update(Key key, UpdateClosure clo);
>  
>     /** Obtains Iterator over some DataRows in storage. */
>     public Iterator<DataRow> iterator(/* parameters */).
> }
> {code}
> This simplistic API is based on IgniteCacheOffheapManager from existing code 
> base of Ignite 2.x. Only essential methods were left for the initial version 
> of interface but it obviously will be refined during development.
> Details about some classes like Key or UpdateClosure are not clear yet and 
> can be omitted (basic stub classes may be used).
> Implement basic configuration that is expected to be common for any Storage 
> implementation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to