Heim >Datenbank >MySQL-Tutorial >Verwenden von Pipelines zum Kombinieren von Vorgängen
In einem DSS-Workflow ist die SQL-Pipeline der Prozess des Mischens mehrerer aufeinanderfolgender Rezepte (die jeweils dieselbe SQL-Engine verwenden). Anschließend können Sie eine einzelne Jobaktivität ausführen, die diese integrierten Rezepte enthält (möglicherweise visuelle Rezepte und SQL-Abfragerezepte).
Normalerweise werden SQL-Abfragen in Ausdrücke der relationalen Algebra umgewandelt, einer Reihe relationaler Operationen. Wenn wir jeweils nur einen Vorgang ausführen würden, wären die Kosten zu hoch, da wir temporäre Dateien auf der Festplatte erstellen müssten, um die Ergebnisse dieser temporären Vorgänge zu speichern. Es müssen große temporäre Dateien erstellt und auf der Festplatte gespeichert werden. Dies nimmt jedoch Zeit in Anspruch und ist normalerweise nicht erforderlich, da der folgende Prozess diese Dateien sofort als Eingabe verwendet. Es ist üblich, Abfrageausführungscode zu generieren, der Algorithmen für bestimmte Kombinationen von Vorgängen in der Abfrage entspricht, um die Anzahl temporärer Dateien zu reduzieren.
Zum Beispiel könnte eine Methode mit zwei Eingabedateien und einer Ausgabedatei eine JOIN- und zwei SELECT-Operationen für die Eingabedateien sowie eine abschließende PROJECT-Operation für die Ergebnisdatei ausführen, anstatt jede dieser Operationen einzeln zu implementieren. Anstatt vier temporäre Dateien zu erstellen, wenden wir die Methode an und erhalten nur eine resultierende Datei. Als Begriffe hierfür werden Pipelining oder Stream-basierte Verarbeitung verwendet.
Um eine große Anzahl von Vorgängen auszuführen, ist es üblich, Abfrageausführungscode dynamisch zu generieren. Abfragen werden durch die Erstellung von Code generiert, der zahlreiche Algorithmen enthält, die verschiedenen Prozessen entsprechen. Nachdem eine Operation ausgeführt wurde, wird das resultierende Tupel generiert und als Eingabe für andere Operationen verwendet. Wenn beispielsweise auf zwei SELECT-Operationen für eine Basisbeziehung eine JOIN-Operation folgt, werden die von jeder SELECT-Operation erstellten Tupel in einen Stream oder eine Pipeline eingespeist und als Eingabe für den JOIN-Prozess verwendet.
Das obige ist der detaillierte Inhalt vonVerwenden von Pipelines zum Kombinieren von Vorgängen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!