Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-11916

Page compression - use smaller writes, avoid trimming/zeroing rest of the page if possible

    XMLWordPrintable

    Details

      Description

      In page compression, currently the page is compressed and written currently like this
      1) page is compressed to size compressed_size

      2.a) If trim is used, compressed_size(aligned to file block size) is written. After that, hole is punched after the end of page, of the size (page_size - compressed_size)

      b) If trim is not used, single write is done of the full page size (it is padded from compressed_size to the full size with binary zeros)

      a) or b) are done every time a page is written. But in many cases, used portion of the page (aka compressed_size) will grow ,as compared to previous page state. In those cases, there is no need to trim already trimmed region, or write binary zeroes over binary zeroes. A small write, of compressed_size would suffice. The small writes can contribute to longer SSD life (if trim is not used), and just reduce the overall written size and improve performance otherwise.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              wlad Vladislav Vaintroub
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:

                  Git Integration