Building an open source data stack 🥞
A guide on open source tools from event capture to visualization
I’m Katie, and I’m here to tell you that the modern data stack is great.
2
I used to work at a bank
3
I used to work at a bank
4
https://media.giphy.com/media/3otPoBRKROJl9UbqMM/giphy.gif?quality=90&strip=all&zoom=1&resize=480%2C270
I used to work at a bank...and some people had never seen a modern data stack.
5
https://images.squarespace-cdn.com/content/v1/51eacd5be4b0161a067dfde4/1565878430123-QBWQBSDL49Y52JJQE67W/Chart-sure-its-complicated.PNG?format=1000w
The quest to spread the data stack love �(and understanding)
6
https://memegenerator.net/img/instances/57304991.jpg
I believe that:
7
I believe that:
8
Let’s set the scene...
You’re at a company
without the modern data stack
10
Events get ingested...sometimes
11
?
Your customer growth is tracked in an Excel sheet (featuring lots of complicated VLOOKUPs)
12
Only one of the engineers knows how to share the customer growth data.
13
They’ve ended up in a situation where data-informed decision making is not an option.
14
Enter...the modern data stack
I’ve broken this down into three “steps”:
Going from App-land to Data-land:
Extract + Load
Finding America’s Next Top (Data) Model:
Transform
Keeping our data dashing:
Visualize/Analyze
16
From App-Land to Data-Land
How Rudderstack streams data from an app to a data warehouse
Ideal world: When a user does something in the app, we know about it.
Event data
Event data
Event data
Rudderstack lets us easily track actions that a user takes in the app.
Event data
Event data
Event data
Engineers build features that log information about what they’re doing (event data!)
Source: rudderstack.com
Rudderstack lets us send our data wherever we want it to go.
Source: rudderstack.com
Extract + Load:
Going from App Land to Data Land
Event data
Event data
Event data
App Land
Data Land
Raw event data
Extract + Load:
Going from App Land to Data Land
Event data
Event data
Event data
App Land
Data Land
Raw event data
Britain’s Next Top �Data Model
How we organize raw data using data models in dbt.
We have raw data, but it’s not nearly as nice as transformed data.
Event data
Event data
Event data
App Land
Data Land
Raw event data
Transformed data
?
26
We use data models to standardize relationships between raw events
identifies.user_created�identifies.user_activated
identifies.user_updated
identifies.user_deleted
deployments-prod.query_executed
deployments-prod.chart_saved
….
}
users.sql
users table
1. Raw Events
2. Data Model
3. Output
4. Inserted into Database
We write data models using dbt and their framework.
Raw event data
Transformed data
Data
Models
Data Land
28
What would happen if we just used SQL?
29
If we added a new column to the customer growth data model.
30
fixes all of these problems at once.
31
We write data models using dbt & their framework
Event data
Event data
Event data
App Land
Data Land
Raw event data
Transformed data
Keeping our Data Dashing
How we use Lightdash to share data insights
There are 3(ish) ways to let people answer their questions with data
33
34
Raw data
Raw data
data
Raw data
data
Raw data
data
35
Raw data
Raw data
data
Raw data
data
Raw data
data
2. Give complete answers to everyone.
36
2. Give complete answers to everyone.
37
3. Give people useful building blocks.
38
gives users meaningful building blocks to answer their own data questions.
39
https://www.mentalfloss.com/article/92127/how-many-combinations-are-possible-using-6-lego-bricks
40
What is the total order count split by status?
metric
dimension
41
What is the total order count split by status?
metric
dimension
now supports dbt metrics!
42
gives users meaningful building blocks to answer their own data questions.
43
lets users answer their data questions
44
Event data
Event data
Event data
App Land
Data Land
Raw event data
Transformed data
Business insights
Back to our original scenario...
: Events get tracked and loaded into your data warehouse
46
46
Event data
Event data
Event data
App Land
Data Land
Raw event data
Your customer growth model is
built in
47
Event data
Event data
Event data
App Land
Data Land
Raw event data
Transformed data
Everyone in the team has access to the
customer growth chart in
48
Event data
Event data
Event data
App Land
Data Land
Raw event data
Transformed data
Business insights
The modern data stack has all of the main bits to go from raw data → insights
...and it’s way better than what we used to have.
49
I skipped a lot of potential steps and other tool options...
50
How do we integrate all of these modular parts together to create an end-to-end data experience?
51
As data builders, we feel like we’ve got a Ferrari
52
But data consumers see something more like this...
53
How do we integrate all of these modular parts together to create an end-to-end data experience?
54
55
Skip the queue for
lightdash.com/coalesce2021