Building an AI-Powered Operations Assistant with Spring AI and MongoDB Atlas — Part 2: Conversational Memory
Table of Contents The Problem with Stateless ChatWhat We Are BuildingTwo Different Kinds of MemoryMix & MatchShort-Term Memory: Keeping the Conversation CoherentLong-Term Memory: Carrying Knowledge Across SessionsMemory Consolidation: From Conversation to Durable FactThe Advisor Chain and Why Order MattersThe Atlas ...
-
Exploring MongoT (Atlas Search)
Table of Contents Let’s dive in!Simple Example – Text SearchBreakdown Table (for a ~9ms $search aggregation path through MongoT)Local DebuggingSample DataInteresting Example – Faceted Text SearchLucene Indexing Strategy + Benefits over MongoD IndexesVector Search ExampleLocal Grafana MonitoringPerformance Java Code PackagesSo what …
-
Implementing Soft Deletes in Java
Table of Contents What are soft deletes?How can soft deletes be approached?Field FlaggingArchive collectionsImplementation of soft deletesJava driverCode examplesCascading to related collections Cleanup with TTL indexingPros and cons of soft deletesProsConsWrap Up What are soft deletes? Usually, when deleting documents from …
-
Building an AI-Powered Operations Assistant with Spring AI and MongoDB Atlas — Part 1: RAG Foundation
Table of Contents The problemWhat we are buildingWhy RAG and why MongoDB AtlasHow the Pieces Fit TogetherGetting the Project RunningThe Ingestion PipelineThe Retrieval PipelineThe Atlas Vector Search IndexTrying It OutConclusion and What’s Next This is the first article in a …
-
UCanAccess: The Modern Pure-Java Bridge to Microsoft Access
Table of Contents A Brief HistoryWhat Problems Does It Solve?The Disappeared BridgeCross-Platform CompatibilitySeamless Integration for ToolingTech Stack & RequirementsGetting StartedAdd the DependencyConnect and QueryWrite Data BackAccess-Specific FunctionsUber JAR for Non-Maven ProjectsQuality & MaintenanceGet Involved Microsoft Access databases are everywhere. Decades …
-
When Should You Use a Cache With MongoDB?
Table of Contents Why were caches like Memcached & Redis invented, and why do they thrive?So, what’s wrong with having a caching tier?What’s different with MongoDB?What does AI think?SummaryLearn more about MongoDB design reviews From time to time, I’ll run …
-
Large-Scale ETL Pipeline Architecture
Table of Contents Rethinking ETL for modern systemsArchitectural building blocksEmbracing concurrency with reactive pipelinesBackpressure: the hidden heroDesigning for failure: error handling strategiesRetry and recovery patternsIdempotency: the cornerstone of safe retriesBatching vs streamingParallelizing transformationsIntegrating with messaging systemsObservability and monitoringPutting it all …
-
Building a Personalized Content Delivery System
Table of Contents Prerequisites1. Data model2. Project setup3. Building the content-based recommendation engineUserProfileControllerGameRepositoryRecommendationService core logicRecommendationControllerManual test4. User ratings and affinity adjustmentRatings endpointAffinity adjustment logicMongoDB updateBefore and after demo5. Adding Spring AI embeddings and MongoDB Atlas Vector SearchSpring AI setupGenerating embeddingsDataSeeder …
-
Distributed Cache Invalidation Patterns
Table of Contents Why Cache Invalidation Becomes Hard in Distributed SystemsTime-Based Expiration (TTL)The Cache-Aside PatternEvent-Based Cache InvalidationVersioned Cache KeysMulti-Layer CachingEvent-Driven Cache RebuildsChoosing the Right StrategyFinal Thoughts Caching is one of the most powerful tools developers have at their disposal for …
-
CQRS in Java: Separating Reads and Writes Cleanly
Table of Contents What you’ll learnThe Spring standard repositoryCreating separate repositories for the read and writeThe read RepositoryThe write repositoryWhen requirements changeThe double-edged sword of Spring updates in MongoDBIncreased network trafficOplog bloat and replacing documentsConclusionFurther reading What you’ll learn The …
-
Building a Kotlin App with Spring Boot and MongoDB Search
Table of Contents DemonstrationPre-requisitesWhat is MongoDB Search?Load sample datasetCreating the MongoDB Search indexTesting our index in MongoDB CompassBuilding a Kotlin applicationCreating the projectAdding MongoDB driver dependencyEstablishing a connectionCreating the repositoryCreating a serviceCreating a controllerFinal application structureApplication structureRunning the applicationConclusion One …