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

Ivan Bessonov updated IGNITE-16611:
-----------------------------------
    Summary: [Versioned Storage]  POC - Version chain data structure for 
RocksDB-based storage  (was: Versioned Storage]  POC - Version chain data 
structure for RocksDB-based storage)

> [Versioned Storage]  POC - Version chain data structure for RocksDB-based 
> storage
> ---------------------------------------------------------------------------------
>
>                 Key: IGNITE-16611
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16611
>             Project: Ignite
>          Issue Type: Task
>          Components: persistence
>            Reporter: Sergey Chugunov
>            Priority: Major
>              Labels: ignite-3
>
> To support Concurrency Control and implement effective transactions new 
> storage capable of storing multiple versions of the same key is needed.
> Key component of such storage is a special data structure called version 
> chain: it is a list of all versions of a particular key, with the most recent 
> version at the beginning (HEAD).
> Each entry in the chain contains value, reference to the next entry in the 
> list, begin and end timestamps and id of active transaction that created this 
> version.
> We need to implement this structure on top of RocksDB API.
> We also need to implement Primary index with the following requirements and 
> API:
> * PK always points to the HEAD of version chain.
> * Methods to manipulate versions: add new version to the chain, commit 
> uncommited version, abort uncommited version.
> * Method to cleanup old versions from the chain.
> * Method to scan over keys up to provided timestamp.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to