diff options
Diffstat (limited to 'docs/iterator-pipeline.puml')
| -rw-r--r-- | docs/iterator-pipeline.puml | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/docs/iterator-pipeline.puml b/docs/iterator-pipeline.puml deleted file mode 100644 index 810ef63..0000000 --- a/docs/iterator-pipeline.puml +++ /dev/null @@ -1,45 +0,0 @@ -@startuml iterator-pipeline -!theme plain -title Volcano Iterator Model - Process Pipeline - -component "Scan Iterator\n(Process)" as P1 { - [Read from Relation] as S1 -} - -component "Select Iterator\n(Process)" as P2 { - [Apply Predicate] as S2 -} - -component "Project Iterator\n(Process)" as P3 { - [Filter Attributes] as S3 -} - -component "Sort Iterator\n(Process)" as P4 { - [Sort All Tuples] as S4 -} - -component "Take Iterator\n(Process)" as P5 { - [Limit N Tuples] as S5 -} - -P1 -right-> P2: {next, Pid}\n{tuple, T} | done -P2 -right-> P3: {next, Pid}\n{tuple, T} | done -P3 -right-> P4: {next, Pid}\n{tuple, T} | done -P4 -right-> P5: {next, Pid}\n{tuple, T} | done - -note bottom of P1 - Each iterator is an - independent Erlang process - - Message passing protocol: - - Request: {next, CallerPid} - - Response: {tuple, Data} | done - - Benefits: - - Lazy evaluation - - Memory-bounded - - Composable - - Concurrent -end note - -@enduml |
