[ https://issues.apache.org/jira/browse/COUCHDB-92?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12695798#action_12695798 ]
Chris Anderson commented on COUCHDB-92: --------------------------------------- I think it should go into trunk, for sure. > Have compaction work on view indexes > ------------------------------------ > > Key: COUCHDB-92 > URL: https://issues.apache.org/jira/browse/COUCHDB-92 > Project: CouchDB > Issue Type: Improvement > Components: JavaScript View Server > Affects Versions: 0.8 > Reporter: Jan Lehnardt > Fix For: 0.10 > > > Right now, view indexes just grow and grow with each new index update. Since > they are just indexes, and not the data itself, compaction is simply a matter > of deleting the index files. > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.