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

Milestone2 #10

Open
45 tasks
prataprc opened this issue Aug 27, 2019 · 0 comments
Open
45 tasks

Milestone2 #10

prataprc opened this issue Aug 27, 2019 · 0 comments
Assignees
Labels
rdms-doc Contains useful documentation that explains how to use rdms, and its internals.
Milestone

Comments

@prataprc
Copy link
Owner

prataprc commented Aug 27, 2019

Goal for milestone-2 is to ensure production ready product, with beta testing.

  • ACID compliance.
  • Memory datastructures.
    • Skip-list
      • Good concurrent read performance.
      • Support concurrent writes.
      • Suitable for managing a cache of frequently read entries.
      • Best case Piece-wise full table scan.
      • Won't support reverse-iteration.
  • Disk datastructures.
    • Append-Only-BTree.
      • Useful when index-ops have very low write ratio.
      • Compaction cycle can affect disk-amplification.
      • Lesser write-amplification.
      • Value colocated in leaf-node or stored in separate value-log file.
      • Deltas stored in separate value-log file.
    • Integrate Disk based indexes with WAL for durability guarantee.
  • Key traits for following types:
    • u8, i8, u16, i16, usize, isize.
    • f32, f64 - custom type with total-ordering.
    • (A, B), (A, B, C).
  • Value traits for following types:
    • u8, i8, u16, i16, usize, isize.
    • f32, f64 - custom type with total-ordering.
    • (A, B), (A, B, C).
  • Unit test-case target 90% code coverage.
  • Rustdoc documentation.
  • Rustbook documentation.
  • Beta release process.

Beta-release checklist

Following test-suite, listed one per line below, shall be run on rdms
artifacts.

  • All daily unit test cases, skipping ignore testcases.
  • All daily unit test cases, including ignore testcases.
  • Fuzzy testing for Llrb memory-index.
  • Fuzzy testing for Mvcc memory-index.
  • Fuzzy testing for Robt disk-index.
  • Fuzzy testing for rdms index.
  • Fuzzy testing for Wal logging.
  • Fuzzy testing for SkipScan algorithm.
  • Fuzzy testing for LSM lookup algorithm.
  • Performance benchmark Llrb memory-index.
  • Performance benchmark Mvcc memory-index.
  • Performance benchmark Robt disk-index.
  • Performance benchmark Rdms index.
  • Performance benchmark Wal logging.
  • Performance benchmark SkipScan algorithm.
  • Performance benchmark LSM lookup algorithm.
  • Valgrind tests and failures for all applicable test suites and performance suites.
@prataprc prataprc added this to the Milestone2 milestone Aug 27, 2019
@prataprc prataprc self-assigned this Aug 27, 2019
@prataprc prataprc pinned this issue Aug 27, 2019
@prataprc prataprc added the rdms-doc Contains useful documentation that explains how to use rdms, and its internals. label Aug 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rdms-doc Contains useful documentation that explains how to use rdms, and its internals.
Projects
None yet
Development

No branches or pull requests

1 participant