Keyboard shortcuts

/ or ⌘/Ctrl K
Find a note
j / k
Next / previous section or linked note
h / l
Collapse or go to parent / expand or enter
e or Alt-click
Read a linked note here
o
Open focused note on its own
g g / G
First / last section or linked note
g h / g a
Home / all notes
g b / g t
Backlinks / table of contents
t
Cycle System, Light, Dark
? / Esc
Show / close this reference

Search: ↑/↓ or Ctrl N/P, Enter to open. Shortcuts pause while typing.

sectionZippyDB [6acf9ab7]

2024-02-10_17-50-47_screenshot.png

  • Build on RocksDB, but less management
  • Generic KV store, supports snapshot reads and partial read/write
  • Snapshot reads

    • cheap operation that uses snapshot handlers to perform multiple reads
    • basically RCU, but if you read while a write is happening the read goes to a snapshot

      • handles versions, whereas RCU doesn't handle versions
      • also uses a cleaner or garbage collector or sweeper, whereas RCU places the burden on the writer
  • Data can be replicated either with gossip protocols or paxos, although usually there's a master

    • specific read only replicas called followers are occasionally added for high volume reads
  • Divides times into small epocs, each epoc zippy assigns a primary replica, that is the paxos leader

    • Allows clients to choose which consistency level they come into (same as Spanner)
    • Consistent reading -> clients go to the current primary of the shard
    • Stale information -> can go to a replica
    • Also allows for read-your-writes with a hash that signals to the replicas to manually update
  • Has a data shuttle, which basically tiers it into Primary -> Secondary -> Follower, on per shard basis

    • A shard is a box
  • Shard management service is the orchestrator, and tells each shard what they own, master that runs over the control plane
  • Store is based on top of RocksDB