# System Design Classroom

A System Design Newsletter to help you build better software.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Designing Reliable AI Agent Memory for Stale Facts and Policy Changes

DevFeed: [Designing Reliable AI Agent Memory for Stale Facts and Policy Changes](<https://devfeed.tech/articles/the-most-dangerous-agent-memory-was-once-correct-17963.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/the-most-dangerous-agent-memory-was>)

Author: Raul Junco

Published: 2026-09-12T12:10:58Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [context window](<https://devfeed.tech/topics/context-window.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [context](<https://devfeed.tech/tags/context.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [memory](<https://devfeed.tech/tags/memory.md>)

### AI overview

This article explains that AI agent memory should be treated as evidence rather than truth, especially when policies or other facts change. It recommends attaching version, scope, source, and authoritative-data checks to memory, while keeping the context window limited to the information needed for a task.

### Source excerpt

Learn how to design reliable AI agent memory that handles stale facts, policy changes, scoped retrieval, conflict resolution, and safe deletion.

## Observing AI Agent Decisions with OpenTelemetry

DevFeed: [Observing AI Agent Decisions with OpenTelemetry](<https://devfeed.tech/articles/your-ai-agent-won-t-crash-it-will-happily-pay-an-invoice-without-approval-17965.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/your-ai-agent-wont-crash-the-same>)

Author: Raul Junco

Published: 2026-08-22T12:06:38Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [agent observability](<https://devfeed.tech/topics/agent-observability.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [traces](<https://devfeed.tech/tags/traces.md>)

### AI overview

A practical guide to observing AI agent decisions with OpenTelemetry. It explains why conventional logs, metrics, and distributed traces may not show whether agents chose the correct workflow, and argues that decision recording and observation should be in place before production.

### Source excerpt

A practical guide to observing AI decisions with OpenTelemetry

## Safe Database Rollback Starts Before Deployment

DevFeed: [Safe Database Rollback Starts Before Deployment](<https://devfeed.tech/articles/safe-database-rollback-starts-before-deployment-17961.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/safe-database-rollback-starts-before-deployment>)

Author: Raul Junco

Published: 2026-07-25T12:00:54Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [migration](<https://devfeed.tech/topics/migration.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [production](<https://devfeed.tech/tags/production.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

This article explains why rolling back application code does not automatically roll back database schema or production data. It presents backward-compatible schema changes, staged migrations, feature flags, and targeted recovery as ways to prepare for deployment failures and reduce the risk of data loss.

### Source excerpt

Learn why safe database rollback starts before deployment, and how backward-compatible schema changes, staged migrations, feature flags, and targeted recovery keep production failures from turning into data loss.

## How to Survive the Recommendation Engine Question

DevFeed: [How to Survive the Recommendation Engine Question](<https://devfeed.tech/articles/how-to-survive-the-recommendation-engine-question-17955.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/how-to-survive-the-recommendation>)

Author: Raul Junco

Published: 2026-07-11T11:35:16Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>)

### AI overview

A tutorial on answering recommendation-engine system design questions by focusing on the surrounding system rather than only the matching algorithm. It emphasizes separating recommendation generation from recommendation serving and addressing behavior data, precomputation, latency, stale results, missing data, cold starts, and fallbacks.

### Source excerpt

Most engineers focus on the matching algorithm. The real test is separating generation from serving.

## A Good System Design Tackles Down the Hot Path First

DevFeed: [A Good System Design Tackles Down the Hot Path First](<https://devfeed.tech/articles/a-good-system-design-tackles-down-the-hot-path-first-17946.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/a-good-system-design-tackles-down-the-hot-path-first>)

Author: Raul Junco

Published: 2026-06-13T11:31:25Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [microservices](<https://devfeed.tech/tags/microservices.md>)

### AI overview

The article argues that system design should begin by identifying the system's hot paths--the specific parts experiencing pressure--before adding caches, replicas, queues, or microservices. It warns that scaling decisions made without understanding traffic patterns can target the wrong bottleneck.

### Source excerpt

Before you add cache, replicas, queues, or microservices, understand where the system actually feels pressure.

## Most System Design Mistakes Hide Between the Boxes

DevFeed: [Most System Design Mistakes Hide Between the Boxes](<https://devfeed.tech/articles/most-system-design-mistakes-hide-between-the-boxes-17958.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/most-system-design-mistakes-hide--between-the-boxes>)

Author: Raul Junco

Published: 2026-05-30T12:16:25Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [event driven](<https://devfeed.tech/topics/event-driven.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [API](<https://devfeed.tech/topics/api.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [cloud-infrastructure](<https://devfeed.tech/tags/cloud-infrastructure.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [databases](<https://devfeed.tech/tags/databases.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [logs](<https://devfeed.tech/tags/logs.md>)

### AI overview

The article examines system design failures that occur between services and components, such as events not being published after database commits, replica lag, overloaded queues, and schema changes affecting consumers. It emphasizes that interactions among databases, queues, caches, APIs, logs, dashboards, and cloud infrastructure create failure patterns that architecture diagrams may not reveal.

### Source excerpt

Five gaps your architecture diagrams don't show

## Bad Retries Can Break Good Systems

DevFeed: [Bad Retries Can Break Good Systems](<https://devfeed.tech/articles/bad-retries-can-break-good-systems-17949.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/bad-retries-can-break-good-systems>)

Author: Raul Junco

Published: 2026-05-09T11:45:53Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [incident](<https://devfeed.tech/tags/incident.md>), [latency](<https://devfeed.tech/tags/latency.md>), [retry](<https://devfeed.tech/tags/retry.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

A practical guide to handling transient faults in backend and distributed systems. It explains that uncontrolled retries can increase pressure on slow or overloaded dependencies and recommends backoff, jitter, retry budgets, idempotency, and circuit breakers to reduce user-facing incidents.

### Source excerpt

A practical guide to using backoff, jitter, retry budgets, idempotency, and circuit breakers in backend systems.

## Event-Driven Systems Are Easy to Build but Hard to Keep Correct

DevFeed: [Event-Driven Systems Are Easy to Build but Hard to Keep Correct](<https://devfeed.tech/articles/event-driven-systems-are-easy-to-build-but-hard-to-keep-correct-17953.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/event-driven-systems-are-easy-to-build-but-hard-to-keep-correct>)

Author: Raul Junco

Published: 2026-04-25T11:52:06Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [event driven](<https://devfeed.tech/topics/event-driven.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [schema](<https://devfeed.tech/tags/schema.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This article explains that event-driven systems can appear operationally healthy while producing incorrect business outcomes. It focuses on correctness failures caused by duplicate delivery, ordering gaps, dual writes, retries, and schema drift.

### Source excerpt

4 ways event-driven systems fail without looking broken

## Choosing Consistency Guarantees for Distributed-System Workflows

DevFeed: [Choosing Consistency Guarantees for Distributed-System Workflows](<https://devfeed.tech/articles/consistency-is-negotiable-but-the-bill-always-lands-somewhere-17951.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/consistency-is-negotiable-but>)

Author: Raul Junco

Published: 2026-04-18T11:37:30Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [data](<https://devfeed.tech/topics/data.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [cap-theorem](<https://devfeed.tech/tags/cap-theorem.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [data](<https://devfeed.tech/tags/data.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [latency](<https://devfeed.tech/tags/latency.md>)

### AI overview

The article explains that consistency guarantees in distributed systems involve trade-offs among correctness, latency, availability, coordination, and operational complexity. It uses banking ledgers and social-media counters to illustrate why different workflows need different guarantees, and discusses CAP theorem and PACELC trade-offs.

### Source excerpt

Linearizable, causal, eventual, and quorum: how to pick the right consistency guarantee for each workflow in your system.

## Good System Design Starts With Constraints, Not Diagrams, Not Tools

DevFeed: [Good System Design Starts With Constraints, Not Diagrams, Not Tools](<https://devfeed.tech/articles/good-system-design-starts-with-constraints-not-diagrams-not-tools-17956.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/most-engineers-learn-system-design-backwards>)

Author: Raul Junco

Published: 2026-04-04T11:55:22Z

Content type: opinion

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

The article argues that system design should be learned through underlying constraints rather than diagrams and infrastructure tools. It also discusses the attention costs of managing parallel coding agents and presents Cline Kanban as a visual orchestration layer for multi-agent workflows.

### Source excerpt

Most Engineers Learn System Design Backwards

## How Asynchronous Systems Trade Execution Order for Scale and Availability

DevFeed: [How Asynchronous Systems Trade Execution Order for Scale and Availability](<https://devfeed.tech/articles/async-systems-scale-your-system-and-your-problems-17948.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/async-systems-scale-your-system-and-your-problems>)

Author: Raul Junco

Published: 2026-03-28T13:04:17Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Availability](<https://devfeed.tech/topics/availability.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [availability](<https://devfeed.tech/tags/availability.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [queue](<https://devfeed.tech/tags/queue.md>), [scale](<https://devfeed.tech/tags/scale.md>), [state](<https://devfeed.tech/tags/state.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article explains how asynchronous systems improve scale, throughput, and availability by processing work in parallel, while making execution order and consistency harder to control. Queues, retries, and parallel consumers can reorder related events, producing incorrect final state even when every component succeeds.

### Source excerpt

Many developers only realize it after consistency breaks.

## Evolving Database Schemas Without Breaking Production

DevFeed: [Evolving Database Schemas Without Breaking Production](<https://devfeed.tech/articles/refactoring-databases-is-a-different-animal-17960.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/refactoring-databases-is-a-different-animal>)

Author: Raul Junco

Published: 2026-03-14T11:57:59Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Database Migration](<https://devfeed.tech/topics/database-migration.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [database](<https://devfeed.tech/tags/database.md>), [database-migration](<https://devfeed.tech/tags/database-migration.md>), [databases](<https://devfeed.tech/tags/databases.md>), [development](<https://devfeed.tech/tags/development.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

The article explains why database refactoring is riskier than code refactoring because multiple applications, dashboards, workers, and analytics pipelines may depend on the same schema. It presents the Expand / Contract pattern as a safer way to evolve schemas without breaking running systems and illustrates how non-backwards-compatible changes can cause production failures.

### Source excerpt

A practical pattern for evolving database schemas without breaking production

## Understanding Accuracy and Consistency in Distributed Systems

DevFeed: [Understanding Accuracy and Consistency in Distributed Systems](<https://devfeed.tech/articles/cap-questions-almost-never-appear-labeled-as-cap-theorem-17952.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/consistency-vs-accuracy-distributed-systems>)

Author: Raul Junco

Published: 2026-03-07T12:53:30Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [cap-theorem](<https://devfeed.tech/tags/cap-theorem.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [replication](<https://devfeed.tech/tags/replication.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This tutorial explains how accuracy and consistency differ in distributed systems. It defines accuracy as data reflecting the real-world value and discusses consistency, including linearizability in the CAP theorem, showing how replication delays can cause replicas to temporarily return different values.

### Source excerpt

They show up disguised as simple data questions.

## A Single Subscriber Doesn't Turn Pub/Sub Into a Queue

DevFeed: [A Single Subscriber Doesn't Turn Pub/Sub Into a Queue](<https://devfeed.tech/articles/a-single-subscriber-doesn-t-turn-pub-sub-into-a-queue-17947.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/a-single-subscriber-doesnt-turn-pubsub-into-a-queue>)

Author: Raul Junco

Published: 2026-02-28T12:52:05Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [async](<https://devfeed.tech/tags/async.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [pdf](<https://devfeed.tech/tags/pdf.md>), [queue](<https://devfeed.tech/tags/queue.md>), [retry](<https://devfeed.tech/tags/retry.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article explains that asynchronous system patterns should be classified by execution semantics rather than by the messaging technology used. A report-generation flow with one worker processing each job, retries after failure, and additional workers sharing increased demand is a work queue, not pub/sub.

### Source excerpt

Why execution semantics -not tooling- define async patterns.

## Scaling a Production Monolith Under Peak Load Without a Full Rewrite

DevFeed: [Scaling a Production Monolith Under Peak Load Without a Full Rewrite](<https://devfeed.tech/articles/80-of-the-times-scaling-is-not-a-rewrite-problem-17962.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/scaling-is-not-a-rewrite-problem>)

Author: Raul Junco

Published: 2026-01-10T12:33:29Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [scalability](<https://devfeed.tech/tags/scalability.md>)

### AI overview

This article examines a system design interview scenario involving a production monolith that fails during peak traffic, with 12 weeks to improve scalability and no full rewrite allowed. It emphasizes reframing the goal around stability, peak capacity, and reduced blast radius, while warning against immediately splitting the system into microservices.

### Source excerpt

How a single interview question reveals who understands load, risk, and trade-offs

## Happy Teams Build Better Products

DevFeed: [Happy Teams Build Better Products](<https://devfeed.tech/articles/happy-teams-build-better-products-17954.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/happy-teams-build-better-products>)

Author: Raul Junco

Published: 2025-12-12T12:38:14Z

Content type: opinion

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [incident](<https://devfeed.tech/topics/incident.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [context](<https://devfeed.tech/tags/context.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [incident](<https://devfeed.tech/tags/incident.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [request](<https://devfeed.tech/tags/request.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [teams](<https://devfeed.tech/tags/teams.md>), [tools](<https://devfeed.tech/tags/tools.md>), [traces](<https://devfeed.tech/tags/traces.md>)

### AI overview

An opinion article argues that engineering teams work better when they preserve incident context, use replays to reduce meetings, and consolidate debugging signals such as logs, traces, and metrics.

### Source excerpt

6 lessons every engineer eventually learns the hard way.

## Performance Doesn't Start at SELECT; It Starts at CREATE.

DevFeed: [Performance Doesn't Start at SELECT; It Starts at CREATE.](<https://devfeed.tech/articles/performance-doesn-t-start-at-select-it-starts-at-create-17959.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/performance-doesnt-start-at-select>)

Author: Raul Junco

Published: 2025-10-28T11:34:44Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

The article argues that database performance problems often originate in schema design rather than query syntax. It recommends normalizing first and denormalizing only when measured performance needs justify the trade-off.

### Source excerpt

Stop blaming your queries. Most database slowness comes from design mistakes made on day one.

## Change Data Capture: Trade-offs in Event Granularity, Schema Coupling, and Sensitive Data Exposure

DevFeed: [Change Data Capture: Trade-offs in Event Granularity, Schema Coupling, and Sensitive Data Exposure](<https://devfeed.tech/articles/cdc-isn-t-the-shortcut-you-think-it-is-17950.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/cdc-isnt-the-shortcut-you-think-it-is>)

Author: Raul Junco

Published: 2025-10-07T11:52:11Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [data](<https://devfeed.tech/topics/data.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [security](<https://devfeed.tech/tags/security.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

This article examines trade-offs of using Change Data Capture for event publishing. It explains that CDC can expose low-level row changes instead of meaningful business events, couple consumers to database schemas, spread sensitive data, and require consumers to reconstruct relational context.

### Source excerpt

7 hidden costs of "free" event publishing

## Uber's Finch: A Slack AI Agent for Finance Data Access

DevFeed: [Uber's Finch: A Slack AI Agent for Finance Data Access](<https://devfeed.tech/articles/what-uber-s-slackbot-taught-me-about-building-smart-ai-assistants-17964.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/what-ubers-slackbot-taught-me-about-smart-ai-assistants>)

Author: System Design Classroom

Published: 2025-09-30T11:45:58Z

Content type: opinion

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Slack](<https://devfeed.tech/topics/slack.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [ai](<https://devfeed.tech/tags/ai.md>), [slack](<https://devfeed.tech/tags/slack.md>), [slackbot](<https://devfeed.tech/tags/slackbot.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

The article describes Uber's Finch, an AI agent in Slack that lets finance teams ask questions in plain English. It maps finance terminology to data, generates and runs SQL, and uses semantic data layers, curated marts, access controls, and specialized agents to return results.

### Source excerpt

Forget dashboards. The fastest path to insight is an agent that speaks your data's language.

## Distributed Transaction Design: Trade-offs Between Consistency and Scalability

DevFeed: [Distributed Transaction Design: Trade-offs Between Consistency and Scalability](<https://devfeed.tech/articles/most-engineers-want-both-consistency-and-scalability-17957.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/most-engineers-want-both-consistency-and-scalability>)

Author: System Design Classroom

Published: 2025-09-25T11:43:41Z

Content type: article

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [Scalability](<https://devfeed.tech/topics/scalability.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>)

Tags: [distributed-transaction](<https://devfeed.tech/tags/distributed-transaction.md>), [performance](<https://devfeed.tech/tags/performance.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This article examines distributed transaction design through Two-Phase Commit, Saga with Orchestrator, and Saga with Choreography. It explains that these approaches protect distributed workflows but involve trade-offs between consistency, performance, locking, failure recovery, and scalability.

### Source excerpt

Reality Doesn't Work That Way.