Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-1288

More efficient builtin filters _doc_ids and _design

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.2
    • Component/s: None
    • Labels:
      None

      Description

      We have the _doc_ids and _design _changes filter as of CouchDB 1.1.0.
      While they meet the expectations of applications/users, they're far from efficient for large databases.
      Basically the implementation folds the entire seq btree and then filters values by the document's ID, causing too much IO and busting caches. This makes replication by doc IDs not so efficient as it could be.

      The proposed patch avoids this by doing direct lookups in the ID btree, for _doc_ids, and ranged fold for _design.

      If there are no objections, I would apply to branch 1.2.x besides

        Attachments

        1. couchdb_1288_3.patch
          20 kB
          Filipe Manana
        2. couchdb_1288_2.patch
          6 kB
          Filipe Manana

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              fdmanana Filipe Manana
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: