CPC G06F 16/24554 (2019.01) [G06F 9/547 (2013.01); G06F 16/2471 (2019.01); G06F 16/258 (2019.01)] | 17 Claims |
9. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:
receiving, by an arbitrary query user interface, a user request to perform a query associated with user data, the user data including first data and second data;
partitioning, by a coordinator node of an arbitrary query engine, the query into at least a first sub-query and a second sub-query;
assigning, by the coordinator node of the arbitrary query engine, the first sub-query to a first query node of the arbitrary query engine;
providing, by a first service connector associated with the first query node of the arbitrary query engine, the first sub-query to a first service provider interface (SPI) integrated into a first service, the first service being capable of processing the first sub-query, the first SPI being configured to operate on the first data in a first datastore associated with the first service, the first SPI including a common interface component configured based on a uniform access specification to facilitate external communication between the arbitrary query engine and the first SPI, and the first SPI including a first service interface component configured to transform between the uniform access specification and a first service data specification and to facilitate internal data management of the first service using the first service data specification;
obtaining, by the first service using the first SPI, at least a portion of the first data from the first datastore associated with the first service, the at least a portion of the first data being formatted according to the first service data specification;
generating first results based on the at least a portion of the first data;
transforming, by the first SPI, the first results according to the uniform access specification;
providing, by the first service using the first SPI, the first results to the arbitrary query engine;
assigning, by the coordinator node of the arbitrary query engine, the second sub-query to a second query node of the arbitrary query engine;
providing, by a second service connector associated with the second query node of the arbitrary query engine, the second sub-query to a second service provider interface (SPI) integrated into a second service, the second service being capable of processing the second sub-query, the second SPI being configured to operate on the second data in a second datastore associated with the second service, the second SPI including a common interface component configured based on the uniform access specification to facilitate external communication between the arbitrary query engine and the second SPI, and the second SPI including a second service interface component configured to transform between the uniform access specification and a second service data specification and to facilitate internal data management of the second service using the second service data specification;
obtaining, by the second service using the second SPI, at least a portion of the second data from the second datastore associated with the second service, the at least a portion of the second data being formatted according to the second service data specification;
generating second results based on the at least a portion of the second data;
transforming, by the second SPI, the second results according to the uniform access specification; and
providing, by the second service using the second SPI, the second results to the arbitrary query engine.
|