1. An XPath query processing system for processing one or more inputted queries against one or more inputted XML documents, the system comprising at least one computer system including a plurality of distributed hardware processors (CPU) and memory, at least one distributed hardware processor executing steps that: creates a first index that comprises unique root to leaf paths (SUM-Index) where each unique root to leaf path has an associated unique path identifier (PID); and annotates each unique path in SUM-Index by PID; partitions SUM-Index by PID; and creates a second index that comprises tree nodes grouped by PID (PS-Index); partitions PS-Index by PID; and creates a third index that comprises values of the tree nodes grouped by PID (PV-Index); and partitions PV-Index by PID; wherein the first index, the second index, and the third index each have at least one path identifier and are linked together by at least one path identifier (PID); and each unique PID forms a nexus of unique path related information across the first index, the second index, and the third index; and each index attribute of the first index, the second index, and the third index is stored in a column store; and decomposes one or more XPath queries into one or more partial XPath queries; obtains a list of path identifiers from the first index to initialize a simple cursor (SC) access method or a multi-predicate-branching-path cursor (MPBPC) method from the one or more partial XPath queries; selects the second index to generate a result sequence of nodes using a simple cursor or a MPBPC cursor; selects the third index to lookup values to filter the result sequence of nodes; and produces one or more outputted XML documents from the result sequence of nodes.
1. An XPath query processing system for processing one or more inputted queries against one or more inputted XML documents, the system comprising at least one computer system including a plurality of distributed hardware processors (CPU) and memory, at least one distributed hardware processor executing steps that: creates a first index that comprises unique root to leaf paths (SUM-Index) where each unique root to leaf path has an associated unique path identifier (PID); and annotates each unique path in SUM-Index by PID; partitions SUM-Index by PID; and creates a second index that comprises tree nodes grouped by PID (PS-Index); partitions PS-Index by PID; and creates a third index that comprises values of the tree nodes grouped by PID (PV-Index); and partitions PV-Index by PID; wherein the first index, the second index, and the third index each have at least one path identifier and are linked together by at least one path identifier (PID); and each unique PID forms a nexus of unique path related information across the first index, the second index, and the third index; and each index attribute of the first index, the second index, and the third index is stored in a column store; and decomposes one or more XPath queries into one or more partial XPath queries; obtains a list of path identifiers from the first index to initialize a simple cursor (SC) access method or a multi-predicate-branching-path cursor (MPBPC) method from the one or more partial XPath queries; selects the second index to generate a result sequence of nodes using a simple cursor or a MPBPC cursor; selects the third index to lookup values to filter the result sequence of nodes; and produces one or more outputted XML documents from the result sequence of nodes. 4. The XPath query processing system of claim 1 , wherein the PV-Index is a search index that is partitioned on PID and is multilevel subordinate to the PS-Index linked by PID.