Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-56601

Make use of Storage Engine API improvements to improve SpillableCache performance

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Query Optimization

      As part of SERVER-56430 a number of potential optimizations came up that could be implemented if the API for the TemporaryRecordStore was improved. These are things that are for the most part already doable in the storage engine, just not exposed or easy to access.

      1. We could boost performance of the SpillableCache if we read ranges of documents from the TemporaryRecordStore at once instead of one at a time using a readOnce cursor.
      2. We could skip the cache and write straight to disk if the bulk load WT API was exposed and we were concerned about evicting other, more important data from the WT cache
      3. Deleting is expensive in WT. Right now only 'cappedTruncateAfter' is implemented, but if there was a 'cappedTruncateBefore' or equivalent we could use that instead of deleting documents individually.

            backlog-query-optimization Backlog - Query Optimization
            ted.tuckman@mongodb.com Ted Tuckman
            0 Vote for this issue
            4 Start watching this issue