US 12,346,325 B2
Benchmarking JSON document stores
Stefano Belloni, Mannheim (DE); Nils Roerup, Heidelberg (DE); Marco Patrick Schroeder, Heidelberg (DE); and Daniel Ritter, Heidelberg (DE)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on May 15, 2023, as Appl. No. 18/317,635.
Claims priority of provisional application 63/350,321, filed on Jun. 8, 2022.
Prior Publication US 2023/0401211 A1, Dec. 14, 2023
Int. Cl. G06F 16/2453 (2019.01); G06F 16/21 (2019.01); G06F 16/93 (2019.01)
CPC G06F 16/24549 (2019.01) [G06F 16/213 (2019.01); G06F 16/24537 (2019.01); G06F 16/24542 (2019.01); G06F 16/93 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, cause operations comprising:
generating, based at least on a schema configuration of one or more document stores, a plurality of data in a JavaScript Object Notation (JSON) format for storage at the one or more document stores;
generating, based at least on the schema configuration, a query configuration, and a feature matrix of the one or more document stores, one or more queries to match the plurality of data stored at the one or more document stores, wherein the query configuration includes a first object describing an element used in a project clause of a query, and wherein a function selected randomly from the feature matrix is applied to the projected element;
distributing the one or more queries for execution at the one or more document stores by a scalable quantity of concurrently operating worker nodes;
generating one or more performance metrics during the execution of the one or more queries at the one or more document stores; and
applying, based at least on the one or more performance metrics, one or more performance improvements during subsequent query processing at the one or more document stores, wherein the one or more performance improvements include avoiding unnecessary unnesting of JSON objects.