Skip to content

Commit e572de3

Browse files
authored
Update README
After Mika's review
1 parent f1602cf commit e572de3

File tree

1 file changed

+88
-56
lines changed

1 file changed

+88
-56
lines changed

README.md

Lines changed: 88 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,65 @@
22
<img alt="Logo" src="https://raw.githubusercontent.com/elementary-data/elementary/master/static/github_banner.png"/ width="1000">
33
</p>
44

5-
# [dbt native data observability](https://www.elementary-data.com/)
5+
# [dbt-native data observability](https://www.elementary-data.com/)
66

77
<p align="center">
88
<a href="https://join.slack.com/t/elementary-community/shared_invite/zt-uehfrq2f-zXeVTtXrjYRbdE_V6xq4Rg"><img src="https://img.shields.io/badge/join-Slack-ff69b4"/></a>
99
<a href="https://docs.elementary-data.com/quickstart"><img src="https://img.shields.io/badge/docs-quickstart-orange"/></a>
1010
<img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-ff69b4"/>
11-
<img alt="Downloads" src="https://static.pepy.tech/personalized-badge/elementary-lineage?period=total&units=international_system&left_color=grey&right_color=orange"&left_text=Downloads"/>
11+
<img alt="Downloads" src="[https://static.pepy.tech/personalized-badge/elementary-lineage?period=total&units=international_system&left_color=grey&right_color=orange"&left_text=Downloads"/](https://static.pepy.tech/personalized-badge/elementary-lineage?period=total&units=international_system&left_color=grey&right_color=orange%22&left_text=Downloads%22/)>
1212
</p>
1313

1414
## What is Elementary?
1515

16-
This dbt package is part of Elementary, the dbt-native data observability solution for data and analytics engineers.
17-
Set up in minutes, gain immediate visibility, detect data issues, send actionable alerts, and understand impact and root cause.
18-
Available as self-hosted or Cloud service with premium features.
16+
This dbt-native package powers **Elementary**, helping data and analytics engineers **detect data anomalies** and build **rich metadata tables** from their dbt runs and tests. Gain immediate visibility into data quality trends, **detect anomalies**, and uncover potential issues—all within dbt.
1917

20-
#### Table of Contents
18+
Choose the observability tool that fits your needs:
2119

22-
- [Quick start - dbt package](#quick-start---dbt-package)
23-
- [Get more out of Elementary](#get-more-out-of-elementary-dbt-package)
24-
- [Run results and dbt artifacts](#run-results-and-dbt-artifacts)
25-
- [Data anomaly detection as dbt tests](#data-anomaly-detection-as-dbt-tests)
26-
- [How Elementary works?](#how-elementary-works)
27-
- [Community & Support](#community--support)
28-
- [Contribution](#contributions)
20+
✅ [**Elementary Open Source**](https://docs.elementary-data.com/oss/oss-introduction) – A powerful, self-hosted tool for teams that want full control.
2921

30-
## Quick start - dbt package
22+
✅ [**Elementary Cloud Platform**](https://docs.elementary-data.com/cloud/introduction) – A fully managed, enterprise-ready solution with **automated ML-powered anomaly detection, flexible data discovery, integrated incident management, and collaboration tools**—all with minimal setup and infrastructure maintenance.
23+
24+
### Table of Contents
25+
26+
- [What's Inside the Elementary dbt Package?](#whats-inside-the-elementary-dbt-package)
27+
- [Quickstart - dbt package](#quickstart---dbt-package)
28+
- [Get more out of Elementary dbt package](#get-more-out-of-elementary-dbt-package)
29+
- [Elementary tables - Run Results and dbt artifacts](#elementary-tables---run-results-and-dbt-artifacts)
30+
- [Data anomaly detection as dbt tests](#data-anomaly-detection-as-dbt-tests)
31+
- [Community & Support](#community--support)
32+
- [Contributions](#contributions)
33+
34+
35+
### **What's Inside the Elementary dbt Package?**
36+
37+
The **Elementary dbt package** is designed to enhance data observability within your dbt workflows. It includes two core components:
38+
39+
- **Elementary Tests** – A collection of **anomaly detection tests** and other data quality checks that help identify unexpected trends, missing data, or schema changes directly within your dbt runs.
40+
- **Metadata & Test Results Tables** – The package automatically generates and updates **metadata tables** in your data warehouse, capturing valuable information from your dbt runs and test results. These tables act as the backbone of your **observability setup**, enabling **alerts and reports** when connected to an Elementary observability platform.
41+
42+
## Quickstart - dbt package
3143

3244
1. Add to your `packages.yml`:
3345

34-
```yml packages.yml
46+
```
3547
packages:
3648
- package: elementary-data/elementary
3749
version: 0.17.0
38-
## Docs: https://docs.elementary-data.com
50+
## Docs: <https://docs.elementary-data.com>
51+
3952
```
4053

4154
2. Run `dbt deps`
42-
4355
3. Add to your `dbt_project.yml`:
4456

45-
```yml
57+
```
4658
models:
4759
## elementary models will be created in the schema '<your_schema>_elementary'
48-
## for details, see docs: https://docs.elementary-data.com/
60+
## for details, see docs: <https://docs.elementary-data.com/>
4961
elementary:
5062
+schema: "elementary"
63+
5164
```
5265

5366
4. Run `dbt run --select elementary`
@@ -56,69 +69,88 @@ Check out the [full documentation](https://docs.elementary-data.com/).
5669

5770
## Get more out of Elementary dbt package
5871

59-
Elementary has 3 offerings: This dbt package, Elementary Community (OSS) and Elementary (cloud service).
72+
The **Elementary dbt package** helps you find anomalies in your data and build metadata tables from your dbt runs and tests—but there's even more you can do.
73+
74+
To generate observability reports, send alerts, and govern your data quality effectively, connect your dbt package to one of the following options:
6075

61-
- **dbt package**
62-
- For basic data monitoring and dbt artifacts collection, Elementary offers a dbt package. The package adds logging, artifacts uploading, and Elementary tests (anomaly detection and schema) to your project.
63-
- **Elementary Community**
64-
- An open-source CLI tool you can deploy and orchestrate to send alerts and self-host the Elementary report. Best for data and analytics engineers that require basic observability capabilities or for evaluating features without vendor approval. Our community can provide great support on [Slack](https://www.elementary-data.com/community) if needed.
76+
- **Elementary OSS**
77+
- An open-source CLI tool you can **deploy and orchestrate to send alerts** and **self-host the Elementary report**. Best for data and analytics engineers that require basic observability capabilities or for evaluating features without vendor approval. Quickstart [here](https://docs.elementary-data.com/oss/quickstart/quickstart-cli), and our team and community can provide great support on [Slack](https://www.elementary-data.com/community) if needed.
6578
- **Elementary Cloud**
66-
- Ideal for teams monitoring mission-critical data pipelines, requiring guaranteed uptime and reliability, short-time-to-value, advanced features, collaboration, and professional support. The solution is secure by design, and requires no access to your data from cloud. To learn more, [book a demo](https://cal.com/maayansa/elementary-intro-github-package) or [start a trial](https://www.elementary-data.com/signup).
79+
- A **fully managed, enterprise-ready** solution designed for **scalability and automation**. It offers automated **ML-powered anomaly detection**, flexible **data discovery**, an integrated **incident management system**, and **collaboration features.** Delivering **high value with minimal setup and infrastructure maintenance**, it's ideal for teams looking to enhance data reliability without operational overhead. To learn more, [book a demo](https://cal.com/maayansa/elementary-intro-github-package) or [start a trial](https://www.elementary-data.com/signup).
6780

68-
## Run Results and dbt artifacts
81+
<kbd align="center">
82+
<a href="https://storage.googleapis.com/elementary_static/elementary_demo.html"><img align="center" style="max-width:300px;" src="https://raw.githubusercontent.com/elementary-data/elementary/master/static/report_ui.gif"> </a>
83+
</kbd>
6984

70-
The package automatically uploads dbt artifacts and run results to tables in your data warehouse:
85+
## Elementary tables - Run Results and dbt artifacts
7186

72-
Run results tables:
87+
The **Elementary dbt package** automatically stores **dbt artifacts and run results** in your data warehouse, creating structured tables that provide visibility into your dbt runs and metadata.
7388

74-
- dbt_run_results
75-
- model_run_results
76-
- snapshot_run_results
77-
- dbt_invocations
78-
- elementary_test_results (all dbt test results)
89+
### **Metadata Tables - dbt artifacts**
7990

80-
Metadata tables:
91+
These tables provide a comprehensive view of your dbt project structure and configurations:
8192

82-
- dbt_models
83-
- dbt_tests
84-
- dbt_sources
85-
- dbt_exposures
86-
- dbt_metrics
87-
- dbt_snapshots
93+
- **dbt_models** – Details on all dbt models.
94+
- **dbt_tests** – Stores information about dbt tests.
95+
- **dbt_sources** – Tracks source tables and freshness checks.
96+
- **dbt_exposures** – Logs downstream data usage.
97+
- **dbt_metrics** – Captures dbt-defined metrics.
98+
- **dbt_snapshots** – Stores historical snapshot data.
99+
- **dbt_seeds -** Stores current metadata about seed files in the dbt project.
100+
- **dbt_columns** - Stores detailed information about columns across the dbt project.
88101

89-
Here you can find [additional details about the tables](https://docs.elementary-data.com/guides/modules-overview/dbt-package).
102+
### **Run Results Tables**
90103

91-
## Data anomaly detection as dbt tests
104+
These tables track execution details, test outcomes, and performance metrics from your dbt runs:
105+
106+
- **dbt_run_results** – Captures high-level details of each dbt run.
107+
- **model_run_results** – Stores execution data for dbt models.
108+
- **snapshot_run_results** – Logs results from dbt snapshots.
109+
- **dbt_invocations** – Tracks each instance of dbt being run.
110+
- **elementary_test_results** – Consolidates all dbt test results, including Elementary anomaly tests.
92111

93-
Elementary dbt tests collect metrics and metadata over time, such as freshness, volume, schema changes, distribution, cardinality, etc.
94-
Executed as any other dbt tests, the Elementary tests alert on anomalies and outliers.
112+
For a full breakdown of these tables, see the [documentation](https://docs.elementary-data.com/dbt/package-models).
113+
114+
## Data anomaly detection as dbt tests
95115

96116
**Elementary tests are configured and executed like native tests in your project!**
97117

98-
Example of Elementary test config in `properties.yml`:
118+
Elementary dbt tests help track and alert on schema changes as well as key metrics and metadata over time, including freshness, volume, distribution, cardinality, and more.
119+
120+
**Seamlessly configured and run like native dbt tests,** Elementary tests detect anomalies and outliers, helping you catch data issues early.
99121

100-
```yml
122+
Example of an Elementary test config in `schema.yml`:
123+
124+
```
101125
models:
102126
- name: your_model_name
103127
config:
104128
elementary:
105129
timestamp_column: updated_at
106130
tests:
107-
- elementary.table_anomalies
108-
- elementary.all_columns_anomalies
131+
- elementary.all_columns_anomalies
132+
109133
```
110134

111-
Read about the available [Elementary tests and configuration](https://docs.elementary-data.com/data-tests/introduction).
135+
Elementary tests include:
112136

113-
## How Elementary works?
137+
### **Anomaly detection tests**
114138

115-
Elementary dbt package creates tables of metadata and test results in your data warehouse, as part of your dbt runs.
139+
- **Volume anomalies -** Monitors the row count of your table over time per time bucket.
140+
- **Freshness anomalies -** Monitors the freshness of your table over time, as the expected time between data updates.
141+
- **Event freshness anomalies -** Monitors the freshness of event data over time, as the expected time it takes each event to load - that is, the time between when the event actually occurs (the **`event timestamp`**), and when it is loaded to the database (the **`update timestamp`**).
142+
- **Dimension anomalies -** Monitors the count of rows grouped by given **`dimensions`** (columns/expressions).
143+
- **Column anomalies -** Executes column level monitors on a certain column, with a chosen metric.
144+
- **All columns anomalies** - Executes column level monitors and anomaly detection on all the columns of the table.
116145

117-
The cloud service or the CLI tool read the data from these tables, send alerts and present the results in the UI.
146+
### **Schema tests**
118147

119-
<kbd align="center">
120-
<a href="https://storage.googleapis.com/elementary_static/elementary_demo.html"><img align="center" style="max-width:300px;" src="https://raw.githubusercontent.com/elementary-data/elementary/master/static/report_ui.gif"> </a>
121-
</kbd>
148+
- **Schema changes -** Alerts on a deleted table, deleted or added columns, or change of data type of a column.
149+
- **Schema changes from baseline** - Checks for schema changes against baseline columns defined in a source’s or model’s configuration.
150+
- **JSON schema** - Allows validating that a string column matches a given JSON schema.
151+
- **Exposure validation test -** Detects changes in your models’ columns that break downstream exposure.
152+
153+
Read more about the available [Elementary tests and configuration](https://docs.elementary-data.com/data-tests/introduction).
122154

123155
## Community & Support
124156

@@ -129,4 +161,4 @@ The cloud service or the CLI tool read the data from these tables, send alerts a
129161

130162
Thank you :orange_heart: Whether it’s a bug fix, new feature, or additional documentation - we greatly appreciate contributions!
131163

132-
Check out the [contributions guide](https://docs.elementary-data.com/general/contributions) and [open issues](https://github.com/elementary-data/elementary/issues) in the main repo.
164+
Check out the [contributions guide](https://docs.elementary-data.com/oss/general/contributions) and [open issues](https://github.com/elementary-data/elementary/issues) in the main repo.

0 commit comments

Comments
 (0)