rosedblabs / rosedb

Lightweight, fast and reliable key/value storage engine based on Bitcask.

Home Page:https://rosedblabs.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

V2.2.2 Release plan

roseduan opened this issue · comments

  • Optimize memory usage #236
    • EncodeLogRecord(using sync.Pool)
      • not necessary
    • DecodeLogRecord(using sync.Pool)
      • not necessary
    • wal.readInternal
      • has improved a lot by avoiding make new bytes while reading and writing
    • Batch by using Pool #235
      • DONE
    • Index Usage(using IRadix right now, maybe some other data structures?)

In conclusion, I have check and optimize all these memory cost code except Index part.

Because the IRadix will take too much memory after my tests, so we can use more memory effecient data structures like BTree or Adaptive Radix Tree, we can do it if there are some users give us feedback.

And I am also exploring some on-disk indexes, like hashtable, lotusdb will also have more choices of index if we achieve this.