Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 0.8
    • Fix Version/s: None
    • Component/s: Database Core
    • Labels:
      None
    • Skill Level:
      Committers Level (Medium to Hard)

      Description

      Also, the current Btree implementation isn't completely self balanacing. It
      misses a balancing condition, partially for efficiency (it's an expensive
      balancing operation), and for expediency. It was easier to not implement it and
      gets the general case perormance boost.

      The thing about this is, the btree code can remain as is if the indexing
      compaction just recopies the map values (and back indexes) and recomputes the
      reduction values. That's a very simple design, however, if the btree is
      completely self balancing, then the btree can be copied on a node by node basis,
      instead of a value by value basis, and the reduction values need not be
      recomputed all. This will make the compaction significantly faster overall.

        Activity

        Jan Lehnardt made changes -
        Fix Version/s 1.0.2 [ 12315258 ]
        Paul Joseph Davis made changes -
        Skill Level Committers Level (Medium to Hard)
        Noah Slater made changes -
        Fix Version/s 1.0.2 [ 12315258 ]
        Fix Version/s 1.0.1 [ 12315197 ]
        Noah Slater made changes -
        Fix Version/s 1.0.1 [ 12315197 ]
        Fix Version/s 1.0 [ 12313209 ]
        Jan Lehnardt made changes -
        Fix Version/s 1.0 [ 12313209 ]
        Fix Version/s 0.11 [ 12313841 ]
        Priority Blocker [ 1 ] Major [ 3 ]
        Hide
        Jan Lehnardt added a comment -

        bumping to 1.1. for what it's worth, Robert Newson did some practical benchmaks and didn't see any performance issues with uncompacted databases. removing blocker status, too.

        Show
        Jan Lehnardt added a comment - bumping to 1.1. for what it's worth, Robert Newson did some practical benchmaks and didn't see any performance issues with uncompacted databases. removing blocker status, too.
        Jan Lehnardt made changes -
        Fix Version/s 0.11 [ 12313841 ]
        Fix Version/s 0.10 [ 12313694 ]
        Hide
        Jan Lehnardt added a comment -

        bump to 0.11

        Show
        Jan Lehnardt added a comment - bump to 0.11
        Chris Anderson made changes -
        Assignee Damien Katz [ damienkatz ]
        Fix Version/s 0.10 [ 12313694 ]
        Fix Version/s 0.9 [ 12313208 ]
        Hide
        Chris Anderson added a comment -

        pushed to 0.10 as it's not necessary for the upcoming release

        Show
        Chris Anderson added a comment - pushed to 0.10 as it's not necessary for the upcoming release
        Jan Lehnardt made changes -
        Field Original Value New Value
        Priority Major [ 3 ] Blocker [ 1 ]
        Description  Also, the current Btree implementation isn't completely self balanacing. It
        misses a balancing condition, partially for efficiency (it's an expensive
        balancing operation), and for expediency. It was easier to not implement it and
        gets the general case perormance boost.

         The thing about this is, the btree code can remain as is if the indexing
        compaction just recopies the map values (and back indexes) and recomputes the
        reduction values. That's a very simple design, however, if the btree is
        completely self balancing, then the btree can be copied on a node by node basis,
        instead of a value by value basis, and the reduction values need not be
        recomputed all. This will make the compaction significantly faster overall.
         Also, the current Btree implementation isn't completely self balanacing. It
        misses a balancing condition, partially for efficiency (it's an expensive
        balancing operation), and for expediency. It was easier to not implement it and
        gets the general case perormance boost.

         The thing about this is, the btree code can remain as is if the indexing
        compaction just recopies the map values (and back indexes) and recomputes the
        reduction values. That's a very simple design, however, if the btree is
        completely self balancing, then the btree can be copied on a node by node basis,
        instead of a value by value basis, and the reduction values need not be
        recomputed all. This will make the compaction significantly faster overall.
        Hide
        Jan Lehnardt added a comment -

        Set blocking for 0.9 because I believe this will break the database file format.

        Show
        Jan Lehnardt added a comment - Set blocking for 0.9 because I believe this will break the database file format.
        Jan Lehnardt created issue -

          People

          • Assignee:
            Damien Katz
            Reporter:
            Jan Lehnardt
          • Votes:
            3 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development