Leveraging ETS Effectively
summary
Deep dive into ETS internals with concrete claims, code and benchmarks: match specifications are shown as the real power, and a demo replaces an Agent that chokes at ~16k concurrent items with ETS that handles ~500k reads/updates; practical patterns include using ETS as presets (static data), as sharded caches per scheduler, as message buffers and lightweight counters (with an Atomics comparison), and an Ecto adapter that maps schemas to ETS for queries and streaming (repo: github.com/evadne/ets-playground).
AI-written summary · about
chapters (16)
- 0:00Start
- 0:43self Elixir Enthusiast. Bug Farmer Badger of Applications
- 2:09Conceptual Model 2
- 3:17Table Types
- 3:29Access Types
- 3:48Key Functions
- 4:49ets:match_object/2
- 8:48Demo: Agent vs. ETS Perhaps a demonstration will help you make the right decision for your application
- 11:56Mental Model: Complexity Gradient
- 13:15Sharing Preset Data
- 15:49With Presets: Easy to Scale
- 17:00Storing Cached State
- 18:48Facilitating IPC
- 19:44Concurrency Control
- 23:48Adopting ETS: Cookie Cutter Layout
- 25:14Adopting ETS: With Ecto
related talks
52mOn the Scalability of the Erlang Virtual Machine and its Term Storage
37mLeveling Up With Ecto
41mRevisiting XTM: A Practical Case Study Highlighting Its Needs
35mElixir's Ecto: Functional Relational Data Access Done Right
41mReal-World Datomic: An Experience Report
44mElixir and money
39mEcto without SQL
33mExponential Growth Without Sacrificing Platform Speed
