[ 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)