Giter Club home page Giter Club logo

materialize's People

Contributors

aalexandrov avatar aljoscha avatar andrioni avatar antifuchs avatar antiguru avatar asenac avatar benesch avatar cirego avatar danhhz avatar dependabot-preview[bot] avatar dependabot[bot] avatar elindsey avatar flavray avatar frankmcsherry avatar guswynn avatar jamii avatar jkosh44 avatar jldlaughlin avatar justinj avatar maddyblue avatar morsapaes avatar nacrooks avatar petrosagg avatar philip-stoev avatar quodlibetor avatar ruchirk avatar sploiselle avatar teskje avatar umanwizard avatar wangandi avatar

materialize's Issues

Test

Elevator pitch

What does the transformation do?

Why should we add it?

When would it be good to have?

When would it be ineffectual?

When would be bad to have?

In the worst case, how would it degrade performance?

Customer impact

No response

Cost model

What is the benefit of the transformation?

What is the overhead?

When would the transformation be worthwhile?

User-facing changes

No response

Proposed implementation

Describe the implementation.

Which queries will do better with the given implementation?

Which queries will do worse?

Break the implementation down into stages.

Test issue

Elevator pitch

What does the transformation do?

Why should we add it?

When would it be good to have?

When would it be ineffectual?

When would be bad to have?

In the worst case, how would it degrade performance?

Customer impact

No response

Cost model

What is the benefit of the transformation?

What is the overhead?

When would the transformation be worthwhile?

User-facing changes

No response

Proposed implementation

Describe the implementation.

Which queries will do better with the given implementation?

Which queries will do worse?

Break the implementation down into stages.

Optimization: Reduction Pushdown

Elevator pitch

  1. What does the transformation do? Give a representative SQL query.

Convert a reduce on a join to a join on one or more reduced inputs.

  1. Why should we add it?

This can:

  • reduce the number of rows that the join produces.
  • eliminate skew.
  • reduce the number of diffs that the join operator receives.
  1. When would it be good to have?

When reducing an input of the join significantly decreases the number of rows that the input has.

  1. When would it be ineffectual?

When reducing an input of the join does not significantly decrease the number of rows.

  1. When would be bad to have?

When the join condition would filter out most of the rows coming from an input of the join.

  1. In the worst case, how would it degrade performance?

There would be unnecessary memory and CPU overhead.

List real life instances where this transformation would help.

No response

Cost Model

  1. What is the benefit of the transformation?
  2. What is the overhead?
  3. When would the transformation be worthwhile? Intuitively, this should
    be when benefit > overhead, but sometimes a benefit with regards to X
    comes at a cost with regards to Y, and it would be worthwhile to discuss
    when it is worthwhile to sacrifice Y to gain a benefit in X.

List any knobs that we may need to tune or expose to the user.

No response

Proposed implementation

  1. Describe the implementation.
  2. Which queries will do better with the given implementation?
  3. Which queries will do worse?
  4. Break the implementation down into stages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.