# schema design

Published articles for schema design.

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

## When JSONB columns create schema, consistency, and performance problems

DevFeed: [When JSONB columns create schema, consistency, and performance problems](<https://devfeed.tech/articles/your-jsonb-column-became-the-schemaless-disaster-you-migrated-away-from-39598.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/46-jsonb-column-schemaless-disaster/>)

Author: hello@ankit-rana.com

Published: 2026-09-01T00:00:00Z

Content type: article

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [data-modelling](<https://devfeed.tech/tags/data-modelling.md>), [indexing](<https://devfeed.tech/tags/indexing.md>), [jsonb](<https://devfeed.tech/tags/jsonb.md>), [migration](<https://devfeed.tech/tags/migration.md>), [outage](<https://devfeed.tech/tags/outage.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [toast](<https://devfeed.tech/tags/toast.md>)

### AI overview

The article explains why using JSONB to avoid recurring migrations can create hidden schema and data-consistency problems. It discusses runtime failures from inconsistent keys and types, difficulty identifying dependencies across consumers, and the storage and update costs of large PostgreSQL JSONB documents.

### Source excerpt

JSONB is a good fit for genuinely open-ended data and a poor one for schema you did not want to commit to yet. Without a schema there is no NOT NULL, no type, no foreign key and no way to know which keys are load bearing, so every read becomes a parse and a cast that can fail at runtime. Large documents are stored out of line and compressed, which means reading one key can require fetching and decompressing the whole document, and updating one key rewrites all of it.

## Foreign keys are not overhead, and the thing you measured was a missing index

DevFeed: [Foreign keys are not overhead, and the thing you measured was a missing index](<https://devfeed.tech/articles/foreign-keys-are-not-overhead-and-the-thing-you-measured-was-a-missing-index-39597.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/45-foreign-keys-are-not-overhead/>)

Author: hello@ankit-rana.com

Published: 2026-08-30T00:00:00Z

Content type: opinion

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [integrity](<https://devfeed.tech/topics/integrity.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [foreign-keys](<https://devfeed.tech/tags/foreign-keys.md>), [indexing](<https://devfeed.tech/tags/indexing.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [referential-integrity](<https://devfeed.tech/tags/referential-integrity.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

The article explains that the measured cost of a slow parent delete is usually caused by a missing index on the child table's foreign-key column, not by foreign-key checking itself. It argues that dropping the constraint merely moves referential-integrity enforcement into application code and can allow orphaned records.

### Source excerpt

A foreign key check is an index lookup against a primary key that is almost certainly already in cache, which is close to the cheapest thing a database does. The expensive case people measure is a parent delete with no index on the child's referencing column, which forces a full scan of the child table per deleted row, and that is a missing index rather than a cost of the constraint. Dropping the key does not remove the work, it moves the integrity guarantee into application code where nothing reports when it stops holding.

## ADD COLUMN is not always free, and the lock queue is what takes you down

DevFeed: [ADD COLUMN is not always free, and the lock queue is what takes you down](<https://devfeed.tech/articles/add-column-is-not-always-free-and-the-lock-queue-is-what-takes-you-down-39595.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/43-add-column-is-not-always-free/>)

Author: hello@ankit-rana.com

Published: 2026-08-26T00:00:00Z

Content type: article

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [migration](<https://devfeed.tech/topics/migration.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>)

Tags: [ddl](<https://devfeed.tech/tags/ddl.md>), [incident](<https://devfeed.tech/tags/incident.md>), [locking](<https://devfeed.tech/tags/locking.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [queues](<https://devfeed.tech/tags/queues.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

Adding a nullable column can cause an outage even when the schema change itself is nearly instantaneous. In PostgreSQL, ALTER TABLE may wait for a long-running query, and subsequent queries can queue behind the waiting lock request. Setting a short lock_timeout and retrying can prevent the migration from taking down the table.

### Source excerpt

Modern PostgreSQL adds a column with a default as a metadata change, so the table is never rewritten and the migration itself is instant. The outage comes from lock acquisition instead: ALTER TABLE needs an ACCESS EXCLUSIVE lock, and while it waits behind one long-running query, every subsequent query queues behind the waiting ALTER because the lock queue is ordered. Setting lock_timeout to a couple of seconds and retrying converts that from an outage into a no-op.

## Soft deletes affect database constraints, indexes, and application queries

DevFeed: [Soft deletes affect database constraints, indexes, and application queries](<https://devfeed.tech/articles/soft-deletes-are-a-schema-decision-that-breaks-every-query-you-write-afterwards-39592.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/40-soft-deletes-schema-decision/>)

Author: hello@ankit-rana.com

Published: 2026-08-20T00:00:00Z

Content type: opinion

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Database](<https://devfeed.tech/topics/database.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>)

Tags: [data-modelling](<https://devfeed.tech/tags/data-modelling.md>), [database-design](<https://devfeed.tech/tags/database-design.md>), [foreign-keys](<https://devfeed.tech/tags/foreign-keys.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [indexing](<https://devfeed.tech/tags/indexing.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [orm](<https://devfeed.tech/tags/orm.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [predicate](<https://devfeed.tech/tags/predicate.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [soft-delete](<https://devfeed.tech/tags/soft-delete.md>)

### AI overview

The article explains how soft deletion affects database design beyond adding a deleted_at column. It discusses duplicate-key failures, foreign-key behavior, queries that may return deleted rows, and index inefficiency, noting that PostgreSQL partial indexes help while MySQL requires a workaround.

### Source excerpt

A deleted_at column turns every future query into a conditional one, and the cost is not the extra predicate. Unique constraints stop working because the deleted row still occupies the key, foreign keys start pointing at rows the application considers gone, and any query written by someone who does not know about the column silently returns deleted data. Soft delete is a data lifecycle decision, and treating it as a boolean column is what makes it expensive.

## Why CRUD APIs Stop Teaching New Lessons After Basic Production Problems Are Solved

DevFeed: [Why CRUD APIs Stop Teaching New Lessons After Basic Production Problems Are Solved](<https://devfeed.tech/articles/boredom-is-a-signal-to-find-a-harder-problem-when-your-crud-api-stops-teaching-you-39585.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/33-game-of-life-boredom-harder-problem/>)

Author: hello@ankit-rana.com

Published: 2026-08-02T00:00:00Z

Content type: opinion

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [CRUD](<https://devfeed.tech/topics/crud.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Network](<https://devfeed.tech/topics/network.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [cache-invalidation](<https://devfeed.tech/tags/cache-invalidation.md>), [career](<https://devfeed.tech/tags/career.md>), [crud](<https://devfeed.tech/tags/crud.md>), [latency](<https://devfeed.tech/tags/latency.md>), [learning](<https://devfeed.tech/tags/learning.md>), [network](<https://devfeed.tech/tags/network.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [system-design](<https://devfeed.tech/tags/system-design.md>)

### AI overview

A small CRUD API teaches backend fundamentals such as validation, schema design, migrations, query behavior, connection pooling, and cache invalidation. After those issues are understood, developers may need more complex failure domains involving cross-service contracts, event ordering, and slow downstream calls to continue learning.

### Source excerpt

A todo CRUD API teaches real things, including validation, schema design, the N+1 query, index selection, pool sizing, and cache invalidation, and then it goes quiet. Boredom arriving right after you fix those once is not laziness; it is the signal that the problem stopped presenting decisions you have not already seen. The move is up the stack, to a failure domain with cross-service contracts, event ordering, and downstream calls that hang.

## ClickHouse Schema Design and Data Modeling

DevFeed: [ClickHouse Schema Design and Data Modeling](<https://devfeed.tech/articles/clickhouse-schema-design-and-data-modeling-19112.md>)

Original publisher: [Read original article](<https://severalnines.com/blog/clickhouse-schema-design-and-data-modeling/>)

Author: Agus Syafaat

Published: 2026-07-17T12:48:53Z

Content type: article

Language: en

Sources: [SeveralNines](<https://devfeed.tech/sources/severalnines.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [data-modeling](<https://devfeed.tech/topics/data-modeling.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [cta](<https://devfeed.tech/tags/cta.md>), [data-modeling](<https://devfeed.tech/tags/data-modeling.md>), [database-general](<https://devfeed.tech/tags/database-general.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distribution](<https://devfeed.tech/tags/distribution.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [production](<https://devfeed.tech/tags/production.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

This article explains how to design and maintain ClickHouse schemas in production. It covers distributed and local tables, shards and replicas, shard-key selection, operational concerns such as slow queries and oversized partitions, monitoring, and schema evolution.

### Source excerpt

Sometimes, we see ClickHouse queries that should normally complete in milliseconds take several seconds to finish or worse, time out entirely. When that happens, there is a good chance that the schema is the real culprit. The problem is often not the query itself, nor is it a hardware bottleneck. Instead, it can stem from [...] The post ClickHouse Schema Design and Data Modeling appeared first on Severalnines.

## How to Start a Knowledge-Graph Memory Layer with an Extendable Ontology

DevFeed: [How to Start a Knowledge-Graph Memory Layer with an Extendable Ontology](<https://devfeed.tech/articles/stop-chasing-the-perfect-ontology-18303.md>)

Original publisher: [Read original article](<https://www.decodingai.com/p/ship-a-knowledge-graph-ontology-in-5-minutes>)

Author: Paul Iusztin

Published: 2026-05-26T05:00:51Z

Content type: tutorial

Language: en

Sources: [Decoding ML](<https://devfeed.tech/sources/decoding-ml.md>)

Topics: [Graphs](<https://devfeed.tech/topics/graphs.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [ai-engineering](<https://devfeed.tech/tags/ai-engineering.md>), [article](<https://devfeed.tech/tags/article.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [knowledge-graph](<https://devfeed.tech/tags/knowledge-graph.md>), [knowledge-graphs](<https://devfeed.tech/tags/knowledge-graphs.md>), [rag](<https://devfeed.tech/tags/rag.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

This tutorial explains how to begin building a knowledge-graph memory layer without designing a complete ontology upfront. It recommends a small, generic, extendable POLE+O model with Preferences and Facts, then extending it as domain-specific data reveals gaps.

### Source excerpt

Start with a fixed, generic base and extend only when your data demands it.

## How To Make Your Existing GraphQL API AI-Ready With Apollo

DevFeed: [How To Make Your Existing GraphQL API AI-Ready With Apollo](<https://devfeed.tech/articles/how-to-make-your-existing-graphql-api-ai-ready-with-apollo-23376.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/how-to-make-your-existing-graphql-api-ai-ready-with-apollo>)

Author: Kaitlyn Barnard

Published: 2026-03-19T10:00:17Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Model Context Protocol (MCP)](<https://devfeed.tech/topics/model-context-protocol-mcp.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apollo-mcp-server](<https://devfeed.tech/tags/apollo-mcp-server.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [llm](<https://devfeed.tech/tags/llm.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

A guide to making an existing GraphQL API usable by AI agents. It explains how GraphQL's type system and introspection help agents, why schema design should account for LLM consumption, and how Apollo MCP Server exposes GraphQL through the standardized Model Context Protocol without requiring infrastructure changes.

### Source excerpt

Turn your existing GraphQL API into a powerful interface for AI agents--learn schema design best practices and how Apollo MCP Server enables reliable, standardized LLM integration without changing your infrastructure.

## How PostgreSQL Handles Large Values - TOAST and What It Costs You

DevFeed: [How PostgreSQL Handles Large Values - TOAST and What It Costs You](<https://devfeed.tech/articles/how-postgresql-handles-large-values-toast-and-what-it-costs-you-39649.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2026-03-07_postgres-toast>)

Published: 2026-03-07T00:00:00Z

Content type: article

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>)

Tags: [compression](<https://devfeed.tech/tags/compression.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article explains how PostgreSQL handles values that exceed a page's capacity through TOAST. It covers compression, out-of-line storage in a separate system-managed table, chunking, indexing, read-time reconstruction, storage thresholds, and the costs of the approach compared with SQLite.

### Source excerpt

. [How PostgreSQL Handles Large Values](postgres-toast-cover...

## Database Design Doesn't Start With Table. It Starts With Consequences

DevFeed: [Database Design Doesn't Start With Table. It Starts With Consequences](<https://devfeed.tech/articles/database-design-doesn-t-start-with-table-it-starts-with-consequences-18107.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/database-design-foundations-backend-engineers-mistakes-and-lessons>)

Author: The T-Shaped Dev

Published: 2026-02-17T05:19:18Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [databases](<https://devfeed.tech/tags/databases.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

An introduction to database design for backend engineers. The article explains why schema decisions have long-term consequences, recommends modeling the business domain before designing tables, and discusses normalization and database constraints.

### Source excerpt

Here's what most backend engineers get wrong about schema design and how to fix it before you hit production. (6 min)

## Apollo Skills: Teaching AI Agents How to Use Apollo and GraphQL

DevFeed: [Apollo Skills: Teaching AI Agents How to Use Apollo and GraphQL](<https://devfeed.tech/articles/apollo-skills-teaching-ai-agents-how-to-use-apollo-and-graphql-23220.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/apollo-skills-teaching-ai-agents-how-to-use-apollo-and-graphql>)

Author: Dale Seo

Published: 2026-02-03T12:00:35Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [apollo-client](<https://devfeed.tech/topics/apollo-client.md>), [apollo-server](<https://devfeed.tech/topics/apollo-server.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [GitHub Copilot](<https://devfeed.tech/topics/github-copilot.md>), [Kiro](<https://devfeed.tech/topics/kiro.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [apollo-mcp-server](<https://devfeed.tech/tags/apollo-mcp-server.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [copilot](<https://devfeed.tech/tags/copilot.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

Apollo describes Apollo Skills, an open-source artifact designed to give AI agents persistent guidance on Apollo and GraphQL practices. The article explains that agents often repeat outdated or suboptimal patterns and says the skills cover Apollo Client, Apollo Server, Connectors, schema design, and operations. The skills work with Claude Code, Cursor, and GitHub Copilot.

### Source excerpt

Apollo Skills teaches AI agents to write production-quality GraphQL. Covers Apollo Client, Apollo Server, Connectors, schema design, and operations. Install: npx skills add apollographql/skills. Works with Claude Code, Cursor, Copilot. Open source at github.com/apollographql/skills

## Tinybird Best Practices for AI Agents

DevFeed: [Tinybird Best Practices for AI Agents](<https://devfeed.tech/articles/tinybird-best-practices-for-ai-agents-18689.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/tinybird-best-practices-for-ai-agents>)

Author: Rafa Moreno, Gonzalo Gómez

Published: 2026-01-27T00:00:00Z

Content type: article

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [ai-x-data](<https://devfeed.tech/tags/ai-x-data.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [coding](<https://devfeed.tech/tags/coding.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article presents 20 best-practice rules for using AI coding agents with Tinybird, covering schema design, endpoints, materialized views, testing, and deployment.

### Source excerpt

Turn any AI coding agent into a Tinybird expert. 20 rules covering schema design, endpoints, materialized views, testing, and deployment.

## 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.

## API Orchestration with Connectors - Thinking in Entities

DevFeed: [API Orchestration with Connectors - Thinking in Entities](<https://devfeed.tech/articles/api-orchestration-with-connectors-thinking-in-entities-23152.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/api-orchestration-with-connectors-thinking-in-entities>)

Author: Michael Watson

Published: 2025-02-12T16:51:19Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apollo-connectors](<https://devfeed.tech/tags/apollo-connectors.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [openapi-specification](<https://devfeed.tech/tags/openapi-specification.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [rest](<https://devfeed.tech/tags/rest.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [swagger](<https://devfeed.tech/tags/swagger.md>)

### AI overview

This tutorial introduces API orchestration with Apollo Connectors for REST and explains how to identify entities in existing APIs before exposing them through a connector. It emphasizes using unique identifiers and preserving existing REST API domain definitions when designing the schema.

### Source excerpt

Since we first announced Apollo Connectors for REST at GraphQL Summit 2024, there has been an enormous amount of excitement from the community to dive in. I've been working with dozens of Enterprises on their use cases from breaking apart existing monoliths to integrating multiple production OpenAPI specification endpoints. In my work, there have been some patterns that have emerged and I wanted to start a new blog series that helps share the happy path to building faster.

## Bring Postgres relationships to light

DevFeed: [Bring Postgres relationships to light](<https://devfeed.tech/articles/bring-postgres-relationships-to-light-5052.md>)

Original publisher: [Read original article](<https://neon.com/blog/bring-postgres-relationships-to-light>)

Author: Brandon Strittmatter

Published: 2024-08-08T17:15:00Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

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

Tags: [community](<https://devfeed.tech/tags/community.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

The article explains how Entity-Relationship Diagrams (ERDs) visualize database tables, columns, and relationships. It focuses on using ERDs to understand Postgres schemas, primary and foreign keys, data integrity, schema design, and the impact of database complexity.

### Source excerpt

Have you ever stared at a complex database and thought, "What the F#!% did I get myself into?" If so, you're not alone. Tables multiply, relationships tangle, and before you know it, you are lost in a monster of your own making, or worse, somebody else's. This is where something...

## Fun with AI - Generating GraphQL Schemas in Discord

DevFeed: [Fun with AI - Generating GraphQL Schemas in Discord](<https://devfeed.tech/articles/fun-with-ai-generating-graphql-schemas-in-discord-23310.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/fun-with-ai-generating-graphql-schemas-in-discord>)

Author: Patrick Arminio

Published: 2024-02-07T13:06:54Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Discord](<https://devfeed.tech/topics/discord.md>), [Fine-tuning](<https://devfeed.tech/topics/fine-tuning.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [copilot](<https://devfeed.tech/tags/copilot.md>), [discord](<https://devfeed.tech/tags/discord.md>), [fine-tuning](<https://devfeed.tech/tags/fine-tuning.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

The article describes efforts to improve AI-generated GraphQL schemas, including fine-tuning GPT-3.5 and offering a Discord forum where users can request schema generation. It notes that standard AI models often produce schemas that omit pagination, input types, and mutation payloads or use discouraged practices.

### Source excerpt

Over the past two years, the emergence of AI-driven tools has significantly transformed the tech landscape. Among these innovations, tools designed specifically for code generation--such as Copilot, CodeLlama, and others--have garnered particular attention from developers. According to a survey conducted by GitHub, 92% of U.S.-based developers are already using AI coding tools both in and outside of work (source).

## Virtual Events - Deep Dive into Schema Design Best Practices

DevFeed: [Virtual Events - Deep Dive into Schema Design Best Practices](<https://devfeed.tech/articles/virtual-events-deep-dive-into-schema-design-best-practices-23567.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/virtual-events-deep-dive-into-schema-design-best-practices>)

Author: Michael Watson

Published: 2023-03-08T11:45:12Z

Content type: news

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [api](<https://devfeed.tech/tags/api.md>), [events](<https://devfeed.tech/tags/events.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

Apollo announces a two-session virtual event covering GraphQL schema design best practices. The program includes a Tech Talk on March 9 and a Workshop on March 16, focused on designing readable, scalable, well-documented schemas and avoiding unexpected breaking changes.

### Source excerpt

Are you interested in building a successful GraphQL API? Then you won't want to miss the upcoming Tech Talk + Workshop that dive deep into Schema Design Best Practices. The event is split into two sessions, the first being a Tech Talk on March 9th at 10am PT, and the second being a Workshop on March 16th at 9am PT.

## Supercharge your GraphQL stack with GraphOS Cloud

DevFeed: [Supercharge your GraphQL stack with GraphOS Cloud](<https://devfeed.tech/articles/supercharge-your-graphql-stack-with-graphos-cloud-23528.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/supercharge-your-graphql-stack-with-graphos-cloud>)

Author: Jack Sellwood

Published: 2023-03-06T10:56:18Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphOS](<https://devfeed.tech/topics/graphos.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [graphos](<https://devfeed.tech/tags/graphos.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [router](<https://devfeed.tech/tags/router.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

Apollo announces the general availability of GraphOS Cloud, a hosted platform for GraphQL APIs that provides graph routing and tools for query development, collaboration, and schema design. It includes a Serverless plan with 10 million free queries per month.

### Source excerpt

You've heard it a million times: everything you need, and nothing more, all in a single query. It's the core promise of GraphQL, but it presents a challenge. To truly get everything in a single query, you need to put everything you have into a single graph. At Apollo, we've spent the better part of three years designing a GraphQL architecture to address that challenge -- we call it supergraph architecture.

## Rethinking React components with @defer

DevFeed: [Rethinking React components with @defer](<https://devfeed.tech/articles/rethinking-react-components-with-defer-23498.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/rethinking-react-components-with-defer>)

Author: Michael Watson

Published: 2023-01-17T15:29:47Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [GraphOS](<https://devfeed.tech/topics/graphos.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [React](<https://devfeed.tech/topics/react.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [component](<https://devfeed.tech/tags/component.md>), [graphos](<https://devfeed.tech/tags/graphos.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [react](<https://devfeed.tech/tags/react.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [state-management](<https://devfeed.tech/tags/state-management.md>)

### AI overview

This article explains how GraphQL's @defer directive can split a query response into multiple parts, allowing faster initial responses while slower fields load later. It announces full supergraph support for @defer in GraphOS and describes using a supergraph router with an existing GraphQL API.

### Source excerpt

Since the rise of the frontend framework and the framework wars of the 2010s, we've all gotten pretty used to the idea of building single-page apps that load a JavaScript bundle and then send queries to a server dynamically as a user clicks around. The move to single-page apps was driven by the need to create faster, more interactive user experiences. As with every great innovation, solving one problem just opens your eyes to the next one.

## GraphQL Summit 2022 Recap: Highlights and Apollo GraphOS Product Announcement

DevFeed: [GraphQL Summit 2022 Recap: Highlights and Apollo GraphOS Product Announcement](<https://devfeed.tech/articles/graphql-summit-2022-recap-highlights-product-announcements-and-puppies-23338.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/graphql-summit-2022-recap>)

Author: David Isquick

Published: 2022-10-17T14:03:49Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [GraphOS](<https://devfeed.tech/topics/graphos.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [developers](<https://devfeed.tech/tags/developers.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [livestream](<https://devfeed.tech/tags/livestream.md>), [platform](<https://devfeed.tech/tags/platform.md>), [recap](<https://devfeed.tech/tags/recap.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [summit](<https://devfeed.tech/tags/summit.md>), [workshops](<https://devfeed.tech/tags/workshops.md>)

### AI overview

A recap of GraphQL Summit 2022 covering workshops, talks, keynotes, networking, and product announcements. The article highlights the introduction of Apollo GraphOS and sessions on supergraph development, schema design, security testing, authorization, real-time data, and resolver practices.

### Source excerpt

The Apollo team is still feeling the energy from spending three days in San Diego with over 1000 developers and engineering leaders. And, to the thousands of remote attendees, thank you. We are glad you were able to join in the action via Livestream! Summit participants attended workshops, panels, and sessions on all things GraphQL with a focus on how to successfully build supergraphs.

## The Graph Architect's Guide to GraphQL Summit 2022

DevFeed: [The Graph Architect's Guide to GraphQL Summit 2022](<https://devfeed.tech/articles/the-graph-architect-s-guide-to-graphql-summit-2022-23539.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/the-graph-architects-guide-to-graphql-summit-2022>)

Author: Melissa Annecchini

Published: 2022-09-15T17:36:41Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Elixir](<https://devfeed.tech/topics/elixir.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apis](<https://devfeed.tech/tags/apis.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [product](<https://devfeed.tech/tags/product.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [summit](<https://devfeed.tech/tags/summit.md>), [techniques](<https://devfeed.tech/tags/techniques.md>)

### AI overview

This Apollo blog promotes GraphQL Summit 2022 for graph architects and previews sessions on federated supergraph architecture, Apollo Federation, subgraph development across several languages, and large-scale GraphQL schema design.

### Source excerpt

Calling all graph architects! If you are looking for inspiration, best practices, and help building or scaling your organization's supergraph architecture, then this blog is for you. Read on for your graph architect's guide to GraphQL Summit 2022. #ICYMI: GraphQL Summit 2022 is back in person October 3-5 in San Diego for 3 days of surf, sun, and all things GraphQL. Register today to avoid all the FOMO.

## Generated GraphQL Schemas and Schema Design

DevFeed: [Generated GraphQL Schemas and Schema Design](<https://devfeed.tech/articles/generated-graphql-schemas-and-schema-design-23311.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/generated-graphql-schemas-and-schema-design>)

Author: Shane Myrick

Published: 2022-09-01T09:00:00Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [backend](<https://devfeed.tech/tags/backend.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [rest-apis](<https://devfeed.tech/tags/rest-apis.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

This article explains how GraphQL schemas define the types and operations available through an API. It distinguishes generated schemas from schema-first and code-only approaches, and introduces trade-offs involved in designing schemas for client needs.

### Source excerpt

GraphQL is a type-safe language for APIs. A common misunderstanding is that GraphQL is another complete query language, like SQL, which allows you to search, filter, and select all the objects in a database. Instead, GraphQL should be thought of as a way to specify the types of data available and the specific operations users can perform over an API.

## Schema-First vs Code-Only GraphQL

DevFeed: [Schema-First vs Code-Only GraphQL](<https://devfeed.tech/articles/schema-first-vs-code-only-graphql-23504.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/schema-first-vs-code-only-graphql>)

Author: Shane Myrick

Published: 2022-08-29T09:00:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [apollo-server](<https://devfeed.tech/topics/apollo-server.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [api-server](<https://devfeed.tech/tags/api-server.md>), [backend](<https://devfeed.tech/tags/backend.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [resolvers](<https://devfeed.tech/tags/resolvers.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This article explains schema-first and code-only approaches to building GraphQL servers. It compares how schemas and resolvers are defined, discusses generated schemas from external sources such as OpenAPI and SQL databases, and introduces misconceptions about the approaches.

### Source excerpt

When creating a GraphQL server there are two artifacts required by the GraphQL engine: a schema, which defines all the types and fields, and the resolvers, which are the collection of functions that are called to return the data for those types. Since GraphQL can be implemented in many different programming languages, there are of course many tools and libraries you can use to create a server and execute requests.

## Federated Schema Design

DevFeed: [Federated Schema Design](<https://devfeed.tech/articles/federated-schema-design-23299.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/federated-schema-design>)

Author: Michael Watson

Published: 2022-04-20T09:23:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [backend](<https://devfeed.tech/tags/backend.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [mobile-apps](<https://devfeed.tech/tags/mobile-apps.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>)

### AI overview

This tutorial explains how to design extensible and maintainable federated GraphQL schemas. It presents the supergraph as a platform that can reuse capabilities across products and services, and contrasts federated schema design with a monolithic approach.

### Source excerpt

Introduction If you've been building with GraphQL, you likely know how essential good schema design is. As the entry-point to all your GraphQL operations, it's desirable to design a schema that's easy to understand and work with, serves the needs of our clients today, and can be changed to fit their needs tomorrow. This article teaches about the supergraph, platform thinking, and why it's key to designing your graph for extensibility.

[Next page](<https://devfeed.tech/tags/schema-design.md?cursor=WyIyMDIyLTA0LTIwVDA5OjIzOjAwKzAwOjAwIiwgImIwNTgyNmI4LTM3MTQtNGNhOC05Mjk5LTc0ZjVlMjY2ZmFlYiJd>)