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

add predicate pushdown update #5700

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion website/docs/docs/build/about-metricflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Before you start, consider the following guidelines:

## MetricFlow

MetricFlow is a SQL query generation tool designed to streamline metric creation across different data dimensions for diverse business needs.
MetricFlow is a SQL query generation tool designed to streamline metric creation across different data dimensions for diverse business needs. It renders SQL using <Term id="predicate-pushdown" />, which optimizes performance and brings faster query time.

- It operates through YAML files, where a semantic graph links language to data. This graph comprises [semantic models](/docs/build/semantic-models) (data entry points) and [metrics](/docs/build/metrics-overview) (functions for creating quantitative indicators).
- MetricFlow is a [BSL package](https://github.com/dbt-labs/metricflow) with code source available, and compatible with dbt version 1.6 and higher. Data practitioners and enthusiasts are highly encouraged to contribute.
- As a part of the dbt Semantic Layer, MetricFlow empowers organizations to define metrics using YAML abstractions.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ The dbt Semantic Layer includes the following components:
| **Service layer** | Coordinates query requests and dispatching the relevant metric query to the target query engine. This is provided through dbt Cloud and is available to all users on dbt version 1.6 or later. The service layer includes a Gateway service for executing SQL against the data platform. | ❌ | ❌ | ✅ | ✅ | Proprietary, Cloud (Team & Enterprise) |
| **[Semantic Layer APIs](/docs/dbt-cloud-apis/sl-api-overview)** | The interfaces allow users to submit metric queries using GraphQL and JDBC APIs. They also serve as the foundation for building first-class integrations with various tools. | ❌ | ❌ | ✅ | ✅ | Proprietary, Cloud (Team & Enterprise)|


## Feature comparison

The following table compares the features available in dbt Cloud and source available in dbt Core:
Expand Down
3 changes: 2 additions & 1 deletion website/docs/docs/use-dbt-semantic-layer/sl-faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,8 @@ No, the dbt Semantic Layer is flexible enough to work with many data modeling ap

<Expandable alt_header="How are queries optimized to not scan more data than they should?">

MetricFlow always tries to generate SQL in the most performant way, while ensuring the metric value is correct. It generates SQL in a way that allows us to add optimizations, like predicate pushdown, to ensure we don’t perform full table scans.

MetricFlow always tries to generate SQL in the most performant way, while ensuring the metric value is correct. It generates SQL in a way that allows us to add optimizations, like <Term id="predicate-pushdown" />, to ensure we don’t perform full table scans for faster query time.

</Expandable>

Expand Down
11 changes: 7 additions & 4 deletions website/docs/terms/predicate-pushdown.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
---
id: predicate-pushdown
title: predicate pushdown
description: A predicate pushdown is an expression used to determine what rows in a database apply to a particular query
displayText: Predicate pushdown
hoverSnippet: A predicate pushdown is an expression used to determine what rows in a database apply to a particular query
description: Predicate pushdown is an expression used to make database queries faster.
displayText: predicate pushdown
hoverSnippet: Predicate pushdown is an expression used make database queries faster by applying filters as early as possible in the query process.
---

A predicate pushdown is an expression used to determine what rows in a database apply to a particular query. For example, if you filter in a `WHERE` clause based on a specific dimension value, the database searches to determine what values in the database apply to the query. The optimization known as "predicate pushdown" involves applying this filtering process to the database, leading to enhanced and faster query performance.
Predicate pushdown is a technique used to make database queries faster. Here's how it works:

When you run a query with a filter (for example, using a `where` clause), the database has to find which rows match that filter.

Predicate pushdown means that instead of checking each row one by one, the database applies the filter as early as possible in the query process. This way, it reduces the amount of data it needs to process, making the query run faster.
Loading