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 ]
        Jan Lehnardt made changes -
        Fix Version/s 0.11 [ 12313841 ]
        Fix Version/s 0.10 [ 12313694 ]
        Chris Anderson made changes -
        Assignee Damien Katz [ damienkatz ]
        Fix Version/s 0.10 [ 12313694 ]
        Fix Version/s 0.9 [ 12313208 ]
        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.
        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