Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Record deletes and consistent writes #5

Open
begelundmuller opened this issue Jun 17, 2021 · 0 comments
Open

Record deletes and consistent writes #5

begelundmuller opened this issue Jun 17, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@begelundmuller
Copy link
Member

Problem to solve and solution

We want record deletes and strongly consistent writes. Would be really useful for e.g. checkpointers.

Proposed solution and changes

WIP:

  • Rewrite engine to distinguish keys and values. Null values will then mean deletes (what about keys that span all columns?).
  • Engine interface update to support deletes and immediate writes
  • Data server should execute immediate writes directly on the index driver, not pass over MQ first
  • Add tombstone support to the data server, client libraries, and frontend
  • The frontend interfaces must support tombstones
  • Initially, we'll do a weak implementation in the Bigtable driver with tombstones and simultaneous log and index writes

Risks and challenges

  • We really need transactional capabilities at the index layer to do this right. So this effectively adds the right interface, but the backend implementation is an MVP. When we adopt a better indexing engine (like FDB), we can do it right on the backend.
  • Without log compaction and warehouse merging, deletes won't completely remove data from our servers
@begelundmuller begelundmuller added the enhancement New feature or request label Jun 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant