~/talk

Elixir's Ecto: Functional Relational Data Access Done Right

Talkat LambdaConf 2018 · 2018-06-03..06-05· [databases]
slides:none on file

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

  1. 0:00Intro
  2. 1:43About ProCore
  3. 2:58ProCore Example
  4. 3:57What is Elixir
  5. 4:51What is Erlang
  6. 5:33Erlang is ugly
  7. 5:54ModelView Controller
  8. 6:14Data Access Library
  9. 7:27Data Access Libraries
  10. 8:07Problems with Data Access Libraries
  11. 9:15Why Ecto helps
  12. 9:41Lazy evaluation of queries
  13. 9:59Restraint
  14. 10:32Explicitness
  15. 10:56Demo schema
  16. 11:19Demo Ecto
  17. 14:10Word of the Day
  18. 15:30Syntax
  19. 15:59Inspiration
  20. 16:44Conference with Attendees
  21. 17:41Preload
  22. 18:07Left Join
  23. 19:13Chaining Right
  24. 19:55Group By
  25. 20:18Dry Up
  26. 20:52Explicit
  27. 21:08Repo
  28. 22:25Example
  29. 23:40Schema
  30. 23:58Chain Sets
  31. 25:22Paradigm Shift
  32. 26:50MultiRight
  33. 28:23Segregation
  34. 30:52Downside
  35. 31:28Sequel
  36. 31:41Performance over convenience
  37. 32:53Extensions
  38. 33:08Query Microsoft
  39. 33:30Balance
  40. 34:11Outro
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.