Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SQL] Preliminary support for bounded memory computation on streams #1197

Merged
merged 2 commits into from
Dec 27, 2023

Conversation

mihaibudiu
Copy link
Collaborator

Is this a user-visible change (yes/no): no

This implementation uses the DBSP integrate_trace_retain_keys operator to throw away group keys that will never be updated. It is used in conjunction with the lateness dataflow analysis to control the memory consumption of streams of monotone values. That operator has a very funky semantics, so the hope is that at some point we can do this in a simpler way.

This implementation is incomplete; it only handles (group-by)+aggregate operators and it is only limited to some simple graph topologies.

We still have to handle:

  • joins
  • upserts as inserted after aggregates, inputs, and before outputs
  • streams that have multiple consumers

Signed-off-by: Mihai Budiu <mbudiu@feldera.com>
@mihaibudiu
Copy link
Collaborator Author

Here is a picture of the topology of the generated code for a program with group-by aggregate
limited

Signed-off-by: Mihai Budiu <mbudiu@feldera.com>
@mihaibudiu mihaibudiu merged commit d75b1c8 into main Dec 27, 2023
5 checks passed
@mihaibudiu mihaibudiu deleted the bounded-integrals branch December 27, 2023 19:53
ryzhyk pushed a commit that referenced this pull request Feb 20, 2024
…1197)

* [SQL] Preliminary support for bounded memory computation on streams

Signed-off-by: Mihai Budiu <mbudiu@feldera.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant