<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://www.rohini.biz/blog</loc><lastmod>2018-10-20T01:46:40.000Z</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/production-rag-architecture-in-2026-from-documents-to-reliable-answers</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/agentic-rag-vs-traditional-rag-which-architecture-should-you-choose</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/hybrid-search-for-rag-combining-bm25-and-dense-embeddings</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/rag-chunking-strategies-semantic-recursive-and-parent-child-retrieval</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/rag-evaluation-in-production-building-a-golden-dataset</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/graphrag-explained-when-knowledge-graphs-improve-retrieval</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/multimodal-rag-in-2026-search-pdfs-tables-images-and-audio</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/real-time-rag-with-kafka-and-change-data-capture</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/rag-security-prompt-injection-data-leakage-and-tenant-isolation</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/rag-cost-optimization-caching-routing-and-context-compression</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/ai-agent-architecture-in-2026-tools-memory-and-control-loops</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/mcp-in-2026-what-changed-in-the-stateless-specification</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/a2a-vs-mcp-two-protocols-two-different-jobs</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/langgraph-for-stateful-ai-agents-a-production-design-guide</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/human-in-the-loop-ai-agents-approval-gates-that-work</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/ai-agent-memory-short-term-state-vs-long-term-knowledge</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/multi-agent-systems-when-one-agent-is-better-than-five</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/ai-agent-observability-with-opentelemetry-and-traces</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/ai-agent-evaluation-beyond-llm-as-a-judge-scores</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/secure-tool-calling-for-enterprise-ai-agents</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/vector-databases-in-2026-pgvector-vs-pinecone-vs-weaviate-vs-qdrant</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/hnsw-vs-ivfflat-choosing-an-approximate-nearest-neighbor-index</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/postgresql-pgvector-tutorial-semantic-search-with-sql</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/vector-database-filtering-and-multi-tenancy-without-data-leaks</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/embedding-models-in-2026-how-to-benchmark-for-your-domain</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/hybrid-vector-search-with-rerankers-a-practical-retrieval-stack</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/vector-database-index-maintenance-updates-deletes-and-rebuilds</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/semantic-caching-with-redis-and-vector-similarity</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/apache-kafka-architecture-in-2026-topics-partitions-and-consumer-groups</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kafka-exactly-once-semantics-explained-without-the-myths</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kafka-vs-rabbitmq-vs-redis-streams-which-messaging-system-fits</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kafka-connect-and-cdc-building-reliable-change-streams</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kafka-and-apache-flink-for-real-time-ai-pipelines</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/event-driven-ai-agents-kafka-as-the-workflow-backbone</loc><lastmod>2026-11-13T20:18:38.298Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kafka-schema-registry-evolving-events-safely</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kafka-performance-tuning-batch-size-compression-and-lag</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/redis-rate-limiting-in-2026-token-bucket-vs-sliding-window</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/build-a-distributed-rate-limiter-with-redis-and-lua</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/redis-caching-strategies-cache-aside-write-through-and-invalidation</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/redis-streams-vs-pub-sub-delivery-and-replay-trade-offs</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/prevent-cache-stampedes-with-redis-locks-and-singleflight</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/idempotency-keys-for-payment-and-ai-apis</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/api-gateway-design-authentication-quotas-and-circuit-breakers</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/scylladb-vs-cassandra-vs-dynamodb-for-high-throughput-workloads</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/scylladb-data-modeling-partition-keys-clustering-and-hotspots</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/scylladb-for-real-time-user-activity-and-event-storage</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/eventual-consistency-explained-quorums-replicas-and-trade-offs</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/system-design-build-a-real-time-notification-platform</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/system-design-architect-a-multi-tenant-saas-backend</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://www.rohini.biz/blog/kubernetes-for-ai-workloads-autoscaling-queues-and-gpu-scheduling</loc><lastmod>2026-11-13T20:18:38.299Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url></urlset>