orientechnologies / orientechnologies/orientdb

Implement physiological logging

Open
#9,022 0 comments 0 reactions 1 assignee View on GitHub

@andrii0lomakin is already working on this.

Since Sep 28, 2019.

enhancement
Dominant language
Java
Stars
5k
Forks
868
Avg merge
15h 6m
Merged PRs (30d)
18

Description

Implementation of physiological logging should improve the speed of writes because of the following factors:

  1. Fewer data will be logged on the WAL level.
  2. The overhead of tracking of logical operations is much less than for tracking of binary operations.

Following subtasks should be impelemented:

  • Implementation of doulbe write log. So pages written first into this log and only after that to the data files
  • Implementation of support physiological logging for OPaginatedClusterV1
  • Implementation of support physiological logging for OPaginatedClusterV2
  • Implementation of support physiological logging for OPaginatedClusterV3
  • Implementation of support physiological logging for OSBTreeV1
  • Implementation of support physiological logging for OSBTreeV2
  • Implementation of support physiological logging for CellBTreeSingleValueV1
  • Implementation of support physiological logging for CellBTreeSingleValueV3
  • Implementation of support physiological logging for CellBTreeMultiValueV2
  • Implementation of support physiological logging for CellBTreeMultiValueV3
  • Implementation of support physiological logging for OSBTreeBonsaiLocal
  • Implementation of support physiological logging for OLocalHashTableV2
  • Implementation of support physiological logging for OLocalHashTableV3
  • In case of not high-level exception is thrown inside of component storage should be switched to read only mode.
  • Replace file truncation by the algorithm of reuse of pages in hash index.
  • Create restore procedure based on physiological logging.
  • Run crash tests
  • Run benchmarks
  • Handle binary compatibility of incremental backups between 3.0 and 3.1 versions in WAL

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.