Using Ecto.Multi to Keep Database Operations Atomic in Elixir
Group several Ecto changesets into a single transaction with Ecto.Multi, ensuring all succeed or none happen, while avoiding nested manual rollbacks.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Group several Ecto changesets into a single transaction with Ecto.Multi, ensuring all succeed or none happen, while avoiding nested manual rollbacks.
Choose between Phoenix secondary indexes and row-key range scans, then validate with EXPLAIN before and after index creation.
Speed up non-row-key lookups in Apache Phoenix with secondary indexes, but verify planner selection with EXPLAIN and account for write amplification.
Learn how to use Phoenix LiveView Streams to handle large data collections without exhausting server memory or slowing down WebSocket updates.
Stop duplicating state between your API and frontend. Learn how Phoenix LiveView uses server-side processes and WebSockets to handle real-time UI with minimal JavaScript.
Decide whether a Phoenix materialized view fits your HBase aggregation workload, with option trade-offs, sample DDL, and validation checks.
Filtering a Phoenix table by a non‑key column forces a full table scan. Adding a secondary index turns that scan into an index lookup, cutting read latency while adding modest write overhead.
Compare Global and Local secondary indexes in Apache Phoenix to balance write throughput and read latency in HBase-backed applications.
Phoenix secondary indexes are separate HBase tables, not magic. Learn when a global index is worth the synchronous write cost, when a local index fits your access pattern, and how covering columns trade storage for read speed.