# schema

Published articles for schema.

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

## What's new in CYPEX v2.0.0: tenancy moves from the query to the catalog

DevFeed: [What's new in CYPEX v2.0.0: tenancy moves from the query to the catalog](<https://devfeed.tech/articles/what-s-new-in-cypex-v2-0-0-tenancy-moves-from-the-query-to-the-catalog-26241.md>)

Original publisher: [Read original article](<https://www.cybertec-postgresql.com/en/whats-new-in-cypex-v2-0-0-tenancy-moves-from-the-query-to-the-catalog/>)

Author: Svitlana Lytvynenko

Published: 2026-09-15T06:06:05Z

Content type: article

Language: en

Sources: [CYBERTEC PostgreSQL | Services & Support](<https://devfeed.tech/sources/cybertec-postgresql-services-support.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [tenant data protection](<https://devfeed.tech/topics/tenant-data-protection.md>), [Security](<https://devfeed.tech/topics/security.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [cypex](<https://devfeed.tech/tags/cypex.md>), [data-protection](<https://devfeed.tech/tags/data-protection.md>), [database](<https://devfeed.tech/tags/database.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [news](<https://devfeed.tech/tags/news.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [product](<https://devfeed.tech/tags/product.md>), [schema](<https://devfeed.tech/tags/schema.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

CYPEX 2.0.0 moves tenant isolation from application-level query filters into PostgreSQL row-level security policies stored in the database catalog. The policies use JWT claims to apply organization-specific access rules to every connection and query.

### Source excerpt

This blog highlights the details of CYPEX 2.0, with each feature being explained in detail. Read to know more. The post What's new in CYPEX v2.0.0: tenancy moves from the query to the catalog appeared first on CYBERTEC PostgreSQL | Services & Support.

## Percona and HexaCluster: Faster, Safer Oracle Migration

DevFeed: [Percona and HexaCluster: Faster, Safer Oracle Migration](<https://devfeed.tech/articles/percona-and-hexacluster-faster-safer-oracle-migration-26240.md>)

Original publisher: [Read original article](<https://www.percona.com/blog/percona-and-hexacluster-faster-safer-oracle-migration/>)

Author: Percona Team

Published: 2026-09-14T22:19:16Z

Content type: article

Language: en

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

Topics: [Oracle Database](<https://devfeed.tech/topics/oracle-database.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Database Migration](<https://devfeed.tech/topics/database-migration.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [database-migration](<https://devfeed.tech/tags/database-migration.md>), [database-trends](<https://devfeed.tech/tags/database-trends.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [insight-for-dbas](<https://devfeed.tech/tags/insight-for-dbas.md>), [insight-for-developers](<https://devfeed.tech/tags/insight-for-developers.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [partners](<https://devfeed.tech/tags/partners.md>), [percona](<https://devfeed.tech/tags/percona.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

Percona and HexaCluster describe a partnership for moving organizations from Oracle, SQL Server, DB2, and Sybase ASE to supported open source databases, primarily PostgreSQL. HexaCluster provides assessment and migration engineering through DMAT and HexaRocket, while Percona provides distributions, operators, and long-term support. HexaRocket combines schema migration, data migration, validation, change data capture, live replication, and reverse replication in one platform.

### Source excerpt

Percona and HexaCluster have partnered to remove the hardest part of an open source database migration: getting off Oracle, SQL Server, DB2 or Sybase ASE with confidence, on a predictable timeline, without a multi-year consulting program. Percona brings open source expertise, its own distributions, operators and enterprise support. HexaCluster brings the assessment and migration engineering ... Continued The post Percona and HexaCluster: Faster, Safer Oracle Migration appeared first on Percona.

## KCP: How to Migrate to Confluent Cloud in Days, Not Weeks

DevFeed: [KCP: How to Migrate to Confluent Cloud in Days, Not Weeks](<https://devfeed.tech/articles/kcp-how-to-migrate-to-confluent-cloud-in-days-not-weeks-26723.md>)

Original publisher: [Read original article](<https://www.confluent.io/blog/automate-kafka-migration-with-kcp/>)

Author: Ahmed Saef Zamzam

Published: 2026-09-14T07:00:00Z

Content type: tutorial

Language: en

Sources: [Confluent: Data in motion](<https://devfeed.tech/sources/confluent-data-in-motion.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Confluent Cloud](<https://devfeed.tech/topics/confluent-cloud.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [Provisioning](<https://devfeed.tech/topics/provisioning.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [confluent](<https://devfeed.tech/tags/confluent.md>), [confluent-cloud](<https://devfeed.tech/tags/confluent-cloud.md>), [data-replication](<https://devfeed.tech/tags/data-replication.md>), [infrastructure-as-code-iac](<https://devfeed.tech/tags/infrastructure-as-code-iac.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>), [replication](<https://devfeed.tech/tags/replication.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

The article explains how Confluent's open source KCP tool automates migration from Amazon MSK to Confluent Cloud. KCP supports discovery, infrastructure provisioning, ACL and schema mapping, and migration, while Cluster Linking provides offset-preserving data replication. Support for self-managed Kafka migrations is described as coming soon.

### Source excerpt

Use Kafka Copy Paste (KCP) to automate Kafka migration with infrastructure generation, ACL and schema mapping, and offset-preserving data replication.

## PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum

DevFeed: [PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum](<https://devfeed.tech/articles/postgresql-monitoring-and-schema-linting-for-laravel-with-vacuum-22290.md>)

Original publisher: [Read original article](<https://laravel-news.com/vacuum-laravel-postgresql-monitoring>)

Author: Paul Redmond

Published: 2026-09-14T04:24:35Z

Content type: article

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [github](<https://devfeed.tech/tags/github.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [laravel-packages](<https://devfeed.tech/tags/laravel-packages.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

Vacuum is a PostgreSQL monitoring and schema-linting package for Laravel. It analyzes PostgreSQL statistics, reports issues such as bloat, wraparound, dead tuples, unused indexes, slow statements, and unindexed foreign keys, and provides SQL remediation guidance, health scores, dashboards, CI commands, history, and explainers.

### Source excerpt

Vacuum checks PostgreSQL in Laravel apps for bloat, wraparound, and unused indexes, and flags unindexed foreign keys in migrations during CI. The post PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Use Drizzle ORM with Appwrite Postgres

DevFeed: [Use Drizzle ORM with Appwrite Postgres](<https://devfeed.tech/articles/use-drizzle-orm-with-appwrite-postgres-16474.md>)

Original publisher: [Read original article](<https://appwrite.io/blog/post/drizzle-orm-appwrite-postgres>)

Author: Atharva Deosthale

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

Content type: tutorial

Language: en

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

Topics: [Appwrite](<https://devfeed.tech/topics/appwrite.md>), [Drizzle](<https://devfeed.tech/topics/drizzle.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [drizzle](<https://devfeed.tech/tags/drizzle.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [orm](<https://devfeed.tech/tags/orm.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A tutorial showing how to connect Drizzle ORM to Appwrite Postgres, define tables and queries in TypeScript, generate and apply SQL migrations, seed data, and evolve a schema while preserving existing records.

### Source excerpt

Connect Drizzle ORM to Appwrite Postgres, query data with TypeScript, and apply SQL migrations as your schema changes.

## Use Prisma ORM with Appwrite Postgres

DevFeed: [Use Prisma ORM with Appwrite Postgres](<https://devfeed.tech/articles/use-prisma-orm-with-appwrite-postgres-16503.md>)

Original publisher: [Read original article](<https://appwrite.io/blog/post/prisma-orm-appwrite-postgres>)

Author: Atharva Deosthale

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

Content type: tutorial

Language: en

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

Topics: [Appwrite](<https://devfeed.tech/topics/appwrite.md>), [Prisma](<https://devfeed.tech/topics/prisma.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [migration](<https://devfeed.tech/topics/migration.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [prisma](<https://devfeed.tech/tags/prisma.md>), [schema](<https://devfeed.tech/tags/schema.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A practical guide to using Prisma ORM with Appwrite Postgres in a TypeScript project. It covers creating the PostgreSQL database, configuring the connection and TLS settings, defining models, generating and applying migrations, generating Prisma Client, and connecting to the database through a driver adapter.

### Source excerpt

Model your data with Prisma ORM, generate a typed client, and test schema migrations against Appwrite Postgres.

## Testing the Swagger Petstore: Manually Testing An API Using Swagger UI

DevFeed: [Testing the Swagger Petstore: Manually Testing An API Using Swagger UI](<https://devfeed.tech/articles/testing-the-swagger-petstore-manually-testing-an-api-using-swagger-ui-22427.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/09/testing-swagger-petstore-manually.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-09-07T16:43:41Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Swagger](<https://devfeed.tech/topics/swagger.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [API](<https://devfeed.tech/topics/api.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [auth](<https://devfeed.tech/tags/auth.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [http](<https://devfeed.tech/tags/http.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [payload](<https://devfeed.tech/tags/payload.md>), [schema](<https://devfeed.tech/tags/schema.md>), [swagger](<https://devfeed.tech/tags/swagger.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

A practical guide to manually testing the Swagger Petstore API through Swagger UI. It covers happy-path, negative, boundary and edge-case, authentication and authorization, and contract and schema validation tests using the browser-based "Try it out" feature.

### Source excerpt

With the last post, Testing the Swagger Petstore: Reviewing API Documentation Formatted in OpenAPI 3.0 with Swagger UI we started exploring an API with Swagger UI, such as the Swagger Petstore at https://petstore3.swagger.io/ Here, we will start exploring how to test an API using the Swagger UI. The tests we can run are: Happy Path Testing, checking the Positive Scenarios Negative Testing, reviewing the Invalid Inputs & Error Handling Boundary & Edge Case Testing, checking how the API handles the extreme limits of allowed input ranges Authentication & Authorization Testing Contract and schema validation We can see in the Swagger PetStore there are three tag groups: Pet, Store, and User. Because this is a Swagger UI doc, we can perform manual testing using only the "Try it out" feature in Swagger UI. No external tools needed! Live HTTP requests can be executed directly from your browser. Types of Testing for the API Here are a few types of testing and examples you can do in Swagger UI Happy path Functional Testing Pet POST /pet: add a new pet with a complete, valid payload. Verify 200 and that the response echoes the submitted fields. PUT /pet: update the pet you just created. Verify the change persists on a follow-up GET. GET /pet/{petId}: retrieve the pet by the ID returned from the POST. GET /pet/findByStatus: query with each valid status value (available, pending, sold) individually. GET /pet/findByTags: query with a tag that exists on a pet you created. POST /pet/{petId} (form data): update name/status via form fields instead of JSON body. POST /pet/{petId}/uploadImage: upload a valid image file, verify response message and metadata. DELETE /pet/{petId}: delete a pet you created, then confirm GET on that ID now fails. Store POST /store/order: place an order with valid petId, quantity, shipDate, status. GET /store/order/{orderId}: retrieve the order just placed. GET /store/inventory: verify it returns a status-to-count map without needing auth. DELETE /store/orde

## Postgres Calculations and the Ambiguity of NULL

DevFeed: [Postgres Calculations and the Ambiguity of NULL](<https://devfeed.tech/articles/postgres-calculations-and-the-ambiguity-of-null-14483.md>)

Original publisher: [Read original article](<https://www.crunchydata.com/blog/postgres-calculations-and-the-ambiguity-of-null>)

Author: Christopher Winslett

Published: 2026-09-02T17:00:00Z

Content type: article

Language: en

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

Topics: [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [fun-with-sql](<https://devfeed.tech/tags/fun-with-sql.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This article explains how Postgres handles NULL as an unknown marker in arithmetic, comparisons, concatenation, aggregates, window functions, predicates, joins, and sorting. It covers SQL three-valued logic, common surprises such as NOT IN and dropped rows, ways to test or handle missing values, and Postgres 19 IGNORE NULLS.

### Source excerpt

How Postgres evaluates calculations when a value is unknown: three-valued logic, arithmetic and concatenation with NULL, NOT IN, aggregates and window functions, NULL sort order, and Postgres 19 IGNORE NULLS.

## How INTEGER and INT Produced Different Schemas in Debezium

DevFeed: [How INTEGER and INT Produced Different Schemas in Debezium](<https://devfeed.tech/articles/how-integer-and-int-produced-different-schemas-in-debezium-20086.md>)

Original publisher: [Read original article](<https://lambda.blinkit.com/how-integer-and-int-produced-different-schemas-in-debezium-9c98e8a80aa2?source=rss----42df4a1e8725---4>)

Author: Prathit Malik

Published: 2026-09-02T07:02:02Z

Content type: article

Language: en

Sources: [Grofers](<https://devfeed.tech/sources/grofers.md>)

Topics: [MySQL](<https://devfeed.tech/topics/mysql.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [big-data](<https://devfeed.tech/tags/big-data.md>), [blinkit](<https://devfeed.tech/tags/blinkit.md>), [change](<https://devfeed.tech/tags/change.md>), [database](<https://devfeed.tech/tags/database.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This article investigates a Debezium CDC pipeline failure caused by MySQL INT and INTEGER synonyms being treated as different types. The resulting schema mismatch produced an Integer where a downstream consumer expected a Long, causing a ClassCastException on every batch. It explains how streaming and snapshot schema handling differ and how routine migrations exposed the problem.

### Source excerpt

A Debezium investigation: how MySQL synonyms INT and INTEGER were treated as different types. One of our CDC pipelines started failing with a ClassCastException on every batch. java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long The pipeline was producing an Integer, but the downstream consumer expected a Long. Every run failed in the same way, which pointed us toward a schema mismatch rather than an issue with individual records. Background: how CDC works To see why a mismatch like that can hide for years, it helps to know how CDC actually works. Most companies replicate their transactional database (MySQL, Postgres, something similar) into a separate data lake for analytics, rather than querying the source directly, and Change Data Capture (CDC) is what keeps that copy in sync: it tails the database's transaction log and replays every insert, update, and delete downstream. Debezium is the most widely used open-source CDC tool for MySQL, and it builds a table's schema in one of two ways that are supposed to agree but do not always. Streaming mode: the first time it sees a CREATE TABLE or ALTER TABLE in the binlog, it parses the raw SQL text and writes the result to its own internal Kafka topic, database.history.kafka.topic. Every restart after that rebuilds the in-memory schema by replaying that topic, not by re-reading the binlog. Snapshot mode: reads the table definition fresh through MySQL's JDBC metadata interface, which normalizes types, every time it runs. Schema Registry sits downstream of both: each connector writes whatever schema it built into the registry, but neither connector reads its own schema back from it. Keep that in mind; it matters later. The trigger: a routine migration With that in mind, here's what actually happened to us. Rewind two years: one of our upstream service teams added a few columns to a source table as part of a standard schema change. ALTER TABLE <source_table> ADD COLUMN length double NU

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

## Building Trust in AI DevOps: Validating the Harness Knowledge Graph

DevFeed: [Building Trust in AI DevOps: Validating the Harness Knowledge Graph](<https://devfeed.tech/articles/building-trust-in-ai-devops-validating-the-harness-knowledge-graph-13374.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/building-trust-in-our-knowledge-graph>)

Author: Vikram Sahu

Published: 2026-08-31T18:37:00Z

Content type: article

Language: en

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

Topics: [DevOps](<https://devfeed.tech/topics/devops.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-evals](<https://devfeed.tech/tags/ai-evals.md>), [api](<https://devfeed.tech/tags/api.md>), [automated](<https://devfeed.tech/tags/automated.md>), [data](<https://devfeed.tech/tags/data.md>), [devops](<https://devfeed.tech/tags/devops.md>), [evals](<https://devfeed.tech/tags/evals.md>), [graph](<https://devfeed.tech/tags/graph.md>), [knowledge-graph](<https://devfeed.tech/tags/knowledge-graph.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [operational](<https://devfeed.tech/tags/operational.md>), [other](<https://devfeed.tech/tags/other.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>), [security](<https://devfeed.tech/tags/security.md>), [services](<https://devfeed.tech/tags/services.md>), [software](<https://devfeed.tech/tags/software.md>), [software-delivery](<https://devfeed.tech/tags/software-delivery.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

This article explains how Harness validates answers from its SDLC Knowledge Graph. Its multi-layered approach combines AI evaluations, schema traversal, API checks, direct product verification, production data, and shift-left testing to improve reliability.

### Source excerpt

Discover our multi-layered validation approach combining AI evals to ensure reliable AI-powered software delivery insights. | Blog

## Using Data Contracts to Coordinate Data Evolution at Enterprise Scale

DevFeed: [Using Data Contracts to Coordinate Data Evolution at Enterprise Scale](<https://devfeed.tech/articles/stop-reacting-to-data-problems-here-s-the-architecture-that-prevents-them-22547.md>)

Original publisher: [Read original article](<https://medium.com/walmartglobaltech/stop-reacting-to-data-problems-heres-the-architecture-that-prevents-them-a274d54f624b?source=rss----905ea2b3d4d1---4>)

Author: Keerthipriyan

Published: 2026-08-25T20:22:17Z

Content type: article

Language: en

Sources: [Walmart Global Tech](<https://devfeed.tech/sources/walmart-global-tech.md>)

Topics: [data-platforms](<https://devfeed.tech/topics/data-platforms.md>), [Data Quality](<https://devfeed.tech/topics/data-quality.md>), [DataOps](<https://devfeed.tech/topics/dataops.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [data](<https://devfeed.tech/tags/data.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [data-governance](<https://devfeed.tech/tags/data-governance.md>), [data-platforms](<https://devfeed.tech/tags/data-platforms.md>), [data-quality](<https://devfeed.tech/tags/data-quality.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [organizational](<https://devfeed.tech/tags/organizational.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [schema](<https://devfeed.tech/tags/schema.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [teams](<https://devfeed.tech/tags/teams.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

The article explains how data contracts help large enterprises coordinate changes across independently evolving data teams and downstream consumers. It argues that schema validation alone cannot identify ownership, downstream impact, or migration responsibilities, and presents data contracts as machine-enforceable coordination agreements.

### Source excerpt

Coauthored by Satyajeet Coordinating Data Evolution at Enterprise Scale When you operate data platforms on a global enterprise scale, hundreds of engineering teams ship improvements every week, each moving independently to deliver value at the pace of the business demands. This velocity is a competitive advantage. The challenge: How do you enable hundreds of teams to evolve their data products independently while maintaining reliability for thousands of downstream consumers? Traditional coordination methods (messages, wiki updates, shared spreadsheets) work at small scale but break at Walmart scale. A source team ships an enhancement, perfectly valid within their domain, but that change ripples through fifteen downstream pipelines owned by different teams with different release schedules. Without a formal coordination mechanism, you discover the impact after it reaches production. The gap isn't technical debt or fragile systems. It's the absence of machine-enforceable agreements that scale with organizational complexity. Data contracts solve this: enabling teams to move fast independently while maintaining coordinated reliability across organizational boundaries. Here's the architecture we built. Why Schema Validation Alone Isn't Enough When data quality issues surface in production, the first instinct is often added to more schema validation. If a field is missing or has the wrong type, the pipeline catches it. This works for many data quality problems, but not all of them. Consider a scenario where a source team enhances their data model by restructuring field names to support new business capabilities. The schema still validates perfectly: every field exists; every type is correct; the data is well formed. But downstream consumers who depend on the original field names now receive empty results. Schema validation checks whether data has the right shape. It tells you that a field is missing. It does not tell you who owns that field, which downstream teams will bre

## Push-button migration from Confluent to Redpanda with Shadowing

DevFeed: [Push-button migration from Confluent to Redpanda with Shadowing](<https://devfeed.tech/articles/push-button-migration-from-confluent-to-redpanda-with-shadowing-12715.md>)

Original publisher: [Read original article](<https://www.redpanda.com/blog/migrate-confluent-redpanda-shadowing>)

Author: Trevor Blackford

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

Content type: article

Language: en

Sources: [Redpanda](<https://devfeed.tech/sources/redpanda.md>)

Topics: [migration](<https://devfeed.tech/topics/migration.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Confluent Cloud](<https://devfeed.tech/topics/confluent-cloud.md>), [Confluent Platform](<https://devfeed.tech/topics/confluent-platform.md>), [Disaster Recovery](<https://devfeed.tech/topics/disaster-recovery.md>), [Usability](<https://devfeed.tech/topics/usability.md>)

Tags: [big-bang](<https://devfeed.tech/tags/big-bang.md>), [confluent-cloud](<https://devfeed.tech/tags/confluent-cloud.md>), [confluent-platform](<https://devfeed.tech/tags/confluent-platform.md>), [data-centers](<https://devfeed.tech/tags/data-centers.md>), [disaster-recovery](<https://devfeed.tech/tags/disaster-recovery.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [migration](<https://devfeed.tech/tags/migration.md>), [replication](<https://devfeed.tech/tags/replication.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

The article presents Redpanda Shadowing 26.2 as a low-risk migration path from Confluent Cloud, Confluent Platform, or other Apache Kafka-compatible clusters. It replicates topic data, schemas, offsets, and ACLs while preserving offsets, allowing teams to validate workloads and move applications individually instead of using a big-bang cutover.

### Source excerpt

Migrate off Confluent without the "big cutover weekend." Redpanda Shadowing carries topic data, schemas, offsets, and ACLs on a single link. Available on Self-Managed , BYOC, and Dedicated.

## Schema Evolution: Changing the Contract Without Breaking What Runs

DevFeed: [Schema Evolution: Changing the Contract Without Breaking What Runs](<https://devfeed.tech/articles/schema-evolution-changing-the-contract-without-breaking-what-runs-17998.md>)

Original publisher: [Read original article](<https://blog.bytebytego.com/p/schema-evolution-changing-the-contract>)

Author: ByteByteGo

Published: 2026-08-20T15:32:18Z

Content type: article

Language: en

Sources: [ByteByteGo](<https://devfeed.tech/sources/bytebytego.md>)

Topics: [schema-evolution](<https://devfeed.tech/topics/schema-evolution.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [evolution](<https://devfeed.tech/tags/evolution.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-evolution](<https://devfeed.tech/tags/schema-evolution.md>)

### AI overview

The article examines schema evolution and strategies for managing changes to data schemas.

### Source excerpt

In this article, we will look at schema evolution and strategies for the same.

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

## Online index migration and shard scaling in OpenSearch with the AOSC plugin

DevFeed: [Online index migration and shard scaling in OpenSearch with the AOSC plugin](<https://devfeed.tech/articles/online-index-migration-and-shard-scaling-in-opensearch-with-the-aosc-plugin-12789.md>)

Original publisher: [Read original article](<https://opensearch.org/blog/online-index-migration-and-shard-scaling-in-opensearch-with-the-aosc-plugin/>)

Author: Arpit Singla

Published: 2026-08-18T21:56:28Z

Content type: article

Language: en

Sources: [OpenSearch](<https://devfeed.tech/sources/opensearch.md>)

Topics: [Amazon OpenSearch Service](<https://devfeed.tech/topics/amazon-opensearch-service.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [opensearch](<https://devfeed.tech/tags/opensearch.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [production](<https://devfeed.tech/tags/production.md>), [reconciliation](<https://devfeed.tech/tags/reconciliation.md>), [routing](<https://devfeed.tech/tags/routing.md>), [schema](<https://devfeed.tech/tags/schema.md>), [technical](<https://devfeed.tech/tags/technical.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This article introduces Automatic Online Schema Change (AOSC), an open-source OpenSearch plugin for migrating live indexes to pre-created targets with different mappings, settings, shard counts, or document shapes. It backfills existing documents, replays operations made during migration, and switches an alias after a short write block, while documenting its scaling behavior and limitations.

### Source excerpt

Learn how the open-source AOSC plugin migrates live OpenSearch indexes--changing mappings, settings, or shard counts--without losing writes or requiring downtime. The post Online index migration and shard scaling in OpenSearch with the AOSC plugin appeared first on OpenSearch.

## What an Ontology for AI Agents Actually Needs

DevFeed: [What an Ontology for AI Agents Actually Needs](<https://devfeed.tech/articles/what-an-ontology-for-ai-agents-actually-needs-18250.md>)

Original publisher: [Read original article](<https://www.dataengineeringweekly.com/p/an-ontology-for-ai-agents-is-a-system>)

Author: Ananth Packkildurai

Published: 2026-08-14T12:38:18Z

Content type: opinion

Language: en

Sources: [Data Engineering Weekly](<https://devfeed.tech/sources/data-engineering-weekly.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [data](<https://devfeed.tech/tags/data.md>), [graph](<https://devfeed.tech/tags/graph.md>), [knowledge-graph](<https://devfeed.tech/tags/knowledge-graph.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

The article argues that an ontology for AI agents should be treated as a governed semantic system rather than a single file or graph. It distinguishes ontology meaning from knowledge-graph facts and explains how semantic capabilities support retrieval, planning, action, verification, and operational governance.

### Source excerpt

How to think about the semantic system that makes an agent coherent, governable, and useful.

## Treating Issue Bodies as Untrusted Input

DevFeed: [Treating Issue Bodies as Untrusted Input](<https://devfeed.tech/articles/treating-issue-bodies-as-untrusted-input-34113.md>)

Original publisher: [Read original article](<https://philipptheserver.com/posts/prompt-injection-untrusted-issues/>)

Author: Philipp Lehmann (philipp.lehmann@gruppe.ai)

Published: 2026-08-14T07:00:00Z

Content type: tutorial

Language: en

Sources: [Philipp Lehmann](<https://devfeed.tech/sources/philipp-lehmann.md>)

Topics: [prompt injection](<https://devfeed.tech/topics/prompt-injection.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [JSON Feed](<https://devfeed.tech/topics/json-feed.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [issue tracker](<https://devfeed.tech/topics/issue-tracker.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [github](<https://devfeed.tech/tags/github.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [issue-tracker](<https://devfeed.tech/tags/issue-tracker.md>), [json](<https://devfeed.tech/tags/json.md>), [llm](<https://devfeed.tech/tags/llm.md>), [prompt-injection](<https://devfeed.tech/tags/prompt-injection.md>), [schema](<https://devfeed.tech/tags/schema.md>), [security](<https://devfeed.tech/tags/security.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

The article explains how GitHub issue bodies can carry prompt injection attacks when an agent treats public input as instructions. It recommends fencing untrusted text, clearly labeling it, constraining model output to a fixed JSON action schema, and testing the validation boundary without a live model.

### Source excerpt

Prompt injection via GitHub issue bodies: fence untrusted text and accept model output only as a fixed JSON action schema, tested without a model.

## Blue Green and Canary Deployments Explained

DevFeed: [Blue Green and Canary Deployments Explained](<https://devfeed.tech/articles/blue-green-and-canary-deployments-explained-17480.md>)

Original publisher: [Read original article](<https://kodekloud.com/blog/blue-green-and-canary-deployments-explained/>)

Author: Pramodh Kumar M

Published: 2026-08-09T16:30:08Z

Content type: tutorial

Language: en

Sources: [Kubernetes - KodeKloud Blog | DevOps, Cloud, Kubernetes, AI Tutorials & More](<https://devfeed.tech/sources/kubernetes-kodekloud-blog-devops-cloud-kubernetes-ai-tutorials-more.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Software](<https://devfeed.tech/topics/software.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [argo-rollouts](<https://devfeed.tech/tags/argo-rollouts.md>), [automation](<https://devfeed.tech/tags/automation.md>), [blue-green-and-canary-deployments](<https://devfeed.tech/tags/blue-green-and-canary-deployments.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [database](<https://devfeed.tech/tags/database.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [deployment-strategies](<https://devfeed.tech/tags/deployment-strategies.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dora-change-failure-rate](<https://devfeed.tech/tags/dora-change-failure-rate.md>), [expand-and-contract-migration](<https://devfeed.tech/tags/expand-and-contract-migration.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [guide](<https://devfeed.tech/tags/guide.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [progressive-delivery](<https://devfeed.tech/tags/progressive-delivery.md>), [release-management](<https://devfeed.tech/tags/release-management.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [rolling-update](<https://devfeed.tech/tags/rolling-update.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sre](<https://devfeed.tech/tags/sre.md>), [traffic-splitting](<https://devfeed.tech/tags/traffic-splitting.md>), [zero-downtime-deployment](<https://devfeed.tech/tags/zero-downtime-deployment.md>)

### AI overview

This guide explains blue-green and canary deployment strategies for replacing running software versions. It emphasizes that effective rollback depends on detecting problems with reliable metrics and that database schema changes can limit reversibility.

### Source excerpt

Both strategies buy you the same thing, which is a cheap way to be wrong. The mechanism is the easy part, and the two hard parts are noticing you are wrong and dealing with the database.

## SCIM Deprovisioning Is a Promise Your App Probably Breaks

DevFeed: [SCIM Deprovisioning Is a Promise Your App Probably Breaks](<https://devfeed.tech/articles/scim-deprovisioning-is-a-promise-your-app-probably-breaks-16056.md>)

Original publisher: [Read original article](<https://workos.com/blog/scim-deprovisioning-promise-your-app-breaks>)

Author: WorkOS

Published: 2026-08-06T01:29:36Z

Content type: article

Language: en

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

Topics: [Security](<https://devfeed.tech/topics/security.md>), [API](<https://devfeed.tech/topics/api.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Internet Engineering Task Force (IETF)](<https://devfeed.tech/topics/ietf.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [http](<https://devfeed.tech/tags/http.md>), [identity](<https://devfeed.tech/tags/identity.md>), [idp](<https://devfeed.tech/tags/idp.md>), [ietf](<https://devfeed.tech/tags/ietf.md>), [json](<https://devfeed.tech/tags/json.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [schema](<https://devfeed.tech/tags/schema.md>), [security](<https://devfeed.tech/tags/security.md>), [standards](<https://devfeed.tech/tags/standards.md>), [state](<https://devfeed.tech/tags/state.md>), [token](<https://devfeed.tech/tags/token.md>)

### AI overview

This article explains that SCIM deprovisioning updates identity state but does not automatically invalidate an application's sessions, refresh tokens, or API keys. It describes how identity providers commonly use soft deactivation and why applications must explicitly handle the resulting offboarding state.

### Source excerpt

SCIM tells you a user is gone, but sessions, refresh tokens, and API keys often outlive deprovisioning. Here's why offboarding needs more than a user row.

## Use OpenID Connect issuer and subject identifiers instead of email as primary keys

DevFeed: [Use OpenID Connect issuer and subject identifiers instead of email as primary keys](<https://devfeed.tech/articles/stop-using-email-as-a-primary-key-before-it-bites-you-16066.md>)

Original publisher: [Read original article](<https://workos.com/blog/stop-using-email-as-a-primary-key>)

Author: WorkOS

Published: 2026-08-06T00:02:33Z

Content type: tutorial

Language: en

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

Topics: [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [account takeover](<https://devfeed.tech/topics/account-takeover.md>)

Tags: [auth](<https://devfeed.tech/tags/auth.md>), [data](<https://devfeed.tech/tags/data.md>), [identity](<https://devfeed.tech/tags/identity.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

The article explains why email addresses are unsafe as identity keys because they can be reassigned or recycled. It recommends storing the OpenID Connect issuer and subject identifier pair as the stable key for provider logins, while retaining email as mutable profile data.

### Source excerpt

Email addresses get reassigned and recycled. If you key identity or link accounts on email, you built an account-takeover path yourself. Here's the fix.

## Refactoring a SQL Table at Scale: Lessons from Harness CI

DevFeed: [Refactoring a SQL Table at Scale: Lessons from Harness CI](<https://devfeed.tech/articles/refactoring-a-sql-table-at-scale-lessons-from-harness-ci-13449.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/lessons-from-refactoring-at-scale>)

Author: Moshe Tsur

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

Content type: article

Language: en

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

Topics: [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [API](<https://devfeed.tech/topics/api.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [harness](<https://devfeed.tech/tags/harness.md>), [latency](<https://devfeed.tech/tags/latency.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

Harness describes refactoring a flat SQL table used for CI test results into a normalized schema. The article reports reducing storage per row from 400 bytes to 28 bytes and making API latency constant at any scale.

### Source excerpt

How Harness refactored a flat SQL table into a normalized schema, cutting storage per row from 400 bytes to 28 bytes and making API latency constant at any scal | Blog

## How OpenAI Built a Reliable Data Agent with Context, Memory, and Evals

DevFeed: [How OpenAI Built a Reliable Data Agent with Context, Memory, and Evals](<https://devfeed.tech/articles/what-openai-s-data-agent-teaches-us-about-building-reliable-ai-agents-18028.md>)

Original publisher: [Read original article](<https://blog.levelupcoding.com/p/how-openai-built-its-data-agent>)

Author: Nikki Siapno

Published: 2026-08-02T13:14:27Z

Content type: article

Language: en

Sources: [Level Up Coding System Design Newsletter](<https://devfeed.tech/sources/level-up-coding-system-design-newsletter.md>)

Topics: [OpenAI](<https://devfeed.tech/topics/openai.md>), [AI Engineering](<https://devfeed.tech/topics/ai-engineering.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [data](<https://devfeed.tech/topics/data.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Slack](<https://devfeed.tech/topics/slack.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-engineering](<https://devfeed.tech/tags/ai-engineering.md>), [data](<https://devfeed.tech/tags/data.md>), [evals](<https://devfeed.tech/tags/evals.md>), [memory](<https://devfeed.tech/tags/memory.md>), [openai](<https://devfeed.tech/tags/openai.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [thread](<https://devfeed.tech/tags/thread.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

The article examines how OpenAI built an internal data agent for more than 3,500 users working across 70,000 datasets and over 600 petabytes of data. It explains that trustworthy results require more than valid SQL: the agent needs relevant business context, safeguards for permissions, ways to detect subtle query errors, and transparency so users can inspect its work.

### Source excerpt

How OpenAI built its data agent to work across 70,000 datasets.

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

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