Concurrent Data Processing in Elixir

Gain insights into data processing and concurrency in Elixir. Explore GenServer, GenStage, Flow, and Broadway to enhance performance, set up pipelines, and handle increased workloads efficiently.

Intermediate

78 Lessons

11h 10min

Certificate of Completion

Gain insights into data processing and concurrency in Elixir. Explore GenServer, GenStage, Flow, and Broadway to enhance performance, set up pipelines, and handle increased workloads efficiently.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

49 Playgrounds
7 Quizzes

This course includes

49 Playgrounds
7 Quizzes

Course Overview

Most engineers don’t think that concurrency is distinct from programming. Data processing includes transforming information in some way, like reporting, data aggregation, or analytics. On the other hand, concurrency involves significantly improving performance. This course is designed to help you navigate the world of concurrency tools available in the Elixir ecosystem. You’ll explore popular modules and libraries like GenServer, GenStage, Flow, and Broadway. You’ll be able to ingest data, set up pipelines...Show More

What You'll Learn

Understand how concurrency works in Elixir

Learn about Elixir supervisors and GenServers

Learn to use data processing pipelines

Learn to use the Flow module in Elixir

Learn to set up data ingestion pipelines

What You'll Learn

Understand how concurrency works in Elixir

Show more

Course Content

1.

Getting Started

Get familiar with concurrent data processing in Elixir and its prerequisites.
2.

Easy Concurrency with the Task Module

Unpack the core of concurrent programming in Elixir with the Task module and supervision.
3.

Long-Running Processes Using GenServer

Work your way through GenServer callbacks, process management, and optimizing concurrency in Elixir.

Create a GenServer and Supervisor From Scratch

Project

4.

Data Processing Pipelines with GenStage

Find out about GenStage's role in managing data pipelines, back-pressure, and concurrency.
5.

Process Collections with Flow

Take a closer look at concurrent data processing with Elixir's Flow library for large datasets.
6.

Data Ingestion Pipelines with Broadway

15 Lessons

See how Broadway simplifies data-ingestion pipelines with concurrent processing, batching, and fault tolerance.
7.

Concluding the Course

1 Lesson

Learn how to improve your ability to create efficient, scalable Elixir applications.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor