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

Refactor "streams" to "real-time tables" #3

Closed
begelundmuller opened this issue Jun 17, 2021 · 3 comments
Closed

Refactor "streams" to "real-time tables" #3

begelundmuller opened this issue Jun 17, 2021 · 3 comments
Labels

Comments

@begelundmuller
Copy link
Member

begelundmuller commented Jun 17, 2021

Summary

Naming things is hard. One major term that's been aching for a while are our use of the word "stream". In Beneath, a stream is both a log with infinite retention, an indexed table, and a data warehouse table. The term "stream" is particularly bad for batch datasets, like uploaded dataframes ("batch stream", "finalized stream", ...).

I've considered and tested several alternative terms: tables, collections, topics, sets, datasets, frames, dataframes, slices, objects. We could also invent a new term altogether. But I think none of them beats the simplicity of "table", which everyone understands. By saying "real-time tables" or "subscribe to table" or "replay table", I think we can reasonably convey the log streaming feature.

So this refactor is about changing our use of "stream" across the code base with "(real-time) table".

Risks and challenges

Our APIs (gql and grpc) use "stream" extensively, and changing it will break old client versions. It's a good exercise to see if we're geared to maintain backwards compatibility.

Involved components

Virtually the entire codebase. This is a superficial change, but will touch every part of the codebase.

@begelundmuller
Copy link
Member Author

Did the backend refactor: fb95180

@begelundmuller
Copy link
Member Author

Did the frontend refactor: f089d0a

@begelundmuller
Copy link
Member Author

Did the remaining clients, examples and docs refactors and pushed to production yesterday. Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant