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

Alexandre Boudnik updated IGNITE-3457:
--------------------------------------
    Component/s:     (was: general)
                 cache

> Active Store
> ------------
>
>                 Key: IGNITE-3457
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3457
>             Project: Ignite
>          Issue Type: New Feature
>          Components: cache
>            Reporter: Alexandre Boudnik
>            Assignee: Alexandre Boudnik
>         Attachments: Data Flow.png
>
>
> h2. Purpose
> To address missing features, such as backup/restore, snapshot, replication, 
> and continues export.
> h2. How it works
> All changes made to data in cache are passed to associated Active Store where 
> they stored in:
> * Transaction Log, which contains the all history of changes made
> * Snapshot - the instance of Key-Value store, which contains changes made 
> since last merge with Main Key-Value store
> * Main Key-Value Store, which contains copy of cache's data at the moment 
> when snapshot has been created
> Since cache has been backed by persistent store it should be configured with 
> *read-through* and *write-through* modes. To represent deleted key the 
> special constant *NAUGHT* stored as value together with that key. All data in 
> log, snapshots, and main are used the same serialization. Logs and snapshots 
> could be shipped to replicate or export data to other clusters or RDBMS 
> servers.
> !Data Flow.png!
> h4. New snapshot
> At any time a new snapshot can be created and all subsequent changes will be 
> stored in it. The special record has been made in transaction log. Previous 
> snapshot stays in read-only mode and its content could be merged into main.
> h4. Rollback
> To rollback cache to the state when new snapshot was created, all keys in 
> snapshot should be invalidated in cache. Then snapshot deactivated.
> h4. Roll forward
> After rolling back the snapshot, all transaction from log could be filtered 
> and re-executed.
> h4. Merge
> Either periodically or by explicitly, content of Snapshot merged into Main. 
> To do so and do not interrupt normal cache operation, Active Store creates a 
> new snapshot, start storing changes into it, and copies the content of 
> previous snapshot to the main. After that the previous snapshot could be 
> either kept or reclaimed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to