Skip to content

design: Partially tiered datastructures #6472

@dranikpg

Description

@dranikpg

Assumptions:

  1. HINCRBY[FLOAT] are the only read-write commands. As they work on small values (integers/floats), we can assume that all commands are either: exclusively read, exclusively write or delete.

Definition. Very similar to tiered values, somewhat simpler:

  1. A datastructure can have multiple nodes that are offloadable and are identified by a unique uint64_t
  2. A node can be:
    • In memory with optionally a pending disk write
    • On disk with optionally a series of pending disk reads
  3. The mechanics of reading/writing/deleting are the same as with tiered values
  4. Uploading/offloading is now also handled by the decoder/datastucture

Identifier problems:

  1. Reads can finish after a value has been aready overwritten in memory, so uploading is no longer possible
    -> Reusable identifiers (including allocation addresses) can only be used with some sort of versioning.
    The versioning can be performed by OpManager by marking read-chains as stale

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions