<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>crafted.data by Naveen Chandra</title><description>Long-form articles on databases, cloud and DevOps, and AI, with the code included.</description><link>https://naveenchandra.co.in/</link><language>en</language><item><title>Fine-Tuning vs RAG vs Prompting: Which Fixes Which?</title><link>https://naveenchandra.co.in/fine-tuning-vs-rag-vs-prompting-which-problem-belongs-to-which/</link><guid isPermaLink="true">https://naveenchandra.co.in/fine-tuning-vs-rag-vs-prompting-which-problem-belongs-to-which/</guid><description>Fine-tuning vs RAG vs prompting: RAG fixes what a model knows, prompting what it does, fine-tuning how it says it. Name the failure, then pick the fix.</description><pubDate>Fri, 26 Jun 2026 11:00:00 GMT</pubDate><category>AI</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>JSONB vs Separate Tables: When Normalisation Stops Paying</title><link>https://naveenchandra.co.in/jsonb-vs-separate-tables-when-normalisation-stops-paying/</link><guid isPermaLink="true">https://naveenchandra.co.in/jsonb-vs-separate-tables-when-normalisation-stops-paying/</guid><description>JSONB vs separate tables in Postgres: when a document column earns its place, what it costs the planner and your writes, and five steps to promote a key.</description><pubDate>Fri, 19 Jun 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Serverless vs Containers: The Honest Cost Comparison</title><link>https://naveenchandra.co.in/serverless-vs-containers-the-honest-cost-comparison/</link><guid isPermaLink="true">https://naveenchandra.co.in/serverless-vs-containers-the-honest-cost-comparison/</guid><description>Serverless vs containers on AWS: fully used Lambda compute costs about twice an equivalent Fargate task, so duty cycle decides which wins.</description><pubDate>Fri, 12 Jun 2026 11:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Read Replicas vs Caching vs Both: The Decision Matrix</title><link>https://naveenchandra.co.in/read-replicas-vs-caching-vs-both-the-decision-matrix/</link><guid isPermaLink="true">https://naveenchandra.co.in/read-replicas-vs-caching-vs-both-the-decision-matrix/</guid><description>Read replicas vs caching: a replica adds read capacity, a cache removes repeated work. A 7-row decision matrix for choosing one, both or neither.</description><pubDate>Fri, 05 Jun 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>How to Actually Evaluate an LLM in Production</title><link>https://naveenchandra.co.in/how-to-actually-evaluate-an-llm-in-production/</link><guid isPermaLink="true">https://naveenchandra.co.in/how-to-actually-evaluate-an-llm-in-production/</guid><description>Evaluate an LLM in production with a golden set from your own traffic, a calibrated judge, a CI gate on every prompt change, and online signals.</description><pubDate>Wed, 27 May 2026 11:00:00 GMT</pubDate><category>AI</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Zero-Downtime Database Migrations: Patterns and Pitfalls</title><link>https://naveenchandra.co.in/zero-downtime-database-migrations-patterns-and-pitfalls/</link><guid isPermaLink="true">https://naveenchandra.co.in/zero-downtime-database-migrations-patterns-and-pitfalls/</guid><description>Zero-downtime database migrations in Postgres: lock_timeout, expand and contract, batched backfills, staged cutovers and 4 questions to pick a pattern.</description><pubDate>Thu, 21 May 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>AWS Services You&apos;re Paying For and Probably Don&apos;t Need</title><link>https://naveenchandra.co.in/aws-services-youre-paying-for-and-probably-dont-need/</link><guid isPermaLink="true">https://naveenchandra.co.in/aws-services-youre-paying-for-and-probably-dont-need/</guid><description>AWS services you&apos;re paying for and probably don&apos;t need: NAT Gateway traffic at $0.045 per GB, EKS cluster fees, CloudWatch log ingestion and idle resources.</description><pubDate>Sun, 10 May 2026 11:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Indexing Strategies: When Each Index Type Actually Pays Off</title><link>https://naveenchandra.co.in/indexing-strategies-when-each-index-type-actually-pays-off/</link><guid isPermaLink="true">https://naveenchandra.co.in/indexing-strategies-when-each-index-type-actually-pays-off/</guid><description>Indexing strategies for Postgres: when B-tree, GIN and BRIN (three of its six built-in index types) pay off, plus partial, covering and unused indexes.</description><pubDate>Wed, 29 Apr 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>When to Use Each AWS Database Service</title><link>https://naveenchandra.co.in/when-to-use-each-aws-database-service/</link><guid isPermaLink="true">https://naveenchandra.co.in/when-to-use-each-aws-database-service/</guid><description>When to use each AWS database service: RDS Postgres as the default, and the measured pressure that justifies Aurora, DynamoDB, ElastiCache or OpenSearch.</description><pubDate>Thu, 16 Apr 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Database Choices That Quietly Kill Your AWS Bill</title><link>https://naveenchandra.co.in/database-choices-that-quietly-kill-your-aws-bill/</link><guid isPermaLink="true">https://naveenchandra.co.in/database-choices-that-quietly-kill-your-aws-bill/</guid><description>Database choices that quietly inflate your AWS bill: oversized RDS, Aurora I/O above 25% of spend, idle DynamoDB capacity, cross-AZ traffic and snapshots.</description><pubDate>Sat, 04 Apr 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Why Your RAG System Is Actually a Search Problem</title><link>https://naveenchandra.co.in/why-your-rag-system-is-actually-a-search-problem/</link><guid isPermaLink="true">https://naveenchandra.co.in/why-your-rag-system-is-actually-a-search-problem/</guid><description>Your RAG system is a search problem: hybrid search fused with reciprocal rank fusion (k = 60), cross-encoder reranking and better chunks come first.</description><pubDate>Sun, 22 Mar 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>The Real Cost of an LLM Call vs a SQL Query</title><link>https://naveenchandra.co.in/the-real-cost-of-an-llm-call-vs-a-sql-query/</link><guid isPermaLink="true">https://naveenchandra.co.in/the-real-cost-of-an-llm-call-vs-a-sql-query/</guid><description>LLM call vs SQL query: at $2.50/$15 per 1M tokens, a 1,000-in, 500-out model call costs a cent. A query on a provisioned database has no per-request fee.</description><pubDate>Sun, 08 Mar 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Most Teams Don&apos;t Need a Vector Database</title><link>https://naveenchandra.co.in/most-teams-dont-need-a-vector-database/</link><guid isPermaLink="true">https://naveenchandra.co.in/most-teams-dont-need-a-vector-database/</guid><description>Do you need a vector database? A million 1,536-dimension embeddings is about 6 GB, so pgvector in your Postgres may be enough. A 4-question check.</description><pubDate>Sat, 28 Feb 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item><item><title>Postgres Does More Than You Think</title><link>https://naveenchandra.co.in/postgres-does-more-than-you-think/</link><guid isPermaLink="true">https://naveenchandra.co.in/postgres-does-more-than-you-think/</guid><description>Postgres does more than you think: full-text search built in since 2008, JSONB, pgvector and SKIP LOCKED queues, and when a dedicated system earns its place.</description><pubDate>Fri, 20 Feb 2026 11:00:00 GMT</pubDate><category>Databases</category><author>contact@naveenchandra.co.in (Naveen Chandra)</author></item></channel></rss>