Skip to content

Commit b7fdb6c

Browse files
authored
Merging new Readme file
Update README
2 parents 3e5f4c1 + 5eeba84 commit b7fdb6c

File tree

1 file changed

+119
-78
lines changed

1 file changed

+119
-78
lines changed

README.md

Lines changed: 119 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -2,114 +2,137 @@
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 trend 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)
20+
✅ [**Elementary Open Source**](https://docs.elementary-data.com/oss/oss-introduction) – A powerful, self-hosted tool for teams that want full control.
21+
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+
- [Get more out of Elementary dbt package](#get-more-out-of-elementary-dbt-package)
28+
- [Data Anomaly Detection & Schema changes as dbt Tests](#data-anomaly-detection--schema-changes-as-dbt-tests)
29+
- [Elementary Tables - Run Results and dbt Artifacts](#elementary-tables---run-results-and-dbt-artifacts)
2630
- [AI-powered data validation and unstructured data tests](#ai-powered-data-validation-and-unstructured-data-tests)
27-
- [How Elementary works?](#how-elementary-works)
31+
- [Quickstart - dbt Package](#quickstart---dbt-package)
2832
- [Community & Support](#community--support)
29-
- [Contribution](#contributions)
33+
- [Contributions](#contributions)
3034

31-
## Quick start - dbt package
35+
### **What's Inside the Elementary dbt Package?**
3236

33-
1. Add to your `packages.yml`:
37+
The **Elementary dbt package** is designed to enhance data observability within your dbt workflows. It includes two core components:
3438

35-
```yml packages.yml
36-
packages:
37-
- package: elementary-data/elementary
38-
version: 0.18.0
39-
## Docs: https://docs.elementary-data.com
40-
```
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.
4141

42-
2. Run `dbt deps`
42+
## Get more out of Elementary dbt package
4343

44-
3. Add to your `dbt_project.yml`:
44+
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.
4545

46-
```yml
47-
models:
48-
## elementary models will be created in the schema '<your_schema>_elementary'
49-
## for details, see docs: https://docs.elementary-data.com/
50-
elementary:
51-
+schema: "elementary"
52-
```
46+
To generate observability reports, send alerts, and govern your data quality effectively, connect your dbt package to one of the following options:
5347

54-
4. Run `dbt run --select elementary`
48+
- **Elementary OSS**
49+
- **A self-hosted, open-source CLI** that integrates seamlessly with your dbt project and the Elementary dbt package. It **enables alerting and provides the basic Elementary data observability report**, offering a comprehensive view of your dbt runs, all dbt test results, data lineage, and test coverage. It’s ideal for small teams of data and/or analytics engineers seeking a straightforward, non-collaborative setup for data observability. 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.
50+
- **Elementary Cloud**
51+
- 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).
5552

56-
Check out the [full documentation](https://docs.elementary-data.com/).
53+
<kbd align="center">
54+
<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>
55+
</kbd>
5756

58-
## Get more out of Elementary dbt package
57+
## Data Anomaly Detection & Schema changes as dbt Tests
5958

60-
Elementary has 3 offerings: This dbt package, Elementary Community (OSS) and Elementary (cloud service).
59+
**Elementary tests are configured and executed like native tests in your project!**
6160

62-
- **dbt package**
63-
- 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.
64-
- **Elementary Community**
65-
- 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.
66-
- **Elementary Cloud**
67-
- 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).
61+
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.
6862

69-
## Run Results and dbt artifacts
63+
**Seamlessly configured and run like native dbt tests,** Elementary tests detect anomalies and outliers, helping you catch data issues early.
7064

71-
The package automatically uploads dbt artifacts and run results to tables in your data warehouse:
65+
Example of an Elementary test config in `schema.yml`:
7266

73-
Run results tables:
67+
```
7468
75-
- dbt_run_results
76-
- model_run_results
77-
- snapshot_run_results
78-
- dbt_invocations
79-
- elementary_test_results (all dbt test results)
69+
models:
70+
- name: all_events
71+
config:
72+
elementary:
73+
timestamp_column: 'loaded_at'
74+
columns:
75+
- name: event_count
76+
tests:
77+
- elementary.column_anomalies:
78+
column_anomalies:
79+
- average
80+
where_expression: "event_type in ('event_1', 'event_2') and country_name != 'unwanted country'"
81+
anomaly_sensitivity: 2
82+
time_bucket:
83+
period: day
84+
count:1
8085
81-
Metadata tables:
86+
```
8287

83-
- dbt_models
84-
- dbt_tests
85-
- dbt_sources
86-
- dbt_exposures
87-
- dbt_metrics
88-
- dbt_snapshots
88+
Elementary tests include:
8989

90-
Here you can find [additional details about the tables](https://docs.elementary-data.com/guides/modules-overview/dbt-package).
90+
### **Anomaly Detection Tests**
9191

92-
## Data anomaly detection as dbt tests
92+
- **Volume anomalies -** Monitors the row count of your table over time per time bucket.
93+
- **Freshness anomalies -** Monitors the freshness of your table over time, as the expected time between data updates.
94+
- **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`**).
95+
- **Dimension anomalies -** Monitors the count of rows grouped by given **`dimensions`** (columns/expressions).
96+
- **Column anomalies -** Executes column level monitors on a certain column, with a chosen metric.
97+
- **All columns anomalies** - Executes column level monitors and anomaly detection on all the columns of the table.
9398

94-
Elementary dbt tests collect metrics and metadata over time, such as freshness, volume, schema changes, distribution, cardinality, etc.
95-
Executed as any other dbt tests, the Elementary tests alert on anomalies and outliers.
99+
### **Schema Tests**
96100

97-
**Elementary tests are configured and executed like native tests in your project!**
101+
- **Schema changes -** Alerts on a deleted table, deleted or added columns, or change of data type of a column.
102+
- **Schema changes from baseline** - Checks for schema changes against baseline columns defined in a source’s or model’s configuration.
103+
- **JSON schema** - Allows validating that a string column matches a given JSON schema.
104+
- **Exposure validation test -** Detects changes in your models’ columns that break downstream exposure.
98105

99-
Example of Elementary test config in `properties.yml`:
106+
Read more about the available [Elementary tests and configuration](https://docs.elementary-data.com/data-tests/introduction).
100107

101-
```yml
102-
models:
103-
- name: your_model_name
104-
config:
105-
elementary:
106-
timestamp_column: updated_at
107-
tests:
108-
- elementary.table_anomalies
109-
- elementary.all_columns_anomalies
110-
```
108+
## Elementary Tables - Run Results and dbt Artifacts
109+
110+
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.
111+
112+
### **Metadata Tables - dbt Artifacts**
113+
114+
These tables provide a comprehensive view of your dbt project structure and configurations:
115+
116+
- **dbt_models** – Details on all dbt models.
117+
- **dbt_tests** – Stores information about dbt tests.
118+
- **dbt_sources** – Tracks source tables and freshness checks.
119+
- **dbt_exposures** – Logs downstream data usage.
120+
- **dbt_metrics** – Captures dbt-defined metrics.
121+
- **dbt_snapshots** – Stores historical snapshot data.
122+
- **dbt_seeds -** Stores current metadata about seed files in the dbt project.
123+
- **dbt_columns** - Stores detailed information about columns across the dbt project.
124+
125+
### **Run Results Tables**
111126

112-
Read about the available [Elementary tests and configuration](https://docs.elementary-data.com/data-tests/introduction).
127+
These tables track execution details, test outcomes, and performance metrics from your dbt runs:
128+
129+
- **dbt_run_results** – Captures high-level details of each dbt run.
130+
- **model_run_results** – Stores execution data for dbt models.
131+
- **snapshot_run_results** – Logs results from dbt snapshots.
132+
- **dbt_invocations** – Tracks each instance of dbt being run.
133+
- **elementary_test_results** – Consolidates all dbt test results, including Elementary anomaly tests.
134+
135+
For a full breakdown of these tables, see the [documentation](https://docs.elementary-data.com/dbt/package-models).
113136

114137
## AI-powered data validation and unstructured data tests
115138

@@ -135,15 +158,33 @@ models:
135158
136159
Learn more in our [AI data validations documentation](https://docs.elementary-data.com/data-tests/ai-data-tests/ai_data_validations).
137160
138-
## How Elementary works?
161+
## Quickstart - dbt Package
139162
140-
Elementary dbt package creates tables of metadata and test results in your data warehouse, as part of your dbt runs.
163+
1. Add to your `packages.yml`:
141164

142-
The cloud service or the CLI tool read the data from these tables, send alerts and present the results in the UI.
165+
```
166+
packages:
167+
- package: elementary-data/elementary
168+
version: 0.18.0
169+
## Docs: <https://docs.elementary-data.com>
143170

144-
<kbd align="center">
145-
<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>
146-
</kbd>
171+
```
172+
173+
2. Run `dbt deps`
174+
3. Add to your `dbt_project.yml`:
175+
176+
```
177+
models:
178+
## elementary models will be created in the schema '<your_schema>_elementary'
179+
## for details, see docs: <https://docs.elementary-data.com/>
180+
elementary:
181+
+schema: "elementary"
182+
183+
```
184+
185+
4. Run `dbt run --select elementary`
186+
187+
Check out the [full documentation](https://docs.elementary-data.com/).
147188
148189
## Community & Support
149190
@@ -154,4 +195,4 @@ The cloud service or the CLI tool read the data from these tables, send alerts a
154195
155196
Thank you :orange_heart: Whether it's a bug fix, new feature, or additional documentation - we greatly appreciate contributions!
156197
157-
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.
198+
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)