Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-1102

Refactor quads mode access paths

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Accepted
    • Resolution: Unresolved
    • Affects Version/s: BIGDATA_RELEASE_1_3_4
    • Fix Version/s: None
    • Component/s: Query Plan Generator
    • Labels:
      None

      Description

      Quads mode access paths are implemented today using an expander pattern. This makes it difficult to use the runtime query optimizer and difficult to use analytic mode DISTINCT SPO filters (BLZG-888).

      Break down the quads mode access paths into a JOIN against the DataSetSummary (DataSetJoin), a filter to strip off the context (or just do not bind it), and a DISTINCT SPO FILTER.

      Some open questions: Does this refactoring require us to create sub-plans? If so, how would we eventually eliminate those sub-plans by a rewrite that flattens them out so we could (e.g., use the characteristic sets optimizer efficiently for the total query)?

      Related tickets:
      - BLZG-537 (Default graphs always uses SCAN + FILTER and lacks efficient PARALLEL SUBQUERY code path)

        Attachments

          Activity

            People

            Assignee:
            michaelschmidt michaelschmidt
            Reporter:
            bryanthompson bryanthompson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: