SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Designing a Modern Data Stack
Will Angel - 23 Jan 2023 - Data Engineer’s Lunch
Overview
1. What is a Data Stack?
2. Data Solution Design Process
3. Data Stack Design Examples
4. Demo
5. Conclusion
What is a data stack?
What is a regular software stack?
A software “stack” is the set of software or
software components needed to run an
application.
Notable examples:
● LAMP
○ Linux
○ Apache
○ MySQL
○ PHP
● MERN
○ MongoDB
○ Express.js
○ React.js
○ Node.js
Are data stacks just regular software stacks?
Yes and no.
Data engineering is a specialty within software engineering,
and everything is software running on computers at the end
of the day, so yes, data stacks are software stacks.
But, there are notable differences that are worth addressing…
Especially because every data tool company wants to market
their tool as part of the “Modern Data Stack”
What is Modern about the “Modern” data stack?
Four major trends make the
‘modern data stack’ make
sense:
1. Modern Cloud platforms.
2. Column Store Data
Warehouses.
3. Cost of disk trending to zero.
4. Proliferation of managed
data tools.
Defining Characteristics of the Modern Data Stack
1. Cloud & SQL Based: Column-store based Cloud Data Warehouse at the center
○ With optional file / object store based data lake.
2. Modular: Managed SaaS tools for almost every part of the data lifecycle.
○ Optional: run open source components and write your own integrations.
What is so special about cloud data warehouses?
Modern column store data warehouses run on a cloud
computing platform have some great benefits for building data
intensive applications:
● Flexible & scalable pay-as-you go compute:
○ No upfront hardware or major purchases required.
○ No outgrowing your data center at awkward times.
● Managed services
○ Running your own infrastructure reliably and effectively is hard, so
paying for a cloud computing company to do it for you is usually a great
deal.
○ Allows for data teams to move quickly without needing as much
specialized operational experience.
The cost of storage
Cost per GB has fallen
~100,000x since the mid 90s.
The cellphone in your pocket has
more storage and processing
power than a Cray-2
supercomputer from the mid 80s.
The Big Data Revolution is
mostly driven by this trend.
Data Solution Design Process
Data Solution design process
1. Determine desired capabilities & design constraints
2. Create iteration plan
3. Execute plan.
4. Evaluate delivered data solution.
5. Return to 1.
Same as OODA (Observe, Orient, Decide, Act)/ PDCA (Plan, Do,
Check, Act) frameworks. Iteration cycle scale and length can be
minutes to years (I recommended shorter and smaller).
Step 1. Problem Definition
The first step in developing a solution is to identify the problem.
This step can include:
● Requirements gathering
● Software vision documentation
● User research & interviews
● Industry research
● Documentation
● More documentation…
Step 2. Create an iteration plan
Create a plan to deliver a working system that has the capabilities to solve all of
the necessary problems.
This can include:
● System design diagrams & documents
● Jira tickets and work breakdown structure
● Doodles on a napkin
Step 3. Execute the plan
Once you have a plan that looks good enough, build the thing!
This should include:
● Software development
● Software development to improve the software development process
● Procurement - buying off the shelf tools.
● Testing - systems integration & technical tests.
● Testing - user / client demos.
Step 4. Evaluate
After developing a functional data solution, it is important to evaluate whether you
did an acceptable job.
This includes:
● Requirements review - does the data solution meet the requirements?
● Capability value - do the data solution’s new capabilities actually provide value?
● Identify future improvement opportunities
● Identify future development process improvement opportunities
Step 5. Repeat the cycle
Data Platform development is an iterative process, and much of the value depends
on the end users: unused data is worthless, so if the developed system is unused,
it won’t have been worth building most of the time.
Iteration is a great way to discover unknown requirements and opportunities, and
work with the end users of data to build good data systems that help cultivate a
vibrant ecosystem.
Design Example 1:
Generic BI Data Stack
The Modern Data Stack for Business Intelligence
Core Components:
1. Storage - Cloud Data
Warehouse
(Snowflake, Redshift,
BigQuery)
2. Ingestion - Managed
ETL (Stitch, Fivetran)
3. Transformation - dbt /
SQL
4. Visualization - BI tool
of choice
Auxiliary Components
You’ll also want:
● Data Observability - tools like Monte Carlo & BigEye
● Data Cataloging - tools like Castor or Alation
● Systems Observability - ELK / Prometheus & Grafana
A modern data platform is a large distributed system with
numerous third party vendors and constantly changing API
integrations. Treat it with respect or it will break on you.
Design Example 2:
Personal Data Warehouse
High Level Design - Personal Data Warehouse
Primary Design constraints:
1. Low cost.
2. Low maintenance
3. Data Variety: lots of unstructured
data.
Notable freeing design characteristics:
1. Low velocity - weekly update
maximum for most bulk sources
2. Low volume - ~1-5gb per source
per update for full refresh
3. Low user count - single user (me)
1. Raw Storage in Google Cloud Storage
2. Data Transformation Pipelines in Dataflow
(managed Apache beam)
3. BigQuery Data Warehouse for relational data
4. Looker Studio (formerly Google Data Studio) for BI.
Detailed Design - Personal Data Warehouse
Conclusion
Caveats:
1. Modern Data Stack – like many other terms – is mostly a marketing term / fad.
2. The major components of modern data stacks have sharp edges
a. Costs can quickly spiral out of control if data access is overly democratic.
b. Powerful configuration options - updates to data pipelines are easier to make, not necessarily
more correct.
3. There are still huge opportunities for tooling improvements.
a. Last ~10 years have seen a huge unbundling of data tools and new ‘best in breed’ SaaS providers.
i. Integrating all these components into a cohesive platform is a lot of work, so we will see
bundled all in one data platforms become increasingly competitive.
b. Metadata / data cataloging tools need improvement to support better data management.
The best data stack is the one that works best for you.
● Data Stack Design is system design
○ The best systems are those that provide the desired capabilities.
■ Actually think about what the design goals of your data stack are.
● Data Stack Development is iterative
○ Sometimes everyone will be happiest with a simple solution like a cron job querying the
production database (preferably a replica).
■ This can work well for years.
■ This can also turn into a hot mess operationally and require urgent replacement with a
better solution
○ Finding an optimal balance between planning and learning is hard.
■ Finding a close enough to optimal balance is feasible.
Thank you!
Have any data problems? I’m looking for new Data
Engineering / Technical Product Manager Roles.
Email: Will@williamangel.net
Website: www.williamangel.net | www.d8aeng.com
Twitter: @DataDrivenAngel
Linkedin: https://www.linkedin.com/in/william-angel/

Weitere ähnliche Inhalte

Was ist angesagt?

Date warehousing concepts
Date warehousing conceptsDate warehousing concepts
Date warehousing concepts
pcherukumalla
 
What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?
RTTS
 
Data Architecture for Data Governance
Data Architecture for Data GovernanceData Architecture for Data Governance
Data Architecture for Data Governance
DATAVERSITY
 

Was ist angesagt? (20)

Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
Date warehousing concepts
Date warehousing conceptsDate warehousing concepts
Date warehousing concepts
 
What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?What is a Data Warehouse and How Do I Test It?
What is a Data Warehouse and How Do I Test It?
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics Primer
 
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
 
Data Architecture for Data Governance
Data Architecture for Data GovernanceData Architecture for Data Governance
Data Architecture for Data Governance
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh Architecture
 
Designing modern dw and data lake
Designing modern dw and data lakeDesigning modern dw and data lake
Designing modern dw and data lake
 
Enterprise Data Architecture Deliverables
Enterprise Data Architecture DeliverablesEnterprise Data Architecture Deliverables
Enterprise Data Architecture Deliverables
 
Getting Started with Delta Lake on Databricks
Getting Started with Delta Lake on DatabricksGetting Started with Delta Lake on Databricks
Getting Started with Delta Lake on Databricks
 
Introducing Databricks Delta
Introducing Databricks DeltaIntroducing Databricks Delta
Introducing Databricks Delta
 
Data Mesh 101
Data Mesh 101Data Mesh 101
Data Mesh 101
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architecture
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic Datasets
 
Technical Deck Delta Live Tables.pdf
Technical Deck Delta Live Tables.pdfTechnical Deck Delta Live Tables.pdf
Technical Deck Delta Live Tables.pdf
 
Data Catalog for Better Data Discovery and Governance
Data Catalog for Better Data Discovery and GovernanceData Catalog for Better Data Discovery and Governance
Data Catalog for Better Data Discovery and Governance
 
Conceptual vs. Logical vs. Physical Data Modeling
Conceptual vs. Logical vs. Physical Data ModelingConceptual vs. Logical vs. Physical Data Modeling
Conceptual vs. Logical vs. Physical Data Modeling
 
Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?
 
An overview of snowflake
An overview of snowflakeAn overview of snowflake
An overview of snowflake
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
 

Ähnlich wie Data Engineer's Lunch #85: Designing a Modern Data Stack

The Growth Of Data Centers
The Growth Of Data CentersThe Growth Of Data Centers
The Growth Of Data Centers
Gina Buck
 
The Essentials Of Project Management
The Essentials Of Project ManagementThe Essentials Of Project Management
The Essentials Of Project Management
Laura Arrigo
 
Build User-Facing Analytics Application That Scales Using StarRocks (DLH).pdf
Build User-Facing Analytics Application That Scales Using StarRocks (DLH).pdfBuild User-Facing Analytics Application That Scales Using StarRocks (DLH).pdf
Build User-Facing Analytics Application That Scales Using StarRocks (DLH).pdf
Albert Wong
 
TidalScale Overview
TidalScale OverviewTidalScale Overview
TidalScale Overview
Pete Jarvis
 

Ähnlich wie Data Engineer's Lunch #85: Designing a Modern Data Stack (20)

Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
 
BigData Analysis
BigData AnalysisBigData Analysis
BigData Analysis
 
How Data Virtualization Puts Enterprise Machine Learning Programs into Produc...
How Data Virtualization Puts Enterprise Machine Learning Programs into Produc...How Data Virtualization Puts Enterprise Machine Learning Programs into Produc...
How Data Virtualization Puts Enterprise Machine Learning Programs into Produc...
 
How Data Virtualization Puts Machine Learning into Production (APAC)
How Data Virtualization Puts Machine Learning into Production (APAC)How Data Virtualization Puts Machine Learning into Production (APAC)
How Data Virtualization Puts Machine Learning into Production (APAC)
 
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data ArchitectureADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
 
Data Engineer's Lunch #60: Series - Developing Enterprise Consciousness
Data Engineer's Lunch #60: Series - Developing Enterprise ConsciousnessData Engineer's Lunch #60: Series - Developing Enterprise Consciousness
Data Engineer's Lunch #60: Series - Developing Enterprise Consciousness
 
The Growth Of Data Centers
The Growth Of Data CentersThe Growth Of Data Centers
The Growth Of Data Centers
 
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
 
Logical Data Lakes: From Single Purpose to Multipurpose Data Lakes (APAC)
Logical Data Lakes: From Single Purpose to Multipurpose Data Lakes (APAC)Logical Data Lakes: From Single Purpose to Multipurpose Data Lakes (APAC)
Logical Data Lakes: From Single Purpose to Multipurpose Data Lakes (APAC)
 
The Essentials Of Project Management
The Essentials Of Project ManagementThe Essentials Of Project Management
The Essentials Of Project Management
 
Doing Analytics Right - Building the Analytics Environment
Doing Analytics Right - Building the Analytics EnvironmentDoing Analytics Right - Building the Analytics Environment
Doing Analytics Right - Building the Analytics Environment
 
DAMA & Denodo Webinar: Modernizing Data Architecture Using Data Virtualization
DAMA & Denodo Webinar: Modernizing Data Architecture Using Data Virtualization DAMA & Denodo Webinar: Modernizing Data Architecture Using Data Virtualization
DAMA & Denodo Webinar: Modernizing Data Architecture Using Data Virtualization
 
Using Data Platforms That Are Fit-For-Purpose
Using Data Platforms That Are Fit-For-PurposeUsing Data Platforms That Are Fit-For-Purpose
Using Data Platforms That Are Fit-For-Purpose
 
Big Data Driven Solutions to Combat Covid' 19
Big Data Driven Solutions to Combat Covid' 19Big Data Driven Solutions to Combat Covid' 19
Big Data Driven Solutions to Combat Covid' 19
 
Build User-Facing Analytics Application That Scales Using StarRocks (DLH).pdf
Build User-Facing Analytics Application That Scales Using StarRocks (DLH).pdfBuild User-Facing Analytics Application That Scales Using StarRocks (DLH).pdf
Build User-Facing Analytics Application That Scales Using StarRocks (DLH).pdf
 
TidalScale Overview
TidalScale OverviewTidalScale Overview
TidalScale Overview
 
Bigdataissueschallengestoolsngoodpractices 141130054740-conversion-gate01
Bigdataissueschallengestoolsngoodpractices 141130054740-conversion-gate01Bigdataissueschallengestoolsngoodpractices 141130054740-conversion-gate01
Bigdataissueschallengestoolsngoodpractices 141130054740-conversion-gate01
 
Big data Question bank.pdf
Big data Question bank.pdfBig data Question bank.pdf
Big data Question bank.pdf
 
Bridging the Last Mile: Getting Data to the People Who Need It
Bridging the Last Mile: Getting Data to the People Who Need ItBridging the Last Mile: Getting Data to the People Who Need It
Bridging the Last Mile: Getting Data to the People Who Need It
 
DevOps for Data Engineers - Automate Your Data Science Pipeline with Ansible,...
DevOps for Data Engineers - Automate Your Data Science Pipeline with Ansible,...DevOps for Data Engineers - Automate Your Data Science Pipeline with Ansible,...
DevOps for Data Engineers - Automate Your Data Science Pipeline with Ansible,...
 

Mehr von Anant Corporation

NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...
NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...
NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...
Anant Corporation
 
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPTAutomate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Anant Corporation
 
Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...
Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...
Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...
Anant Corporation
 

Mehr von Anant Corporation (20)

QLoRA Fine-Tuning on Cassandra Link Data Set (1/2) Cassandra Lunch 137
QLoRA Fine-Tuning on Cassandra Link Data Set (1/2) Cassandra Lunch 137QLoRA Fine-Tuning on Cassandra Link Data Set (1/2) Cassandra Lunch 137
QLoRA Fine-Tuning on Cassandra Link Data Set (1/2) Cassandra Lunch 137
 
Kono.IntelCraft.Weekly.AI.LLM.Landscape.2024.02.28.pdf
Kono.IntelCraft.Weekly.AI.LLM.Landscape.2024.02.28.pdfKono.IntelCraft.Weekly.AI.LLM.Landscape.2024.02.28.pdf
Kono.IntelCraft.Weekly.AI.LLM.Landscape.2024.02.28.pdf
 
Data Engineer's Lunch 96: Intro to Real Time Analytics Using Apache Pinot
Data Engineer's Lunch 96: Intro to Real Time Analytics Using Apache PinotData Engineer's Lunch 96: Intro to Real Time Analytics Using Apache Pinot
Data Engineer's Lunch 96: Intro to Real Time Analytics Using Apache Pinot
 
NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...
NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...
NoCode, Data & AI LLM Inside Bootcamp: Episode 6 - Design Patterns: Retrieval...
 
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPTAutomate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
 
YugabyteDB Developer Tools
YugabyteDB Developer ToolsYugabyteDB Developer Tools
YugabyteDB Developer Tools
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
 
Machine Learning Orchestration with Airflow
Machine Learning Orchestration with AirflowMachine Learning Orchestration with Airflow
Machine Learning Orchestration with Airflow
 
Cassandra Lunch 130: Recap of Cassandra Forward Talks
Cassandra Lunch 130: Recap of Cassandra Forward TalksCassandra Lunch 130: Recap of Cassandra Forward Talks
Cassandra Lunch 130: Recap of Cassandra Forward Talks
 
Data Engineer's Lunch 90: Migrating SQL Data with Arcion
Data Engineer's Lunch 90: Migrating SQL Data with ArcionData Engineer's Lunch 90: Migrating SQL Data with Arcion
Data Engineer's Lunch 90: Migrating SQL Data with Arcion
 
Data Engineer's Lunch 89: Machine Learning Orchestration with AirflowMachine ...
Data Engineer's Lunch 89: Machine Learning Orchestration with AirflowMachine ...Data Engineer's Lunch 89: Machine Learning Orchestration with AirflowMachine ...
Data Engineer's Lunch 89: Machine Learning Orchestration with AirflowMachine ...
 
Cassandra Lunch 129: What’s New: Apache Cassandra 4.1+ Features & Future
Cassandra Lunch 129: What’s New:  Apache Cassandra 4.1+ Features & FutureCassandra Lunch 129: What’s New:  Apache Cassandra 4.1+ Features & Future
Cassandra Lunch 129: What’s New: Apache Cassandra 4.1+ Features & Future
 
Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...
Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...
Data Engineer's Lunch #86: Building Real-Time Applications at Scale: A Case S...
 
CL 121
CL 121CL 121
CL 121
 
Data Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
Data Engineer's Lunch #83: Strategies for Migration to Apache IcebergData Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
Data Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
 
Apache Cassandra Lunch 120: Apache Cassandra Monitoring Made Easy with AxonOps
Apache Cassandra Lunch 120: Apache Cassandra Monitoring Made Easy with AxonOpsApache Cassandra Lunch 120: Apache Cassandra Monitoring Made Easy with AxonOps
Apache Cassandra Lunch 120: Apache Cassandra Monitoring Made Easy with AxonOps
 
Apache Cassandra Lunch 119: Desktop GUI Tools for Apache Cassandra
Apache Cassandra Lunch 119: Desktop GUI Tools for Apache CassandraApache Cassandra Lunch 119: Desktop GUI Tools for Apache Cassandra
Apache Cassandra Lunch 119: Desktop GUI Tools for Apache Cassandra
 
Data Engineer's Lunch #82: Automating Apache Cassandra Operations with Apache...
Data Engineer's Lunch #82: Automating Apache Cassandra Operations with Apache...Data Engineer's Lunch #82: Automating Apache Cassandra Operations with Apache...
Data Engineer's Lunch #82: Automating Apache Cassandra Operations with Apache...
 
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data PlatformsData Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
 
Data Engineer’s Lunch #67: Machine Learning - Feature Selection
Data Engineer’s Lunch #67: Machine Learning - Feature SelectionData Engineer’s Lunch #67: Machine Learning - Feature Selection
Data Engineer’s Lunch #67: Machine Learning - Feature Selection
 

Kürzlich hochgeladen

Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
HyderabadDolls
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
ahmedjiabur940
 
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
gajnagarg
 
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
HyderabadDolls
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
gajnagarg
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
nirzagarg
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 

Kürzlich hochgeladen (20)

Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
 
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime GiridihGiridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
 
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubai
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - Almora
 
Case Study 4 Where the cry of rebellion happen?
Case Study 4 Where the cry of rebellion happen?Case Study 4 Where the cry of rebellion happen?
Case Study 4 Where the cry of rebellion happen?
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham Ware
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 

Data Engineer's Lunch #85: Designing a Modern Data Stack

  • 1. Designing a Modern Data Stack Will Angel - 23 Jan 2023 - Data Engineer’s Lunch
  • 2. Overview 1. What is a Data Stack? 2. Data Solution Design Process 3. Data Stack Design Examples 4. Demo 5. Conclusion
  • 3. What is a data stack?
  • 4. What is a regular software stack? A software “stack” is the set of software or software components needed to run an application. Notable examples: ● LAMP ○ Linux ○ Apache ○ MySQL ○ PHP ● MERN ○ MongoDB ○ Express.js ○ React.js ○ Node.js
  • 5. Are data stacks just regular software stacks? Yes and no. Data engineering is a specialty within software engineering, and everything is software running on computers at the end of the day, so yes, data stacks are software stacks. But, there are notable differences that are worth addressing… Especially because every data tool company wants to market their tool as part of the “Modern Data Stack”
  • 6. What is Modern about the “Modern” data stack? Four major trends make the ‘modern data stack’ make sense: 1. Modern Cloud platforms. 2. Column Store Data Warehouses. 3. Cost of disk trending to zero. 4. Proliferation of managed data tools.
  • 7. Defining Characteristics of the Modern Data Stack 1. Cloud & SQL Based: Column-store based Cloud Data Warehouse at the center ○ With optional file / object store based data lake. 2. Modular: Managed SaaS tools for almost every part of the data lifecycle. ○ Optional: run open source components and write your own integrations.
  • 8. What is so special about cloud data warehouses? Modern column store data warehouses run on a cloud computing platform have some great benefits for building data intensive applications: ● Flexible & scalable pay-as-you go compute: ○ No upfront hardware or major purchases required. ○ No outgrowing your data center at awkward times. ● Managed services ○ Running your own infrastructure reliably and effectively is hard, so paying for a cloud computing company to do it for you is usually a great deal. ○ Allows for data teams to move quickly without needing as much specialized operational experience.
  • 9. The cost of storage Cost per GB has fallen ~100,000x since the mid 90s. The cellphone in your pocket has more storage and processing power than a Cray-2 supercomputer from the mid 80s. The Big Data Revolution is mostly driven by this trend.
  • 11. Data Solution design process 1. Determine desired capabilities & design constraints 2. Create iteration plan 3. Execute plan. 4. Evaluate delivered data solution. 5. Return to 1. Same as OODA (Observe, Orient, Decide, Act)/ PDCA (Plan, Do, Check, Act) frameworks. Iteration cycle scale and length can be minutes to years (I recommended shorter and smaller).
  • 12. Step 1. Problem Definition The first step in developing a solution is to identify the problem. This step can include: ● Requirements gathering ● Software vision documentation ● User research & interviews ● Industry research ● Documentation ● More documentation…
  • 13. Step 2. Create an iteration plan Create a plan to deliver a working system that has the capabilities to solve all of the necessary problems. This can include: ● System design diagrams & documents ● Jira tickets and work breakdown structure ● Doodles on a napkin
  • 14. Step 3. Execute the plan Once you have a plan that looks good enough, build the thing! This should include: ● Software development ● Software development to improve the software development process ● Procurement - buying off the shelf tools. ● Testing - systems integration & technical tests. ● Testing - user / client demos.
  • 15. Step 4. Evaluate After developing a functional data solution, it is important to evaluate whether you did an acceptable job. This includes: ● Requirements review - does the data solution meet the requirements? ● Capability value - do the data solution’s new capabilities actually provide value? ● Identify future improvement opportunities ● Identify future development process improvement opportunities
  • 16. Step 5. Repeat the cycle Data Platform development is an iterative process, and much of the value depends on the end users: unused data is worthless, so if the developed system is unused, it won’t have been worth building most of the time. Iteration is a great way to discover unknown requirements and opportunities, and work with the end users of data to build good data systems that help cultivate a vibrant ecosystem.
  • 17. Design Example 1: Generic BI Data Stack
  • 18. The Modern Data Stack for Business Intelligence Core Components: 1. Storage - Cloud Data Warehouse (Snowflake, Redshift, BigQuery) 2. Ingestion - Managed ETL (Stitch, Fivetran) 3. Transformation - dbt / SQL 4. Visualization - BI tool of choice
  • 19. Auxiliary Components You’ll also want: ● Data Observability - tools like Monte Carlo & BigEye ● Data Cataloging - tools like Castor or Alation ● Systems Observability - ELK / Prometheus & Grafana A modern data platform is a large distributed system with numerous third party vendors and constantly changing API integrations. Treat it with respect or it will break on you.
  • 20. Design Example 2: Personal Data Warehouse
  • 21. High Level Design - Personal Data Warehouse Primary Design constraints: 1. Low cost. 2. Low maintenance 3. Data Variety: lots of unstructured data. Notable freeing design characteristics: 1. Low velocity - weekly update maximum for most bulk sources 2. Low volume - ~1-5gb per source per update for full refresh 3. Low user count - single user (me) 1. Raw Storage in Google Cloud Storage 2. Data Transformation Pipelines in Dataflow (managed Apache beam) 3. BigQuery Data Warehouse for relational data 4. Looker Studio (formerly Google Data Studio) for BI.
  • 22. Detailed Design - Personal Data Warehouse
  • 23.
  • 25. Caveats: 1. Modern Data Stack – like many other terms – is mostly a marketing term / fad. 2. The major components of modern data stacks have sharp edges a. Costs can quickly spiral out of control if data access is overly democratic. b. Powerful configuration options - updates to data pipelines are easier to make, not necessarily more correct. 3. There are still huge opportunities for tooling improvements. a. Last ~10 years have seen a huge unbundling of data tools and new ‘best in breed’ SaaS providers. i. Integrating all these components into a cohesive platform is a lot of work, so we will see bundled all in one data platforms become increasingly competitive. b. Metadata / data cataloging tools need improvement to support better data management.
  • 26. The best data stack is the one that works best for you. ● Data Stack Design is system design ○ The best systems are those that provide the desired capabilities. ■ Actually think about what the design goals of your data stack are. ● Data Stack Development is iterative ○ Sometimes everyone will be happiest with a simple solution like a cron job querying the production database (preferably a replica). ■ This can work well for years. ■ This can also turn into a hot mess operationally and require urgent replacement with a better solution ○ Finding an optimal balance between planning and learning is hard. ■ Finding a close enough to optimal balance is feasible.
  • 27. Thank you! Have any data problems? I’m looking for new Data Engineering / Technical Product Manager Roles. Email: Will@williamangel.net Website: www.williamangel.net | www.d8aeng.com Twitter: @DataDrivenAngel Linkedin: https://www.linkedin.com/in/william-angel/