Elixir's Ecto: Functional Relational Data Access Done Right
summary
Ecto claims to make SQL-first, functional data access practical for Elixir web apps by exposing the database rather than hiding it. Examples include use with Phoenix and Postgres at Procore (10 TB, ~800 tables, ~20 million rows/sec and ~30,000 tx/sec). The concrete tools and patterns shown: Ecto, changesets, multi for transactional writes and preload versus left join for reads, with demonstrated reductions in n+1 queries, tighter selects, and predictable repo-run query semantics.
AI-written summary · about
chapters (40)
- 0:00Intro
- 1:43About ProCore
- 2:58ProCore Example
- 3:57What is Elixir
- 4:51What is Erlang
- 5:33Erlang is ugly
- 5:54ModelView Controller
- 6:14Data Access Library
- 7:27Data Access Libraries
- 8:07Problems with Data Access Libraries
- 9:15Why Ecto helps
- 9:41Lazy evaluation of queries
- 9:59Restraint
- 10:32Explicitness
- 10:56Demo schema
- 11:19Demo Ecto
- 14:10Word of the Day
- 15:30Syntax
- 15:59Inspiration
- 16:44Conference with Attendees
- 17:41Preload
- 18:07Left Join
- 19:13Chaining Right
- 19:55Group By
- 20:18Dry Up
- 20:52Explicit
- 21:08Repo
- 22:25Example
- 23:40Schema
- 23:58Chain Sets
- 25:22Paradigm Shift
- 26:50MultiRight
- 28:23Segregation
- 30:52Downside
- 31:28Sequel
- 31:41Performance over convenience
- 32:53Extensions
- 33:08Query Microsoft
- 33:30Balance
- 34:11Outro








