Patent classifications
G06F16/24544
Method and system for accelerated stream processing
Disclosed herein are methods and systems for hardware-accelerating various data processing operations in a rule-based decision-making system such as a business rules engine, an event stream processor, and a complex event stream processor. Preferably, incoming data streams are checked against a plurality of rule conditions. Among the data processing operations that are hardware-accelerated include rule condition check operations, filtering operations, and path merging operations. The rule condition check operations generate rule condition check results for the processed data streams, wherein the rule condition check results are indicative of any rule conditions which have been satisfied by the data streams. The generation of such results with a low degree of latency provides enterprises with the ability to perform timely decision-making based on the data present in received data streams.
Computer-implemented method of performing a search using signatures
A computer-implemented method of processing a query vector and a data vector), comprising: generating a set of masks and a first set of multiple signatures and a second set of multiple signatures by applying the set of masks to the query vector and the data vector, respectively, and generating candidate pairs, of a first signature and a second signature, by identifying matches of a first signature and a second signature. The set of masks comprises a configuration of the elements that is a Hadamard code; a permutation of a Hadamard code; or a code that deviates from a Hadamard code or a permutation of a Hadamard code in less than 40% of its elements.
Dynamic partition selection
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for dynamic partition selection. One of the methods includes receiving a representation of a query plan generated for a query, wherein the query plan includes a dynamic scan operator that represents a first computing node obtaining tuples of one or more partitions of a table from storage and transferring the tuples to a second computing node that executes a parent operator of the dynamic scan operator. A partition selector operator is generated corresponding to the dynamic scan operator. A location in the query plan is determined for the partition selector operator. A modified query plan is generated having the partition selector operator at the determined location.
Data pruning based on metadata
A system and method for pruning data based on metadata. The method may include receiving a query with a plurality of predicates and identifying one or more applicable files that includes database data satisfying at least one of the plurality of predicates. The identifying the one or more applicable files including reading metadata stored in a metadata store that is separate from the database data. The method further includes pruning inapplicable files comprising database data that does not satisfy at least one of the plurality of predicates to create a reduced set of files and reading the reduced set of files to execute the query.
Multidimensional two-sided interval joins on hash-equality-join infrastructure
In an embodiment, a data platform implements a two-sided N dimensional interval join using an N dimensional band join followed by a filter that applies a predicate of the interval join. The data platform generates first and second modified relations from first and second input relations. Each modified relation includes a copy of each row from the corresponding input relation for each input-domain cell that overlaps, in each of N dimensions, a bounding polygon of intervals determined from the row of the corresponding input relation. The data platform inserts, in each row in each modified relation, an input-domain-cell identifier of the corresponding overlapping input-domain cell and uses a hash-equality join that receives the first and second modified relations and that is keyed on the input-domain-cell identifiers. The data platform obtains results of a query by executing a query-execution plan that includes the query-plan section.
GENERATION OF ARCHIVER QUERIES FOR CONTINUOUS QUERIES OVER ARCHIVED RELATIONS
A method may include receiving a continuous query identified by an archived relation associated with an application. The method may also include generating a physical query plan. Additionally, the method may include constructing a structured query language (SQL) equivalent expression corresponding to an attribute utilized by the operator and/or constructing an output SQL expression for the identified operator based at least in part on the SQL equivalent expression. Additionally, the method may include constructing the archiver query for the identified operator based at least in part on the output SQL expression. Further, the method may include executing the archiver query to obtain a result set of data records related to the application and/or generating a snapshot output of one or more data values related to the application based at least in part on the result set of data records.
State initialization for continuous queries over archived views
A method may include receiving a continuous query identified by an archived view. The method may also include creating the archived view, the archived view identified by a join query related to two or more archived relations associated with an application and/or generating a query plan for the continuous query. The method may also include identifying a view root operator in the archived view, the view root operator identified as a join operator in the archived view and/or identifying a query operator in the query plan that topologically precedes the view root operator. Further, the method may include constructing an archiver query for the identified query operator that topologically precedes the view root operator, executing the archiver query to obtain a result set of data records related to the application, and/or generating a snapshot output of one or more data values related to the application.
METADATA REGISTRATION METHOD AND DEVICE
A method includes acquiring one or a plurality of first tables including a first data group regarding a first item, acquiring a second table corresponding to a result of executing a program with the one or the plurality of first tables set as an input, the second table including a second item and a second data group, generating, when a first name of the first item and a second name of the second item have a relationship in which the first name partially matches the second name, first information indicating the relationship between the first name and the second name while defining parts that partially match, registering the first information in a memory as metadata for the program, the metadata indicating a relationship between the one or the plurality of first tables set as the input and the second table set as an output.
Database query optimization methods, apparatuses, and computer devices
A database query optimization computer-implemented method, medium, and system are disclosed. In one computer-implemented method, a data query request sent by a client device is received and parsed. An execution plan for executing the data query request is determined based on a parsing result. If the execution plan is a nested loop anti-join, whether there is a possibility that a to-be-queried field in a to-be-queried data table indicated by the data query request contains a NULL value is determined. If there is a possibility that the to-be-queried field contains a NULL value, a filter condition is generated and the execution plan is optimized based on the filter condition.
Splitting of a join operation to allow parallelization
A system and method for processing a database query is described. In response to detection that a database query involves a star or snowflake join operation, a join operator in a preliminary query plan can be split into a build operator and a probe operator. The probe operator can be placed in a final query plan in the same place as the join operator in the preliminary query plan, while the build operator can be placed beneath the probe operator in the final query plan, between an exchange operator and the exchange operator's child from the preliminary query plan.