Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Batch writing to data pages
  2. Batch updates in B+ Tree

Diagram overview

TBD

Batch

...

writing to data pages

Divide the input data rows into 2 lists:

...

Sequentially write objects and fragments that occupy the whole page. The data page is taken from "reuse" bucket, if there is no page in reuse bucket - allocate a new one.

For remaining (regular) objects (including the remainders ("heads") of large objects) , find the most free page with enough space in FreeList (allocate new one if there is no such page) and fill it up to the end.

...

  • Implement insertDataRows operation in FreeList - insert several data rows at once.
  • Preloader should insert a batch of data rows before initializing cache entries and should remove additional rows in case of fallback (if cache entry was not initialized). In the case when the cache entry is initialized incorrectly, preloader should rollback changes and remove pre-created data row.

Phase 2: DataStreamer support

...